ESMC (esmc)
- Layer: L2 (data link)
- Header: variable length
- Notes: PTP / ESMC / CFM / R-APS / 802.3ah OAM (P2)
Reached from
| Lower layer | Selector | Value |
|---|---|---|
ethernet2 | First 8 bits of the payload when ethertype = 34825 (0x8809) | 10 (0x0a) |
Fields
| Field | Type | Default | Auto | Description |
|---|---|---|---|---|
subtype | uint(8) | 10 | Slow Protocols subtype (0x0a = organization specific). | |
itu_oui | uint(24) | 6567 | ITU-T OUI (00-19-a7). | |
itu_subtype | uint(16) | 1 | ITU-T subtype (1 = ESMC). | |
version | uint(4) | 1 | ESMC version (1). | |
event_flag | uint(1) | 0 | Event flag: 1 for an event PDU sent at once after a QL change, 0 for the once-a-second information PDU. | |
reserved | uint(3) | 0 | ||
reserved2 | uint(24) | 0 | ||
tlvs | tlv — rest of the PDU | 2 items | TLVs (8-bit type, 16-bit length including the 3-octet header, Auto): QL TLV with the SSM code, Extended QL TLV with the enhanced SSM code, SyncE clock identity and cascaded clock counts. Octets after them (padding) are kept as one raw item. |
tlvs
- Type 8 bits, length 16 bits.
- The length counts the type and length fields too.
- An unknown type ends the typed decoding (the rest becomes one raw item).
| Type | Name | Value fields | Description |
|---|---|---|---|
| 1 (0x01) | ql | unused, ssm_code | |
| 2 (0x02) | extended_ql | enhanced_ssm_code, synce_clock_identity, flags, cascaded_eeecs, cascaded_eecs, reserved |
tlvs › ql
| Field | Type | Default | Auto | Description |
|---|---|---|---|---|
unused | uint(4) | 0 | ||
ssm_code | enum(4) | 2 (prc) |
tlvs › ql › ssm_code
| Value | Name |
|---|---|
| 0 | stu |
| 1 | prs |
| 2 | prc |
| 4 | ssu_a |
| 7 | st2 |
| 8 | ssu_b |
| 10 | st3 |
| 11 | sec |
| 12 | smc |
| 13 | st3e |
| 14 | prov |
| 15 | dnu |
tlvs › extended_ql
| Field | Type | Default | Auto | Description |
|---|---|---|---|---|
enhanced_ssm_code | enum(8) | 255 (none) | ||
synce_clock_identity | uint(64) | 144116287553929217 | ||
flags | flags(8) | 0x0 | ||
cascaded_eeecs | uint(8) | 1 | ||
cascaded_eecs | uint(8) | 0 | ||
reserved | bytes(5) | 00 00 00 00 00 |
tlvs › extended_ql › enhanced_ssm_code
| Value | Name |
|---|---|
| 32 (0x20) | eprtc |
| 33 (0x21) | prtc |
| 34 (0x22) | eeec |
| 35 (0x23) | eprc |
| 255 (0xff) | none |
tlvs › extended_ql › flags
| Bit | Mask | Name |
|---|---|---|
| 0 | 1 (0x01) | mixed_eec_eeec |
| 1 | 2 (0x02) | partial_chain |
Constraints
| Level | Rule |
|---|---|
| warning | subtype = 10 |
| warning | itu_oui = 6567 |
| warning | version = 1 |
Sample templates
- esmc-event-dnu —
templates/protocols/timing/esmc-event-dnu.wpg.yaml - esmc-ql-prc —
templates/protocols/timing/esmc-ql-prc.wpg.yaml