Ieee8021qTagTpidHeader

Namespace inet

Ieee8021qTagTpidHeader

class

This chunk represents an IEEE 802.1Q tag header as defined by the section 9.3 Tag format of the IEEE Std 802.1Q-2018, IEEE Standard for Local and Metropolitan Area Networks, Bridges and Bridged Networks.

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------------------------------+-----+-+-----------------------+ | TPID (e.g. 0x8100) | PCP |D| VLAN ID | +-------------------------------+-----+-+-----------------------+

Extends

Name Type Description
FieldsChunk (unknown -- not in documented files)

Fields

Name Type Description
chunkLength
tpid uint16_t

Tag Protocol Identifier (TPID): 16-bit field specifying an EtherType value that is used to identify the frame as a tagged frame and to select the correct tag decoding functions.

pcp uint8_t

Priority Code Point (PCP): a 3-bit field which refers to the IEEE 802.1p priority. It indicates the frame priority level. Values are from 0 (best effort) to 7 (highest); 1 represents the lowest priority. Priority order lowest to highest: 1 0 2 3 4 5 6 7

dei bool

Drop Eligible Indicator (DEI): a 1-bit field. May be used separately or in conjunction with PCP to indicate frames eligible to be dropped in the presence of congestion.

vid uint16_t

VLAN Identifier (VID): a 12-bit field specifying the VLAN to which the frame belongs. The hexadecimal values of 0x000 and 0xFFF are reserved. All other values may be used as VLAN identifiers, allowing up to 4,094 VLANs. The reserved value 0x000 indicates that the frame does not belong to any VLAN; in this case, the 802.1Q tag specifies only a priority and is referred to as a priority tag. On bridges, VLAN 1 (the default VLAN ID) is often reserved for a management VLAN; this is vendor-specific.

Source code

//
// This chunk represents an IEEE 802.1Q tag header as defined by the section
// 9.3 Tag format of the IEEE Std 802.1Q-2018, IEEE Standard for Local and
// Metropolitan Area Networks, Bridges and Bridged Networks.
//
//  0                   1                   2                   3
//  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
// +-------------------------------+-----+-+-----------------------+
// |       TPID (e.g. 0x8100)      | PCP |D|        VLAN ID        |
// +-------------------------------+-----+-+-----------------------+
//
class Ieee8021qTagTpidHeader extends FieldsChunk
{
    chunkLength = B(4);
    uint16_t tpid; // Tag Protocol Identifier (TPID): 16-bit field specifying an EtherType value that is used to identify the frame as a tagged frame and to select the correct tag decoding functions.
    uint8_t pcp;   // Priority Code Point (PCP): a 3-bit field which refers to the IEEE 802.1p priority. It indicates the frame priority level.
                   // Values are from 0 (best effort) to 7 (highest); 1 represents the lowest priority.
                   // Priority order lowest to highest: 1 0 2 3 4 5 6 7
    bool dei;      // Drop Eligible Indicator (DEI): a 1-bit field. May be used separately or in conjunction with PCP to indicate frames eligible to be dropped in the presence of congestion.
    uint16_t vid;  // VLAN Identifier (VID): a 12-bit field specifying the VLAN to which the frame belongs.
                   // The hexadecimal values of 0x000 and 0xFFF are reserved. All other values may be used as VLAN identifiers, allowing up to 4,094 VLANs.
                   // The reserved value 0x000 indicates that the frame does not belong to any VLAN; in this case,
                   // the 802.1Q tag specifies only a priority and is referred to as a priority tag. On bridges,
                   // VLAN 1 (the default VLAN ID) is often reserved for a management VLAN; this is vendor-specific.
}

File: src/inet/linklayer/ieee8021q/Ieee8021qTagHeader.msg