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 ...

Andre Oppermann andre at freebsd.org
Sun Sep 17 12:54:16 PDT 2006


Julian Elischer wrote:
> 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?

The moment this need arises I'm happy to discuss/do this.

-- 
Andre

> 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