svn commit: r274374 - head/sys/net
Gleb Smirnoff
glebius at FreeBSD.org
Tue Nov 11 10:22:35 UTC 2014
Author: glebius
Date: Tue Nov 11 10:22:33 2014
New Revision: 274374
URL: https://svnweb.freebsd.org/changeset/base/274374
Log:
Move struct ether_vlan_header to ethernet.h, out of if_vlan_var.h,
since this structure is protocol definition, not part of implementation.
Modified:
head/sys/net/ethernet.h
head/sys/net/if_vlan_var.h
Modified: head/sys/net/ethernet.h
==============================================================================
--- head/sys/net/ethernet.h Tue Nov 11 08:00:49 2014 (r274373)
+++ head/sys/net/ethernet.h Tue Nov 11 10:22:33 2014 (r274374)
@@ -73,6 +73,25 @@ struct ether_addr {
#define ETHER_IS_MULTICAST(addr) (*(addr) & 0x01) /* is address mcast/bcast? */
/*
+ * 802.1q Virtual LAN header.
+ */
+struct ether_vlan_header {
+ uint8_t evl_dhost[ETHER_ADDR_LEN];
+ uint8_t evl_shost[ETHER_ADDR_LEN];
+ uint16_t evl_encap_proto;
+ uint16_t evl_tag;
+ uint16_t evl_proto;
+} __packed;
+
+#define EVL_VLID_MASK 0x0FFF
+#define EVL_PRI_MASK 0xE000
+#define EVL_VLANOFTAG(tag) ((tag) & EVL_VLID_MASK)
+#define EVL_PRIOFTAG(tag) (((tag) >> 13) & 7)
+#define EVL_CFIOFTAG(tag) (((tag) >> 12) & 1)
+#define EVL_MAKETAG(vlid, pri, cfi) \
+ ((((((pri) & 7) << 1) | ((cfi) & 1)) << 12) | ((vlid) & EVL_VLID_MASK))
+
+/*
* NOTE: 0x0000-0x05DC (0..1500) are generally IEEE 802.3 length fields.
* However, there are some conflicts.
*/
Modified: head/sys/net/if_vlan_var.h
==============================================================================
--- head/sys/net/if_vlan_var.h Tue Nov 11 08:00:49 2014 (r274373)
+++ head/sys/net/if_vlan_var.h Tue Nov 11 10:22:33 2014 (r274374)
@@ -32,22 +32,6 @@
#ifndef _NET_IF_VLAN_VAR_H_
#define _NET_IF_VLAN_VAR_H_ 1
-struct ether_vlan_header {
- u_char evl_dhost[ETHER_ADDR_LEN];
- u_char evl_shost[ETHER_ADDR_LEN];
- u_int16_t evl_encap_proto;
- u_int16_t evl_tag;
- u_int16_t evl_proto;
-};
-
-#define EVL_VLID_MASK 0x0FFF
-#define EVL_PRI_MASK 0xE000
-#define EVL_VLANOFTAG(tag) ((tag) & EVL_VLID_MASK)
-#define EVL_PRIOFTAG(tag) (((tag) >> 13) & 7)
-#define EVL_CFIOFTAG(tag) (((tag) >> 12) & 1)
-#define EVL_MAKETAG(vlid, pri, cfi) \
- ((((((pri) & 7) << 1) | ((cfi) & 1)) << 12) | ((vlid) & EVL_VLID_MASK))
-
/* Set the VLAN ID in an mbuf packet header non-destructively. */
#define EVL_APPLY_VLID(m, vlid) \
do { \
More information about the svn-src-all
mailing list