[lkml]   [2003]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: IGMP problem with 2.5 kernels

On Monday, 3 March 2003, Richard B. Johnson wrote:
> Did you try to use bind() to bind your socket to a specific interface?
> Using `route` to obtain side-effects is not the correct way. The
> application needs to bind the socket to a specific interface if the
> applications requires a specific interface (which you seem to
> require). Otherwise, the first interface found will be used as the
> default. If you can't rebuild the programs, you might work- around the
> problem by modifying start-up so that your ethernet interfaces are
> started before loop-back.
> You can expriment without rebooting...
> Remove all routing entries first.
> route del -default xxx
> route del -net xxx, etc.
> `ifconfig eth0 down`
> `ifconfig lo down`
> Completely reconfigure eth0 first....
> Then configure lo.
> If you don't remove all the routing entries first, you don't really
> end up with a new configuration. Something 'remembers' and the order
> of entries doesn't get changed.

I have tried both your method and also booting Linux without any
interfaces enabled, then enable eth0 and after that also lo.

When only eth0 was enabled, I got the following error from sdr:
pangsit:~> sdr
setsockopt - IP_ADD_MEMBERSHIP: No such device
setsockopt - IP_ADD_MEMBERSHIP: No such device
sd_listen: setsockopt IP_ADD_MEMBRSHIP err, addr:

I can send strace if this helps.

This is the same problem I see with other multicast applications. It
really doesn't want to bind to the ethernet interface.
pangsit:~> ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:08:74:22:48:CF
inet addr: Bcast: Mask:
inet6 addr: 2001:610:508:109:208:74ff:fe22:48cf/64 Scope:Global
inet6 addr: fe80::208:74ff:fe22:48cf/64 Scope:Link
RX packets:32863 errors:0 dropped:0 overruns:1 frame:0
TX packets:150 errors:0 dropped:0 overruns:0 carrier:1
collisions:0 txqueuelen:100
RX bytes:16213097 (15.4 MiB) TX bytes:16428 (16.0 KiB)
Interrupt:11 Base address:0xec80

After bringing up the loopback interface again the applications binds to
this interface.

-- Niels
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:33    [W:0.038 / U:4.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site