aboutsummaryrefslogtreecommitdiff
path: root/sys/net/if_vlan_var.h
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2018-03-27 15:29:32 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2018-03-27 15:29:32 +0000
commitf137973487f6170f8cb3285ec58aed46e9e3e6f9 (patch)
tree0e49cab197670acd9d1f9ac782edc2d33ab60c17 /sys/net/if_vlan_var.h
parent34a77b974108eecc559c97b3ef170e3f18ffb644 (diff)
downloadsrc-f137973487f6170f8cb3285ec58aed46e9e3e6f9.tar.gz
src-f137973487f6170f8cb3285ec58aed46e9e3e6f9.zip
Allow to specify PCP on packets not belonging to any VLAN.
According to 802.1Q-2014, VLAN tagged packets with VLAN id 0 should be considered as untagged, and only PCP and DEI values from the VLAN tag are meaningful. See for instance https://www.cisco.com/c/en/us/td/docs/switches/connectedgrid/cg-switch-sw-master/software/configuration/guide/vlan0/b_vlan_0.html. Make it possible to specify PCP value for outgoing packets on an ethernet interface. When PCP is supplied, the tag is appended, VLAN id set to 0, and PCP is filled by the supplied value. The code to do VLAN tag encapsulation is refactored from the if_vlan.c and moved into if_ethersubr.c. Drivers might have issues with filtering VID 0 packets on receive. This bug should be fixed for each driver. Reviewed by: ae (previous version), hselasky, melifaro Sponsored by: Mellanox Technologies MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D14702
Notes
Notes: svn path=/head/; revision=331622
Diffstat (limited to 'sys/net/if_vlan_var.h')
-rw-r--r--sys/net/if_vlan_var.h18
1 files changed, 2 insertions, 16 deletions
diff --git a/sys/net/if_vlan_var.h b/sys/net/if_vlan_var.h
index d27e5104f87a..b926df807af3 100644
--- a/sys/net/if_vlan_var.h
+++ b/sys/net/if_vlan_var.h
@@ -73,22 +73,8 @@ struct vlanreq {
#define SIOCSETVLAN SIOCSIFGENERIC
#define SIOCGETVLAN SIOCGIFGENERIC
-#define SIOCGVLANPCP _IOWR('i', 152, struct ifreq) /* Get VLAN PCP */
-#define SIOCSVLANPCP _IOW('i', 153, struct ifreq) /* Set VLAN PCP */
-
-/*
- * Names for 802.1q priorities ("802.1p"). Notice that in this scheme,
- * (0 < 1), allowing default 0-tagged traffic to take priority over background
- * tagged traffic.
- */
-#define IEEE8021Q_PCP_BK 1 /* Background (lowest) */
-#define IEEE8021Q_PCP_BE 0 /* Best effort (default) */
-#define IEEE8021Q_PCP_EE 2 /* Excellent effort */
-#define IEEE8021Q_PCP_CA 3 /* Critical applications */
-#define IEEE8021Q_PCP_VI 4 /* Video, < 100ms latency */
-#define IEEE8021Q_PCP_VO 5 /* Video, < 10ms latency */
-#define IEEE8021Q_PCP_IC 6 /* Internetwork control */
-#define IEEE8021Q_PCP_NC 7 /* Network control (highest) */
+#define SIOCGVLANPCP SIOCGLANPCP /* Get VLAN PCP */
+#define SIOCSVLANPCP SIOCSLANPCP /* Set VLAN PCP */
#ifdef _KERNEL
/*