[U-Boot] [PATCH 3/3] linux/if_ether.h: Add VLAN related macros

Bin Meng bmeng.cn at gmail.com
Tue Jul 31 09:44:05 UTC 2018


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 at gmail.com>
---

 include/linux/if_ether.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/include/linux/if_ether.h b/include/linux/if_ether.h
index 181a54e..4b01c37 100644
--- a/include/linux/if_ether.h
+++ b/include/linux/if_ether.h
@@ -155,5 +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 */
-- 
2.7.4



More information about the U-Boot mailing list