Date: Mon, 29 Mar 2004 11:12:24 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: "Jacob S. Barrett" <jbarrett@amduat.net> Cc: freebsd-net@FreeBSD.org Subject: Re: Disabling VLAN_HWTAGGING Message-ID: <20040329081224.GC70021@ip.net.ua> In-Reply-To: <200403270848.37996.jbarrett@amduat.net> References: <200403251118.40718.jbarrett@amduat.net> <20040327074205.GA32984@ip.net.ua> <200403270753.53476.jbarrett@amduat.net> <200403270848.37996.jbarrett@amduat.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Sat, Mar 27, 2004 at 08:48:37AM -0800, Jacob S. Barrett wrote: > On Saturday 27 March 2004 07:53 am, Jacob S. Barrett wrote: > > Well with a new "correct" MAC that pings go back and forth just fine now. > > I will back out all my changes and see if they still work with the hardware > > tagging/detagging enabled. > > OK, with the hardware support re-enabled the frame now enters the driver. It > is detected as VLAN frame and sent to VLAN_INPUT_TAG. The frame is then > delivered via lower hook to the ng_vlan where it doesn't match the vlan tag > so it goes out the nomatch hook. I guess with the VLAN tag stripped from the > frame that ng_vlan can't match it. Is this the expected behavior with > ng_vlan? I can just comment out the VLAN stripping line in the driver if it > is the expected behavior. That isn't a big deal really. > No, this is not of course expected. Can you add some debug printfs in the ng_vlan.c:ng_vlan_rcvdata() and see if it ever receives the VLAN tag, and if so, print its value (perhaps the tag is entered by a driver in a network byte order). > I haven't done a whole lot with the network interface drivers other than a few > minor fixes here and there, but would it be hard to add some sort of flag to > enable/disable the tag stripping via ifconfig? I was thinking that could be > down through a "linkx" flag right? If the driver got the say "link1" it > would down the interface, set clear the stripping config bits, and then re-up > the interface. Or would this be better handled by a sysctl option? Does > that sound safe and do-able? > Well, for IP/TCP/UDP checksumming, it's possible to switch the corresponding bit in the interface's enabled capabilities field. OTOH, switching VLAN stripping on/off requires reprogramming of the hardware. Generally, if the hardware supports IP/TCP/UDP checksumming and or VLAN tag removal/insertion, it's better to use it. We'd better find the root of the problem and fix it. ;) Cheers, -- Ruslan Ermilov ru@FreeBSD.org FreeBSD committer [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAZ9poUkv4P6juNwoRAoh/AJ9cjaW4Kw8N0rx0OaZOSl7z1cYNMACfQM7C VNQoigAaEV7HB4JWaR/PCuU= =E3Ey -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040329081224.GC70021>
