From 883b5302fc71c97a838e7d4d5d45e85492f582ec Mon Sep 17 00:00:00 2001 From: Bin Meng Date: Tue, 31 Jul 2018 02:55:23 -0700 Subject: [PATCH] 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 Acked-by: Joe Hershberger --- include/linux/if_ether.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/include/linux/if_ether.h b/include/linux/if_ether.h index af1bb66..0d62aef 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 */