Date: Sat, 11 Jul 2009 11:27:53 +0200 From: iprebeg@freebsd.org To: Bruce Simpson <bms@incunabulum.net> Cc: freebsd-net@freebsd.org Subject: Re: em driver doesn't set multicast ethernet address Message-ID: <20090711092753.GA9630@valeria.zesoi.fer.hr> In-Reply-To: <4A5849E5.90909@incunabulum.net> References: <20090711073647.GA1824@valeria.zesoi.fer.hr> <4A5849E5.90909@incunabulum.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Sat, Jul 11, 2009 at 09:14:29AM +0100, Bruce Simpson wrote: > iprebeg@freebsd.org wrote: >> While testing -CURRENT in VMWare environment, I discovered that em >> driver doesn't properly set destination address in Ethernet header. In >> the other words, when I start listening multicast session with mcastread >> (mcast-tools), kernel triggers IGMPv3 packet. Its destionation IP is >> 224.0.0.22, but its destionation Ethernet address doesn't look like >> 01:00:5e:... Other machines that I run in same environment (like >> FreeBSD-7) behave in good manner. >> > > It seems that the introduction of IGMPv3 may have exposed some > driver/hardware issues, where certain network interfaces are not able to > transmit on groups which haven't been joined for receive. This is a bug, > and would likely break production use of IPv6, which makes heavier use of > link-scope groups than IPv4 does. > > Can you provide the following information please, so that someone can > better help you: > 1) the date of the -CURRENT code you are using; > 2) tcpdump or wireshark capture output, containing the actual output > generated by em(4). 1) Problem emerged after I upgraded to BETA1 and stayed there after I upgraded to p4 version dated 10th of July. Before that I used few months old snapshot (can't exactly tell the date). 2) dump file generated by wireshark is attached > > Does this issue occur if you use the 'mtest' tool to join 224.0.0.22 inside > the guest? The kernel will *not* listen to 224.0.0.22, unless you're > running a multicast routing daemon -- as it doesn't have to; that > link-scope group is for reports only. There is no difference, ethernet destination is still usual unicast address. > > This issue doesn't appear with IGMPv2, because it only ever transmits its > reports on the group thus joined. This has the disadvantage that multicast > routers have to have functioning promiscuous multicast receive, just to > proxy or forward traffic. > > Can you force the use of IGMPv2 using the sysctls as defined in the igmp(4) > man page as a workaround? Well, now, something really interesting happened. I changed default IGMP version via sysctl # sysctl net.inet.igmp.default_version=2 but, then I tested it with mtest and generated packets were still IGMPv3 Membership reports, but first two of them had proper mcast ethernet address. They generated sent by mtest. > > thanks, > BMS > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" [-- Attachment #2 --] ò VJ <
