Subject: [magma] RE: getsockopt for full-state source filter API

From: "Dave Thaler" <[email-masked]>
Date: Mon, 13 Jan 2003 10:30:15 -0800

> -----Original Message-----
> From: Bill Fenner [mailto:[email-masked]]
> Sent: Sunday, January 12, 2003 2:08 PM
> To: [email-masked]
> Cc: Dave Thaler; [email-masked]; [email-masked]; [email-masked];
> [email-masked]; [email-masked]; [email-masked]
> Subject: Re: getsockopt for full-state source filter API
> 
> >    After exchanging a few emails with Linux kernel maintainters for
> network
> >code, I realised that they too preferred getsockopt & setsockopt for
> full-
> >state API over ioctls.
> 
> This is a Linux implementation detail.  The implementation of
getsockopt()
> in BSD 4.4 and earlier did not pass the user data to the protocol
layer,
> so the only information the protocol layer can be guaranteed to have
> is the optname (e.g. IP_ADD_MEMBERSHIP).  Thus, a portable API cannot
> assume that the data in the buffer the user passed to getsockopt() is
> available to the protocol.
> 
> We considered using setsockopt() for setting the full-state, and
ioctl()
> for retrieving the full-state, but decided that it would be better to
> have a consistent set/get API.  Since getsockopt()'s limitations
required
> us to use ioctl() for get, we use ioctl() for set too.
> 
>   Bill

I'll second what Bill says.  The getsockopt buffer is not available in
other OS's besides BSD too.  Hence getsockopt could be used for a Linux-
specific API, but it is not appropriate for use in the portable api
specified in the draft.

-Dave
_______________________________________________
magma mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/magma

---

From: "Konstantin KABASSANOV" <[email-masked]>
Date: Mon, 13 Jan 2003 19:57:22 +0100

I entirely agree with Dave and Bill.

Konstantin

_____________________________________________________

Konstantin K. KABASSANOV 
Research and Development Engineer

LIP6 Laboratory
Pierre and Marie Curie University

8, rue du Capitaine Scott,
75015 Paris, France

Phone: +33 (0) 1 44 27 71 26
Fax:   +33 (0) 1 44 27 74 95

E-mail: [email-masked]
Web: http://www.kabassanov.com
______________________________________________________

> From: [email-masked] [mailto:[email-masked]] On Behalf Of
Dave
> Thaler
> Sent: lundi 13 janvier 2003 19:30
> To: Bill Fenner; [email-masked]
> Cc: [email-masked]; [email-masked]; [email-masked];
[email-masked];
> [email-masked]; [email-masked]
> Subject: [magma] RE: getsockopt for full-state source filter API
>

---

From: "Konstantin KABASSANOV" <[email-masked]>
Date: Mon, 13 Jan 2003 19:57:22 +0100

Konstantin

Konstantin K. KABASSANOV 

LIP6 Laboratory

Dave
[email-masked];

---

From: Isidor Kouvelas <[email-masked]>
Date: Mon, 13 Jan 2003 11:10:50 -0800

Me too.

Isidor

---

From: Isidor Kouvelas <[email-masked]>
Date: Mon, 13 Jan 2003 11:10:50 -0800

Me too.

Isidor

---

From: Toerless Eckert <[email-masked]>
Date: Mon, 13 Jan 2003 11:27:01 -0800

> Me too.

Yes, i also don't have problems with this. 

As already mentioned: I would appreciate a note in an appendix of the
draft about this situation. If deemed necessary, that note could contain
a hint that individual operating systems that do not have a problem with this
getsockopt() API are of course free to ALSO add an API based on that
(more cleaner) getsockopt() API (of course they always MUST support the
ioctl() version).  

If later on some standardisation committe feels that it wants to promote
the getsockopt() version that's fine, but remember the goals: The
MSF API RFC is intended to promote the ability to use the (IGMPv3) MSF
and make it easy enough to implement. The discussion about getsockopt()
is a "cleansyness" discussion of operating system designers with a
particularily narrow view into one or two operating system (which i'd 
love to endorse by the way, but for me that's just a secondary priority).

Cheers
	Toerless

-- 
Thanks
   Toerless Eckert

---

From: Toerless Eckert <[email-masked]>
Date: Mon, 13 Jan 2003 11:27:01 -0800

Cheers
	Toerless

-- 
Thanks
   Toerless Eckert

---

From: Andi Kleen <[email-masked]>
Date: Mon, 13 Jan 2003 20:41:49 +0100

> (more cleaner) getsockopt() API (of course they always MUST support the

I don't think it would be a good idea for anybody to provide alternative
APIs for this - you would get some set of programs who need porting to run 
on some set of OS. Better stick to a single choice, whatever it is.

-Andi

---

From: Andi Kleen <[email-masked]>
Date: Mon, 13 Jan 2003 20:41:49 +0100

-Andi