1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//! Layer 2 Data Link protocols and frame modifiers for FrameAssembly AST representation.
//!
//! This module defines the abstract syntax tree structures for IEEE 802.3 Ethernet framing
//! overrides and Data Link layer control and encapsulation protocols:
//! - **ARP** (RFC 826 / RFC 5227, EtherType `0x0806`) with polymorphic IPv6 NDP adaptation
//! - **EAPOL** (IEEE 802.1X-2020 Port-Based Network Access Control, EtherType `0x888E`)
//! - **LACP** (IEEE 802.3ad / IEEE 802.1AX Link Aggregation Control Protocol, EtherType `0x8809`)
//! - **LLDP** (IEEE 802.1AB Station and Media Access Control Connectivity Discovery, EtherType `0x88CC`)
//! - **MPLS** (RFC 3032 Multi-Protocol Label Switching label stack encoding, EtherType `0x8847`)
//! - **QinQ** (IEEE 802.1ad Provider Bridges double VLAN tagging, outer TPID `0x88A8`, inner TPID `0x8100`)
//! - **STP / RSTP** (IEEE 802.1D / IEEE 802.1w Spanning Tree Protocol BPDUs over 802.3 LLC `0x424203`)
//! - **VLAN** (IEEE 802.1Q Virtual Bridged Local Area Networks 32-bit tag, TPID `0x8100`)
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
/// Layer 2 Ethernet header and shim encapsulation modifiers applied to any frame statement.
///
/// Syntax mapping: `[SRCMAC <mac>] [DSTMAC <mac>] [ETHERTYPE <u16>] [VLAN <vid> [PCP <pcp>] [DEI <dei>]] [QINQ <svid> [INNER_VLAN <cvid>]] [MPLS <label> [EXP <tc>] [BOS <s_bit>] [MPLS_TTL <ttl>]]`