MLD reports can't be received with IPPROTO_ICMPV6 sockets on the host joining the multicast group

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

 



Hi,
when experimenting with the IPv6 multicast routing daemon mrd6,
I've found an issue that makes it impossible for the daemon to
see listeners on the host the daemon is running on.

When joining the multicast group, the kernel sends MLD reports
to ff02::16 on the interface used for multicast. mrd6 uses a
socket (PF_INET6, SOCK_RAW, IPPROTO_ICMPV6) to receive
MLD reports, and although it joins the multicast group ff02::16,
it can only receive reports sent by other hosts, while the reports
from the router host are sent out, but aren't received by the socket.

I also don't receive the reports with a socket (PF_PACKET, SOCK_DGRAM,
htons(ETH_P_IPV6)),
but it works with ETH_P_ALL; filtering all packets in userspace would be
very much overhead, of course...

A related issue is that the router host doesn't respond to the MLD queries
that mrd6 sends periodically to ff02::1. This doesn't only cause problems
for mrd6, but is also inconsistent with the behaviour of the kernel
responding
to ICMP echo requests to ff02::1 on the local host.

Matthias Schiffer

Attachment: signature.asc
Description: OpenPGP digital signature


[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