2 * 802.1Q VLAN protocol definitions
4 * Copyright 2007, Broadcom Corporation
7 * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
17 /* enable structure packing */
19 #define PACKED __attribute__((packed))
25 #define VLAN_VID_MASK 0xfff /* low 12 bits are vlan id */
26 #define VLAN_CFI_SHIFT 12 /* canonical format indicator bit */
27 #define VLAN_PRI_SHIFT 13 /* user priority */
29 #define VLAN_PRI_MASK 7 /* 3 bits of priority */
31 #define VLAN_TAG_LEN 4
32 #define VLAN_TAG_OFFSET (2 * ETHER_ADDR_LEN) /* offset in Ethernet II packet only */
34 #define VLAN_TPID 0x8100 /* VLAN ethertype/Tag Protocol ID */
36 struct ethervlan_header
{
37 uint8 ether_dhost
[ETHER_ADDR_LEN
];
38 uint8 ether_shost
[ETHER_ADDR_LEN
];
39 uint16 vlan_type
; /* 0x8100 */
40 uint16 vlan_tag
; /* priority, cfi and vid */
44 #define ETHERVLAN_HDR_LEN (ETHER_HDR_LEN + VLAN_TAG_LEN)
47 #if !defined(__GNUC__)
This page took 0.042319 seconds and 5 git commands to generate.