Skip site navigation (1)Skip section navigation (2)
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<<!)UL)F,@R
"
VJG
<<!)UL)F,@Q
"
qVJ<<!)UL)F(@Q
"rVJG<<!)UL)F(@P
"ڏVJMD..^)j~F Q
ۏVJx	..^)j~F R
VJ..^)j~F S
VJ7..^)j~F 
VJ^..^)j~F 
VJG2..^)j~F 
VJB	..^)j~F 
VJTf..^)j~F 
"VJx..^)j~F 
"VJud..^)j~F 
"VJ.	..^)j~F 
#VJ..^)j~F 
&VJ@..^)j~F y
&VJ,..^)j~F 
'VJ}..^)j~F e
'VJL	..^)j~F Z
(VJC..^)j~F [
(VJ3..^)j~F I
)VJˢ..^)j~F 3
)VJR..^)j~F 4
)VJy
..^)j~F 
-
qVJ..^)j~F /
uVJ&..^)j~F 0
zVJc..^)j~F 1
~VJz**)j~)j~

~VJ<<)j~))
)j~
VJ<<))

VJ,**))j~)j~
)
VJ<<))

VJ
**)j~)j~

VJY
<<!)UL)F,@
"
VJf<<!)UL)F,@
"
VJ<<!)UL)F(@
"VJ9<<!)UL)F(@
"VJ..^)j~F `
VJ...^)j~F a
KVJR	..^)j~F 
͸VJ$<<))

͸VJ%**))j~)j~
)
ϸVJ%<<!)UL)F,@;
"
иVJJ<<!)UL)F,@:
"
VJ
<<!)UL)F(@<
"VJMC<<!)UL)F(@9
"VJ.<<!)UL)F(@
"VJL<<!)UL)F(@
"VJЭ<<!)UL)F(@
"VJd<<!)UL)F(@
"BVJ4>>^)F0@
"BVJP>>^)F0
@
"^VJ$<<^)F(R@إ
"`VJq<<^)F(S@ؤ
"VJ(<<^)F(W@ؠ
"VJ<<^)F(Y@؞
"VJ<<^)F(@x
"VJ
<<^)F(@w
"VJ<<!)UL)F(@m
"VJ<<<!)UL)F(@g
"VJ	<<!)UL)F, @>
"
VJ0<<!)UL)F, @=
"
VJ<<<!)UL)F( @=
"VJՍ<<!)UL)F( @<
"VJ<<!)UL)F( @ 
"VJ'
<<!)UL)F( @
"VJ
<<!)UL)F( @
"VJ
<<!)UL)F( @
"VJ>:<<))

VJ;**))j~)j~
)
VJ'<<))

VJ**))j~)j~
)
VJl<<))


VJ**))j~)j~
)
VJwX<<))


VJY**))j~)j~
)
VJG
<<))


VJa
**))j~)j~
)
VJB4
<<))


VJ{5
**))j~)j~
)
VJ<<))


VJ**))j~)j~
)
VJP 	<<))


VJ!	**))j~)j~
)
VJ8
<<))


VJ9
**))j~)j~
)
VJ7<<))


VJ8**))j~)j~
)
VJ<<!)UL)F,BC@
"
VJ<<!)UL)F,BD@
"
VJ<<!)UL)F(BH@
"VJ<<!)UL)F(BI@
"VJUN<<!)UL)F(B@)
"VJ!<<!)UL)F(B@(
"

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090711092753.GA9630>