Multicast fails when interface changed

Christopher James (cjames@berkeley.innomedia.com)
Wed, 09 Jan 2002 10:34:53 -0800


We are running an application that uses multicasting
on Linux kernel 2.2.19. The application is
connected to two network interfaces for redundancy
purposes - only one interface is active at a time.
When the application starts up on the first interface,
the application can send and receive multicast messages.
We then use ifconfig to bring down the first interface,
and use ifconfig to bring up the second interface. The application
works with the exception that it cannot receive multicast
packets (it can still send multicast packets).

It appears that the multicast information is not propagated
when switching from one interface to the other. After
the switch, the information in /proc/dev/mcast is still set
up to work with the first interface. Also, it looks like the
device list of multicast information (checked by calling
ip_check_mc()) is lost when switching from the first to
second interface.

Is there a fix or work around to keep multicasting working
when switching from one interface to another? We looked
at the 2.4 kernel and it appears that it will have the same problem.

Also, if there is no fix or patch, we are considering whether
we should come up with a kernel patch. If we submitted a kernel
patch that propagates the multicast information when the
interface is changed, would it be accepted into the kernel?

I am not on the list so please CC with any answers/comments.

Thanks.

Christopher
:.˛mkabzwmb˛mbz_^nrzh&zzޗ++zfh~iz_j:+v)ߣmSy杶ii