multicast packet delivery: filtered by interface?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When a socket joins a multicast group, the structure that is passed to
the Linux kernel includes a network interface. Is this interface only
used by the kernel to decide which interface to use to issue the IGMP
join, or is it also used by the kernel when a packet arrives to decide
whether or not a socket gets a copy of the packet? For example:

socket s0 joins a multicast group on interface eth0.
socket s1 joins the same multicast group on interface eth1.
Someone publishes a packet to the multicast group.

The driver for eth0 delivers the packet to the kernel. Does the kernel
deliver the packet to both socket s0 and s1, or does it consider the
interface through which each socket joined the multicast group, and
therefore only deliver the packet to socket s0?

Similarly, the driver for eth1 delivers the packet to the kernel. Does
the kernel deliver the packet to both socket s0 and s1, or does it
consider the interface through which each socket joined the multicast
group, and therefore only deliver the packet to socket s1?

My experience indicates that in each case, the packet is delivered to
both sockets, so each socket receives two copies of the packet. This
is not what I was expecting.

Thanks,
Jon
--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux