List Info

Thread: Interface index hack in IP_ADD_MEMBERSHIP




Interface index hack in IP_ADD_MEMBERSHIP
country flaguser name
United Kingdom
2007-03-19 09:28:52
Hi,

I plan to get rid of the ugly little ip_multicast_if() hack
in the IP 
stack.=
Before I do, is anyone actually using this?

RFC 3678 specifies a protocol independent API for socket
group 
memberships which allow joins on interfaces referenced by
index. This is 
intended to support IGMPv3 and MLDv2.

Regards,
BMS


_______________________________________________
freebsd-netfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to
"freebsd-net-unsubscribefreebsd.org"

Re: Interface index hack in IP_ADD_MEMBERSHIP
country flaguser name
Russian Federation
2007-03-19 10:28:37
On Mon, Mar 19, 2007 at 02:28:52PM +0000, Bruce M Simpson
wrote:

> I plan to get rid of the ugly little ip_multicast_if()
hack in the IP 
> stack.=
> Before I do, is anyone actually using this?
> 
> RFC 3678 specifies a protocol independent API for
socket group 
> memberships which allow joins on interfaces referenced
by index. This is 
> intended to support IGMPv3 and MLDv2.

I recall that routed and ripd used to utilize something
similar
long time ago. I'm not sure if they have switched to another
API.

Eugene
_______________________________________________
freebsd-netfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to
"freebsd-net-unsubscribefreebsd.org"

Re: Interface index hack in IP_ADD_MEMBERSHIP
country flaguser name
United Kingdom
2007-03-19 11:51:29
Eugene Grosbein wrote:
>
> I recall that routed and ripd used to utilize something
similar
> long time ago. I'm not sure if they have switched to
another API.
>   
You're right -- this would break routed on point-to-point
interfaces.

They didn't, unless it was updated at the upstream, i.e.
rhyolite.com.

This means that the RFC1724 hack can't be safely deprecated
without 
breaking this use case, until routed is updated to use the
RFC 3678 
protocol-independent ASM API.

Linux uses a slightly different technique to work-around
this; ip_mreq 
is expanded to ip_mreqn internally, and the interface index
is 
explicitly passed around in the kernel.

The blocker in the FreeBSD case which prevents us simply
adopting this 
is the source interface selection logic in ip_output().

Regards,
BMS
_______________________________________________
freebsd-netfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to
"freebsd-net-unsubscribefreebsd.org"

Re: Interface index hack in IP_ADD_MEMBERSHIP
country flaguser name
Russian Federation
2007-04-17 06:48:44
On Tue, Apr 10, 2007 at 06:35:39AM +0100, Bruce M Simpson
wrote:
> Yar Tikhiy wrote:
> >Quagga still uses it, too, if its configure script
detects FreeBSD
> >or NetBSD.  I'm afraid it was me who submitted the
patch to the
> >Quagga folks when I'd found that Quagga's ospfd
couldn't handle
> >unnumbered P2P interfaces in FreeBSD because their
local IPs weren't
> >unique.  Unfortunately, Quagga doesn't seem to use
the protocol
> >independent part of the RFC 3678 API yet.
> >  
> 
> A preliminary patch for the Rhyolite.com routed is
available at:
>    http://people.freebsd.org/~bms/dump/routed.rfc3678.diff
> 
> The upcoming rewrite of IPv4 multicast host-mdoe logic
(currently in 
> bms_netdev) adds support for the Linux-derived 'struct
ip_mreqn' for 
> specifying interface indexes to IP_MULTICAST_IF. The
RFC 3678 API is 
> implemented; IGMPv3 and MLDv2 may be hooked in later on
subject to 
> available resources.
> 
> The RFC 1724 hack has been completely removed from the
kernel in this 
> spin. The new code passes the existing regression tests
for any-source 
> multicast. I hope to have source-specific multicast
regression tests in 
> the main tree ASAP, I am very close to a code drop.
> 
> Whilst the radical approach of rewriting this stuff may
break legacy 
> applications, they should probably be updated to
support the new APIs 
> anyway, given that Linux 2.6 and Microsoft Windows
"Longhorn" both 
> support RFC 3678.

By the way, what was so wrong with the RFC 1724 hack that it
had
to be removed?  I'm by no means insisting on it, just
curious.
Thanks!

-- 
Yar
_______________________________________________
freebsd-netfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to
"freebsd-net-unsubscribefreebsd.org"

[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )