vlans are a standard part of ethernet now, it makes sense to me to
keep all the protocol level stuff in a single place.
ok?
Index: net/if_vlan_var.h
===================================================================
RCS file: /cvs/src/sys/net/if_vlan_var.h,v
retrieving revision 1.32
diff -u -p -r1.32 if_vlan_var.h
--- net/if_vlan_var.h 3 Mar 2016 09:27:51 -0000 1.32
+++ net/if_vlan_var.h 13 Mar 2016 07:18:16 -0000
@@ -34,21 +34,6 @@
#ifndef _NET_IF_VLAN_VAR_H_
#define _NET_IF_VLAN_VAR_H_
-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_VLANOFTAG(tag) ((tag) & EVL_VLID_MASK)
-#define EVL_PRIOFTAG(tag) (((tag) >> EVL_PRIO_BITS) & 7)
-#define EVL_ENCAPLEN 4 /* length in octets of encapsulation */
-#define EVL_PRIO_MAX 7
-#define EVL_PRIO_BITS 13
-
/* sysctl(3) tags, for compatibility purposes */
#define VLANCTL_PROTO 1
#define VLANCTL_MAX 2
Index: netinet/if_ether.h
===================================================================
RCS file: /cvs/src/sys/netinet/if_ether.h,v
retrieving revision 1.67
diff -u -p -r1.67 if_ether.h
--- netinet/if_ether.h 1 Mar 2016 01:48:14 -0000 1.67
+++ netinet/if_ether.h 13 Mar 2016 07:18:16 -0000
@@ -75,6 +75,27 @@ struct ether_header {
u_int16_t ether_type;
};
+/*
+ * VLAN headers.
+ */
+
+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_VLANOFTAG(tag) ((tag) & EVL_VLID_MASK)
+
+#define EVL_PRIO_MAX 7
+#define EVL_PRIO_BITS 13
+#define EVL_PRIOFTAG(tag) (((tag) >> EVL_PRIO_BITS) & 7)
+
+#define EVL_ENCAPLEN 4 /* length in octets of encapsulation */
+
#include <net/ethertypes.h>
#define ETHER_IS_MULTICAST(addr) (*(addr) & 0x01) /* is address
mcast/bcast? */