| Lower layer | Selector | Value |
ethernet2 | ethertype | 35074 (0x8902) |
dot1q | ethertype | 35074 (0x8902) |
dot1ad | ethertype | 35074 (0x8902) |
| Field | Type | Default | Auto | Description |
md_level | uint(3) | 0 | | Maintenance domain / MEG level (0-7). |
version | uint(5) | 0 | | CFM version (0; 1 for R-APS of G.8032v2). |
opcode | enum(8) | 3 (lbm) | | OpCode: 1 CCM, 2 LBR, 3 LBM, 4 LTR, 5 LTM, 33 AIS, 35 LCK, 37 TST, 39 Linear APS, 40 R-APS, 41 MCC, 42 LMR, 43 LMM, 45 1DM, 46 DMR, 47 DMM, 52 CSF, 53 1SL, 54 SLR, 55 SLM … |
flags | uint(8) | 0 | | Flags (OpCode specific). |
first_tlv_offset | uint(8) | 4 | | Offset of the first TLV from the end of this field (constant for each OpCode). |
data | bytes — rest of the PDU | 00 00 00 01 00 | | Rest of the PDU after the first TLV offset, as octets (OpCode specific fields and TLVs). |
| Value | Name |
| 1 (0x01) | ccm |
| 2 (0x02) | lbr |
| 3 (0x03) | lbm |
| 4 (0x04) | ltr |
| 5 (0x05) | ltm |
| 33 (0x21) | ais |
| 35 (0x23) | lck |
| 37 (0x25) | tst |
| 39 (0x27) | linear_aps |
| 40 (0x28) | ring_aps |
| 41 (0x29) | mcc |
| 42 (0x2a) | lmr |
| 43 (0x2b) | lmm |
| 45 (0x2d) | one_dm |
| 46 (0x2e) | dmr |
| 47 (0x2f) | dmm |
| 48 (0x30) | exr |
| 49 (0x31) | exm |
| 50 (0x32) | vsr |
| 51 (0x33) | vsm |
| 52 (0x34) | csf |
| 53 (0x35) | one_sl |
| 54 (0x36) | slr |
| 55 (0x37) | slm |
The next layer is selected by opcode; when the field is Auto the builder writes the value of the protocol stacked above.
| Value | Protocol | Note |
| 1 (0x01) | cfm_ccm | re-decodes this layer |
| 2 (0x02) | cfm_lbr | re-decodes this layer |
| 3 (0x03) | cfm_lbm | re-decodes this layer |
| 4 (0x04) | cfm_ltr | re-decodes this layer |
| 5 (0x05) | cfm_ltm | re-decodes this layer |
| 33 (0x21) | cfm_ais | re-decodes this layer |
| 35 (0x23) | cfm_lck | re-decodes this layer |
| 37 (0x25) | cfm_tst | re-decodes this layer |
| 40 (0x28) | cfm_raps | re-decodes this layer |
| 42 (0x2a) | cfm_lmr | re-decodes this layer |
| 43 (0x2b) | cfm_lmm | re-decodes this layer |
| 45 (0x2d) | cfm_1dm | re-decodes this layer |
| 46 (0x2e) | cfm_dmr | re-decodes this layer |
| 47 (0x2f) | cfm_dmm | re-decodes this layer |
| 52 (0x34) | cfm_csf | re-decodes this layer |
| 53 (0x35) | cfm_1sl | re-decodes this layer |
| 54 (0x36) | cfm_slr | re-decodes this layer |
| 55 (0x37) | cfm_slm | re-decodes this layer |
- cfm-generic —
templates/protocols/oam/cfm-generic.wpg.yaml