From owner-freebsd-net@FreeBSD.ORG Sat Jul 11 08:17:11 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 244BA106566B for ; Sat, 11 Jul 2009 08:17:11 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id E82A48FC08 for ; Sat, 11 Jul 2009 08:17:10 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 5F4203B0974; Sat, 11 Jul 2009 04:17:10 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute2.internal (MEProxy); Sat, 11 Jul 2009 04:17:10 -0400 X-Sasl-enc: IyJmwHAT7qnaENQ/WG1ZSeWVNg2Obt0hpoBY1xZIqNJi 1247300230 Received: from anglepoise.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id CD44A56A9; Sat, 11 Jul 2009 04:17:09 -0400 (EDT) Message-ID: <4A5849E5.90909@incunabulum.net> Date: Sat, 11 Jul 2009 09:14:29 +0100 From: Bruce Simpson User-Agent: Thunderbird 2.0.0.22 (X11/20090626) MIME-Version: 1.0 To: iprebeg@freebsd.org References: <20090711073647.GA1824@valeria.zesoi.fer.hr> In-Reply-To: <20090711073647.GA1824@valeria.zesoi.fer.hr> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: jfv@FreeBSD.org, freebsd-net@freebsd.org Subject: Re: em driver doesn't set multicast ethernet address X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jul 2009 08:17:11 -0000 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). 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. 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? thanks, BMS