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



_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to