cvs commit: src/sys/dev/bce if_bce.c src/sys/dev/bge if_bge.c src/sys/dev/em if_em.c src/sys/dev/ixgb if_ixgb.c src/sys/dev/nfe if_nfe.c src/sys/dev/nge if_nge.c src/sys/dev/re if_re.c src/sys/dev/stge if_stge.c src/sys/dev/ti if_ti.c src/sys/dev/txp ...

Julian Elischer julian at elischer.org
Sun Sep 17 10:58:02 PDT 2006


As I mentioned before,  I am slightly uncomfortable with the 
implementation of this
change as it puts protocol specific items into the protocol independent 
mbuf header.
The fact that 99.99% of network traffic coming in and out of  a machine 
uses this protocol
at the the moment makes it understandable but if in 2 years a new 
transport mechanism sweeps
the world for which this is irrelevent, or worse, has a different 
requirement for similar fields,
are we going to add fields for that too? should this be defined as a 
link layer specific union for
which we can add future variants?


Andre Oppermann wrote:

>andre       2006-09-17 13:33:30 UTC
>
>  FreeBSD src repository
>
>  Modified files:
>    sys/dev/bce          if_bce.c 
>    sys/dev/bge          if_bge.c 
>    sys/dev/em           if_em.c 
>    sys/dev/ixgb         if_ixgb.c 
>    sys/dev/nfe          if_nfe.c 
>    sys/dev/nge          if_nge.c 
>    sys/dev/re           if_re.c 
>    sys/dev/stge         if_stge.c 
>    sys/dev/ti           if_ti.c 
>    sys/dev/txp          if_txp.c 
>    sys/dev/vge          if_vge.c 
>    sys/net              if_vlan.c if_vlan_var.h 
>    sys/net80211         ieee80211_input.c ieee80211_output.c 
>    sys/netgraph         ng_vlan.c 
>    sys/sys              mbuf.h 
>  Log:
>  Move ethernet VLAN tags from mtags to its own mbuf packet header field
>  m_pkthdr.ether_vlan.  The presence of the M_VLANTAG flag on the mbuf
>  signifies the presence and validity of its content.
>  
>  Drivers that support hardware VLAN tag stripping fill in the received
>  VLAN tag (containing both vlan and priority information) into the
>  ether_vtag mbuf packet header field:
>  
>          m->m_pkthdr.ether_vtag = vlan_id;       /* ntohs()? */
>          m->m_flags |= M_VLANTAG;
>  
>  to mark the packet m with the specified VLAN tag.
>  
>  On output the driver should check the mbuf for the M_VLANTAG flag to
>  see if a VLAN tag is present and valid:
>  
>          if (m->m_flags & M_VLANTAG) {
>                  ... = m->m_pkthdr.ether_vtag;   /* htons()? */
>                  ... pass tag to hardware ...
>          }
>  
>  VLAN tags are stored in host byte order.  Byte swapping may be necessary.
>  
>  (Note: This driver conversion was mechanic and did not add or remove any
>  byte swapping in the drivers.)
>  
>  Remove zone_mtag_vlan UMA zone and MTAG_VLAN definition.  No more tag
>  memory allocation have to be done.
>  
>  Reviewed by:    thompsa, yar
>  Sponsored by:   TCP/IP Optimization Fundraise 2005
>  
>  Revision  Changes    Path
>  1.8       +4 -7      src/sys/dev/bce/if_bce.c
>  1.146     +4 -6      src/sys/dev/bge/if_bge.c
>  1.145     +7 -12     src/sys/dev/em/if_em.c
>  1.20      +13 -4     src/sys/dev/ixgb/if_ixgb.c
>  1.5       +5 -16     src/sys/dev/nfe/if_nfe.c
>  1.89      +5 -8      src/sys/dev/nge/if_nge.c
>  1.75      +6 -9      src/sys/dev/re/if_re.c
>  1.3       +6 -6      src/sys/dev/stge/if_stge.c
>  1.125     +4 -7      src/sys/dev/ti/if_ti.c
>  1.42      +4 -7      src/sys/dev/txp/if_txp.c
>  1.26      +5 -8      src/sys/dev/vge/if_vge.c
>  1.115     +5 -17     src/sys/net/if_vlan.c
>  1.25      +16 -39    src/sys/net/if_vlan_var.h
>  1.95      +2 -10     src/sys/net80211/ieee80211_input.c
>  1.43      +2 -3      src/sys/net80211/ieee80211_output.c
>  1.4       +8 -8      src/sys/netgraph/ng_vlan.c
>  1.196     +1 -4      src/sys/sys/mbuf.h
>  
>


More information about the cvs-src mailing list