Take the 2-minute tour ×

I have a Linux server with 2 1Gb network interfaces eth1 and eth2. If I start 2 clients listening to the same multicast address and each client connects through a different NIC (say client 1 listens to the multicast through eth1 and client 2 through eth2), then client 2 gets duplicate UDP packets.

If both clients use the same interface eth1 on the other hand, both clients work fine.

I have already tried to set arp_filter and proxy_arp to 1 (arp flux issue) but it hasn't solved the issue. Is this a Linux kernel problem? Or is there another way to setup the interfaces correctly?

share|improve this question

1 Answer 1

It's because multicast listens once per interface. Each interface subscribing to a particular multicast address will receive the packet.

Without more info on what you're trying to do and why, I guess I would just say "don't do that".

share|improve this answer
I want to be able to run multiple UDP listener programs to the same broadcast on both NICs. Is that such an unusual issue? We have several clients working on the same data stream and need to use both interfaces to optimize the use of the network card. –  Robert Kubrick Feb 1 '11 at 14:34
It's not particularly unusual. However, it is normal to receive the same packet on both interfaces. –  bahamat Feb 1 '11 at 20:12
Have you considered using ethernet bonding, rather then trying to load balance this yourself? –  devicenull Apr 12 '11 at 1:36

Your Answer


