summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2018-07-31 02:55:23 -0700
committerJoe Hershberger <joe.hershberger@ni.com>2018-10-10 12:28:53 -0500
commit883b5302fc71c97a838e7d4d5d45e85492f582ec (patch)
treed5c85f84c975ae35903dc0227e343a013ddfd958 /include/linux
parentdda5251037008b3563ab0aaf443eb7be3213887c (diff)
linux/if_ether.h: Add VLAN related macros
There are VLAN related macros defined in include/linux/if_vlan.h in Linux kernel, as well as some kernel useful structures and inline functions. Instead of a complete import from kernel, let's add these VLAN macros to U-Boot's include/linux/if_ether.h. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/if_ether.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/if_ether.h b/include/linux/if_ether.h
index af1bb66df0..0d62aefa0d 100644
--- a/include/linux/if_ether.h
+++ b/include/linux/if_ether.h
@@ -155,4 +155,24 @@
#define ETH_P_MAP 0x00F9 /* Qualcomm multiplexing and */
/* aggregation protocol */
+/* The following macros come from Linux kernel include/linux/if_vlan.h */
+
+#define VLAN_HLEN 4 /* The additional bytes required by VLAN */
+ /* (in addition to the Ethernet header) */
+#define VLAN_ETH_HLEN 18 /* Total octets in header. */
+#define VLAN_ETH_ZLEN 64 /* Min. octets in frame sans FCS */
+
+/*
+ * According to 802.3ac, the packet can be 4 bytes longer. --Klika Jan
+ */
+#define VLAN_ETH_DATA_LEN 1500 /* Max. octets in payload */
+#define VLAN_ETH_FRAME_LEN 1518 /* Max. octets in frame sans FCS */
+
+#define VLAN_PRIO_MASK 0xe000 /* Priority Code Point */
+#define VLAN_PRIO_SHIFT 13
+#define VLAN_CFI_MASK 0x1000 /* Canonical Format Indicator */
+#define VLAN_TAG_PRESENT VLAN_CFI_MASK
+#define VLAN_VID_MASK 0x0fff /* VLAN Identifier */
+#define VLAN_N_VID 4096
+
#endif /* _UAPI_LINUX_IF_ETHER_H */