From owner-freebsd-net@FreeBSD.ORG Fri Mar 26 23:42:17 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 78B4D16A4CF for ; Fri, 26 Mar 2004 23:42:17 -0800 (PST) Received: from tigra.ip.net.ua (tigra.ip.net.ua [82.193.96.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 00F3F43D45 for ; Fri, 26 Mar 2004 23:42:16 -0800 (PST) (envelope-from ru@ip.net.ua) Received: from heffalump.ip.net.ua (heffalump.ip.net.ua [82.193.96.213]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id i2R7jFsd059208 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 27 Mar 2004 09:45:16 +0200 (EET) (envelope-from ru@ip.net.ua) Received: (from ru@localhost) by heffalump.ip.net.ua (8.12.11/8.12.11) id i2R7g5WF033025; Sat, 27 Mar 2004 09:42:05 +0200 (EET) (envelope-from ru) Date: Sat, 27 Mar 2004 09:42:05 +0200 From: Ruslan Ermilov To: "Jacob S. Barrett" Message-ID: <20040327074205.GA32984@ip.net.ua> References: <200403251118.40718.jbarrett@amduat.net> <20040325234527.GC85417@ip.net.ua> <200403261844.52324.jbarrett@amduat.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="bg08WKrSYDhXBjb5" Content-Disposition: inline In-Reply-To: <200403261844.52324.jbarrett@amduat.net> User-Agent: Mutt/1.5.6i X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) cc: freebsd-net@freebsd.org Subject: Re: Disabling VLAN_HWTAGGING X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 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, 27 Mar 2004 07:42:17 -0000 --bg08WKrSYDhXBjb5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Mar 26, 2004 at 06:44:52PM -0800, Jacob S. Barrett wrote: > I did a little more debugging and placed some printf statements before an= d=20 > after: > /* > * If we received a packet with a vlan tag, pass it > * to vlan_input() instead of ether_input(). > */ > if (extsts & NGE_RXEXTSTS_VLANPKT) { > VLAN_INPUT_TAG(ifp, m, > extsts & NGE_RXEXTSTS_VTCI, continue); > } >=20 > What I found is that VLAN tagged frames sent to the interface never get t= o=20 > this line at all. I figured the NIC must be droping it or something befo= re=20 > it even gets to the driver. So I commented out the following line: > /* > * Tell the chip to detect and strip VLAN tag info from > * received frames. The tag will be provided in the extsts > * field in the RX descriptors. > */ > NGE_SETBIT(sc, NGE_VLAN_IP_RXCTL, > NGE_VIPRXCTL_TAG_DETECT_ENB|NGE_VIPRXCTL_TAG_STRIP_ENB); >=20 >=20 > Now the driver gets the frame but the conditional about is false, presuma= ble=20 > because I comment out that line which says it will detect and set the ext= sts. =20 > It does however get delivered to the ng lower hook and therefor the ng_vl= an=20 > gets it. The ng_eiface tied to vlan2 replies to the arp requests. Stran= gely=20 > though when an ICMP ping request gets to ng_eiface it ignores it. >=20 > 02:27:16.658526 0:90:27:f4:58:1d ff:ff:ff:ff:ff:ff 0806 56: arp who-has= =20 > 10.2.0.1 tell 10.2.0.2 > 02:27:16.658633 11:22:33:44:55:66 0:90:27:f4:58:1d 0806 42: arp reply 10.= 2.0.1=20 > is-at 11:22:33:44:55:66 > 02:27:16.659132 0:90:27:f4:58:1d 11:22:33:44:55:66 0800 98: 10.2.0.2 >=20 > 10.2.0.1: icmp: echo request > 02:27:16.664321 0:90:27:f4:58:1d 11:22:33:44:55:66 0800 98: 10.2.0.2 >=20 > 10.2.0.1: icmp: echo request >=20 > Even more odd, I can ping from the ng_eiface interface and it makes it ta= gged=20 > all the way out and back just fine. The ng_eiface gets the ICMP response = just=20 > fine. >=20 > Does any of this make sense to you? Is there possibly something wrong wi= th=20 > the logic in that detect and stip flag? Am I just a total tool and missi= ng=20 > someting completely obvious here, because it wouldn't be the first time. >=20 I think so. 11:22:33:44:55:66 is the wrong MAC address -- the first octet should be an odd number, otherwise it's treated as a broadcast/multicast. > Does anyone have a 1Gbit fiber NIC that they have tested in and out with = VLAN=20 > tagging that they could recommend. >=20 I'm in the process of obtaining a NIC. Once I get it, I will look into the issue. What's the ``pciconf -lv'' and dmesg(8) outputs corresponding to yo= ur NIC? Also, is it plugged into the 64-bit PCI slot or not? Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --bg08WKrSYDhXBjb5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAZTBNUkv4P6juNwoRAhNXAJ9Aus3mMRfDaxgt7FuhlVBaNNmoIgCfXIyE PHWbiOuPO06vOBMBEM0FdlQ= =LbCp -----END PGP SIGNATURE----- --bg08WKrSYDhXBjb5--