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]"