freebsd-dev/sys/net
Andre Oppermann 78ba57b9e1 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
2006-09-17 13:33:30 +00:00
..
bpf_compat.h
bpf_filter.c Avoid unwanted sign extension of indexed byte load in bpf code. 2006-05-28 20:00:02 +00:00
bpf_jitter.c Add BPF Just-In-Time compiler support for ng_bpf(4). 2005-12-07 21:30:47 +00:00
bpf_jitter.h Add BPF Just-In-Time compiler support for ng_bpf(4). 2005-12-07 21:30:47 +00:00
bpf.c Since bpf_allocbufs() uses malloc() with M_WAITOK, don't check return 2006-08-09 16:30:26 +00:00
bpf.h more juniper dlt's 2006-09-04 19:24:34 +00:00
bpfdesc.h Fix the following bpf(4) race condition which can result in a panic: 2006-06-02 19:59:33 +00:00
bridgestp.c Add the module version to fix the loading with if_bridge. 2006-08-12 20:30:58 +00:00
bridgestp.h Add a callback so we can notify the parent bridge that a port state change has 2006-08-02 02:47:27 +00:00
bsd_comp.c Eliminate MAC entry point mac_create_mbuf_from_mbuf(), which is 2005-07-05 23:39:51 +00:00
ethernet.h
fddi.h - Make IFP2ENADDR() a pointer to IF_LLADDR() rather than another 2005-11-11 07:36:14 +00:00
firewire.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_arc.h Use ANSI C function protypes and declarations for if_arcsubr. 2006-04-12 07:44:31 +00:00
if_arcsubr.c Use ANSI C function protypes and declarations for if_arcsubr. 2006-04-12 07:44:31 +00:00
if_arp.h - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
if_atm.h Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_atmsubr.c There is a consensus that ifaddr.ifa_addr should never be NULL, 2006-06-29 19:22:05 +00:00
if_bridge.c Rearrange things so that ARP packets can be filtered or rate limited with IPFW. 2006-09-17 08:20:56 +00:00
if_bridgevar.h Add some statistics that are needed to support RFC4188 as part of the SoC2006 2006-07-31 20:24:46 +00:00
if_clone.c Revise network interface cloning to take an optional opaque 2006-07-09 06:04:01 +00:00
if_clone.h Revise network interface cloning to take an optional opaque 2006-07-09 06:04:01 +00:00
if_disc.c Revise network interface cloning to take an optional opaque 2006-07-09 06:04:01 +00:00
if_dl.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
if_ef.c Return mbuf pointer or NULL from ip_fastforward() as the mbuf pointer 2006-01-18 14:24:39 +00:00
if_enc.c Catch up with the revised network interface cloning which takes an optional 2006-07-10 05:24:06 +00:00
if_ethersubr.c Move the bridge hook after the loopback check so that IFF_SIMPLEX is honoured 2006-08-25 20:16:39 +00:00
if_faith.c With exception of the if_name() macro, all definitions in net_osdep.h 2006-08-04 21:27:40 +00:00
if_fddisubr.c Return mbuf pointer or NULL from ip_fastforward() as the mbuf pointer 2006-01-18 14:24:39 +00:00
if_fwsubr.c add missed calls to bpf_peers_present 2006-06-02 23:14:40 +00:00
if_gif.c With exception of the if_name() macro, all definitions in net_osdep.h 2006-08-04 21:27:40 +00:00
if_gif.h Add some initial locking to gif(4). It doesn't covers the whole driver, 2006-01-30 08:39:09 +00:00
if_gre.c With exception of the if_name() macro, all definitions in net_osdep.h 2006-08-04 21:27:40 +00:00
if_gre.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_iso88025subr.c Return mbuf pointer or NULL from ip_fastforward() as the mbuf pointer 2006-01-18 14:24:39 +00:00
if_llc.h Add hooks into the networking layer to support if_bridge. This changes struct 2005-06-05 03:13:13 +00:00
if_loop.c Revise network interface cloning to take an optional opaque 2006-07-09 06:04:01 +00:00
if_media.c - Introduce ifmedia_baudrate(), which returns correct baudrate of the 2006-02-14 12:10:03 +00:00
if_media.h - Add definition for IFM_10G_CX4. 2006-06-02 07:50:58 +00:00
if_mib.c Add a new leaf to the net.link.generic.ifdata.%d sysctl to retrieve 2006-01-04 12:57:09 +00:00
if_mib.h Add a new leaf to the net.link.generic.ifdata.%d sysctl to retrieve 2006-01-04 12:57:09 +00:00
if_ppp.c Revise network interface cloning to take an optional opaque 2006-07-09 06:04:01 +00:00
if_ppp.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
if_pppvar.h Axe ppp_for_tty(). Use tty->t_lsc pointer to store sc. This 2005-08-12 08:27:15 +00:00
if_sl.c Fix the following bpf(4) race condition which can result in a panic: 2006-06-02 19:59:33 +00:00
if_slvar.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_sppp.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_spppfr.c Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_spppsubr.c Correct buffer overflow in the handling of LCP options in ppp(4) 2006-08-23 22:06:08 +00:00
if_stf.c With exception of the if_name() macro, all definitions in net_osdep.h 2006-08-04 21:27:40 +00:00
if_stf.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
if_tap.c Drop a pointless cast of ifp->if_softc to (struct tap_softc *). 2006-07-15 02:13:05 +00:00
if_tap.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
if_tapvar.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_tun.c Add kqueue support to if_tun. Loosely based on if_tap changes. 2006-08-08 19:22:25 +00:00
if_tun.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
if_types.h Add a pseudo interface for packet filtering IPSec connections before or after 2006-06-26 22:30:08 +00:00
if_var.h Improve description of if_capabilities, if_capenable and ifi_hwassist. 2006-09-06 18:06:04 +00:00
if_vlan_var.h Move ethernet VLAN tags from mtags to its own mbuf packet header field 2006-09-17 13:33:30 +00:00
if_vlan.c Move ethernet VLAN tags from mtags to its own mbuf packet header field 2006-09-17 13:33:30 +00:00
if.c Fix the socket option IP_ONESBCAST by giving it its own case in ip_output() 2006-09-06 17:12:10 +00:00
if.h First step of TSO (TCP segmentation offload) support in our network stack. 2006-09-06 21:51:59 +00:00
iso88025.h - Make IFP2ENADDR() a pointer to IF_LLADDR() rather than another 2005-11-11 07:36:14 +00:00
netisr.c - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
netisr.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
pfil.c Somewhat re-factor the read/write locking mechanism associated with the packet 2006-02-02 03:13:16 +00:00
pfil.h define lock.h before rwlock.h for DEBUG_LOCKS 2006-02-02 20:33:10 +00:00
pfkeyv2.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
ppp_comp.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
ppp_deflate.c This patch fixes a problem, which exists if you have IPSEC in your kernel 2006-02-27 16:56:22 +00:00
ppp_defs.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
ppp_tty.c Use new (inline) functions for calls into driver. 2005-10-16 20:44:18 +00:00
radix.c The code in rn_walktree_from() that checks if we backed up too far 2006-02-07 20:25:39 +00:00
radix.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
raw_cb.c raw_disconnect() now disconnects but does not detach the raw pcb. As a 2006-06-02 08:27:15 +00:00
raw_cb.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
raw_usrreq.c Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
route.c Assuming the interface has an address of x.x.x.195, a mask of 2006-06-05 21:20:21 +00:00
route.h - Fill in the correct rtm_index for RTM_ADD and RTM_CHANGE messages. 2006-03-15 19:39:09 +00:00
rtsock.c Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
slcompress.c
slcompress.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
slip.h
zlib.c Forward declare z_errmsg with static linkage since it is defined 2005-09-11 16:13:02 +00:00
zlib.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00