From owner-freebsd-current@FreeBSD.ORG Wed Jul 26 02:22:19 2006 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3A1C016A4DE for ; Wed, 26 Jul 2006 02:22:19 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.177]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7D95143D4C for ; Wed, 26 Jul 2006 02:22:18 +0000 (GMT) (envelope-from pyunyh@gmail.com) Received: by py-out-1112.google.com with SMTP id b36so2609397pyb for ; Tue, 25 Jul 2006 19:22:18 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:from:to:cc:subject:message-id:reply-to:references:mime-version:content-type:content-disposition:in-reply-to:user-agent; b=qPSNOpAJYkrtKUUn/3Tl4Ay6YlRsUTs9W2E11IqvkU5eAZ048ILUAGEZIg8U+L5b9zThZMwepE3agvEsQeVmylCPM0vBEBCxA1XEwG2/ZBUOffffJWm11oAhQ0lj5ww407ziqJyOlHfd/1yjpOJAvcuABgJeX5Z+D0qS9vN88uE= Received: by 10.35.63.2 with SMTP id q2mr10473914pyk; Tue, 25 Jul 2006 19:22:17 -0700 (PDT) Received: from michelle.cdnetworks.co.kr ( [211.53.35.84]) by mx.gmail.com with ESMTP id 19sm1829218nzp.2006.07.25.19.22.15; Tue, 25 Jul 2006 19:22:16 -0700 (PDT) Received: from michelle.cdnetworks.co.kr (localhost.cdnetworks.co.kr [127.0.0.1]) by michelle.cdnetworks.co.kr (8.13.5/8.13.5) with ESMTP id k6Q2MbcJ015501 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 26 Jul 2006 11:22:37 +0900 (KST) (envelope-from pyunyh@gmail.com) Received: (from yongari@localhost) by michelle.cdnetworks.co.kr (8.13.5/8.13.5/Submit) id k6Q2MZsM015500; Wed, 26 Jul 2006 11:22:35 +0900 (KST) (envelope-from pyunyh@gmail.com) Date: Wed, 26 Jul 2006 11:22:35 +0900 From: Pyun YongHyeon To: Ian FREISLICH Message-ID: <20060726022235.GB14991@cdnetworks.co.kr> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i Cc: current@freebsd.org Subject: Re: em promiscuous mode bug? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pyunyh@gmail.com List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Jul 2006 02:22:19 -0000 On Tue, Jul 25, 2006 at 08:07:04AM +0200, Ian FREISLICH wrote: > Hi > > It seems that placing an em(4) interface into promiscuous mode the > card stops doing hardware offload of 802.1Q tagging, in fact, it > stops tagging entirely if vlanhwtag is enabled on the card. > > With vlanhwtag: > 15:40:48.050645 00:00:5e:00:01:02 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800), length 70: (tos 0x10, ttl 255, id 44821, offset 0, flags [DF], proto: VRRP (112), length: 56) 196.30.82.61 > 224.0.0.18: VRRPv2, Advertisement, vrid 2, prio 10, authtype none, intvl 1s, length 36, addrs(7): 157.248.206.115,76.246.42.167,148.235.231.80,70.180.123.113,201.169.28.232,19.31.18.203,59.148.50.175 > > Without vlanhwtag: > 15:40:57.419522 00:00:5e:00:01:02 > 01:00:5e:00:00:12, ethertype 802.1Q (0x8100), length 74: vlan 1001, p 0, ethertype IPv4, (tos 0x10, ttl 255, id 44867, offset 0, flags [DF], proto: VRRP (112), length: 56) 196.30.82.61 > 224.0.0.18: VRRPv2, Advertisement, vrid 2, prio 10, authtype none, intvl 1s, length 36, addrs(7): 157.248.206.115,76.246.42.176,8.148.142.115,171.178.137.11,211.216.40.239,67.124.122.122,253.155.32.152 > > The interface is placed in promiscuous mode by the carp driver. > > em0: flags=8943 mtu 1500 > options=cb > ether 00:04:23:cf:50:00 > media: Ethernet autoselect (1000baseTX ) > status: active > > vlan1001: flags=8943 mtu 1500 > inet 196.30.82.62 netmask 0xfffffff0 broadcast 196.30.82.63 > ether 00:04:23:cf:50:00 > media: Ethernet autoselect (1000baseTX ) > status: active > vlan: 1001 parent interface: em0 > > carp1001: flags=49 mtu 1500 > inet 196.30.82.60 netmask 0xfffffff0 > carp: BACKUP vhid 2 advbase 1 advskew 0 > Hardware VLAN tagging was disabled in em(4) when it operates in promiscuous mode and em(4) will insert a VLAN tag in the driver. I think em(4) does very bad thing regarding VLAN when the NIC is operating in promiscuous mode. At present em(4) can prepend a new mbuf to an existing mbuf chain after loading DMA maps. Since the mbuf chain used on loading DMA maps and VLAN tag inserted mbuf chain is not the same chain, it could result in unexpected result. You may work around it by disabling vlanhwtag. Anyway, the hardware VLAN feature is not used at all when the NIC is in promiscuous mode. > I've also noticed that the re(4) driver on the 8169 chip miss-tags > frames when vlanhwtag is enabled. > -- Regards, Pyun YongHyeon