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 [EMAIL PROTECTED] FreeBSD committer
pgp00000.pgp
Description: PGP signature