cvs commit: src/sys/dev/em if_em.c

John Baldwin jhb at freebsd.org
Fri Sep 29 11:23:58 PDT 2006


On Friday 29 September 2006 09:47, Andre Oppermann wrote:
> andre       2006-09-29 13:47:39 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/dev/em           if_em.c 
>   Log:
>   Remove manual vlan header insertion in em_encap().  It is unnecessary as 
the
>   generic vlan_start() takes care of it when vlan hardware insertion is 
disabled.
>   
>   In em_set_promisc() add a note that BPF may also be enabled without going 
into
>   promisc mode.
>   
>   Reviewed by:    jfv

Umm, you just broke things.  You are still disabling vlan header insertion in 
hardware but you haven't turned off the capability (which you can't do safely 
anyway since you still might have packets in flight that have a vlan tag 
after you turn off the capability) so the generic vlan layer is going to keep 
sending packets with vlan tags.  The more complete patch I had sent to 
Prafulla, Jack, and others stopped disabling vlan tagging in hardware 
altogether and instead is going to require the other parts of the stack (like 
bpf) to handle vlan tags that are in mtag (or in 7.x, in the mbuf header) 
rather than inline in the packet data.

-- 
John Baldwin


More information about the cvs-all mailing list