Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ERPS R-APS (cfm_raps)

Reached from

Lower layerSelectorValue
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode40 (0x28) (re-decodes this layer)

Fields

FieldTypeDefaultAutoDescription
md_leveluint(3)0Maintenance domain / MEG level (0-7).
versionuint(5)1CFM version (0; 1 for R-APS of G.8032v2).
opcodeenum(8)40 (ring_aps)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 …
flagsuint(8)0Flags (OpCode specific).
first_tlv_offsetuint(8)32Offset of the first TLV from the end of this field (constant for each OpCode).
request_stateenum(4)0 (nr)Request / state: 0000 NR, 0111 MS, 1011 SF, 1101 FS, 1110 Event.
sub_codeuint(4)0Sub-code (0000 = flush request with the Event request).
rbuint(1)1RB: the RPL is blocked.
dnfuint(1)0DNF: do not flush the forwarding database.
bpruint(1)0BPR: blocked port reference (0 = ring link 0, 1 = ring link 1).
status_reserveduint(5)0
node_idmac02:00:00:00:00:01Node ID: MAC address of the sending ring node.
reservedbytes(24)00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tlvstlv — up to and including the first item of type 0, or the end of the PDU1 itemsTLVs (8-bit type, 16-bit length of the value, Auto): Sender ID, Port Status, Data, Interface Status, Reply Ingress / Egress, LTM / LTR Egress Identifier, Organization-Specific, Test, closed by the End TLV (type 0).

opcode

ValueName
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

request_state

ValueName
0nr
7ms
11sf
13fs
14event

tlvs

  • Type 8 bits, length 16 bits.
  • The length counts the value only.
  • Unknown types are kept as raw value octets.
TypeNameValue fieldsDescription
0 (0x00)end(type only, no length or value)
1 (0x01)sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02)port_statusport_status
3 (0x03)data_tlvvalue
4 (0x04)interface_statusinterface_status
5 (0x05)reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06)reply_egressegress_action, egress_mac, egress_port_id
7 (0x07)ltm_egress_identifieregress_identifier
8 (0x08)ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f)organization_specificoui, subtype, value
32 (0x20)testpattern_type, test_pattern

tlvs › sender_id

FieldTypeDefaultAutoDescription
chassis_id_lengthuint(8)Size of chassis_id in octets
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length octets02 00 00 00 00 01
management_addressbytes — rest of the PDU
tlvs › sender_id › chassis_id_subtype
ValueName
1 (0x01)chassis_component
2 (0x02)interface_alias
3 (0x03)port_component
4 (0x04)mac_address
5 (0x05)network_address
6 (0x06)interface_name
7 (0x07)local

tlvs › port_status

FieldTypeDefaultAutoDescription
port_statusenum(8)2 (up)
tlvs › port_status › port_status
ValueName
1 (0x01)blocked
2 (0x02)up

tlvs › data_tlv

FieldTypeDefaultAutoDescription
valuebytes — rest of the PDU

tlvs › interface_status

FieldTypeDefaultAutoDescription
interface_statusenum(8)1 (up)
tlvs › interface_status › interface_status
ValueName
1 (0x01)up
2 (0x02)down
3 (0x03)testing
4 (0x04)unknown
5 (0x05)dormant
6 (0x06)not_present
7 (0x07)lower_layer_down

tlvs › reply_ingress

FieldTypeDefaultAutoDescription
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — rest of the PDU
tlvs › reply_ingress › ingress_action
ValueName
1 (0x01)ok
2 (0x02)down
3 (0x03)blocked
4 (0x04)vid

tlvs › reply_egress

FieldTypeDefaultAutoDescription
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — rest of the PDU
tlvs › reply_egress › egress_action
ValueName
1 (0x01)ok
2 (0x02)down
3 (0x03)blocked
4 (0x04)vid

tlvs › ltm_egress_identifier

FieldTypeDefaultAutoDescription
egress_identifieruint(64)2199023255553

tlvs › ltr_egress_identifier

FieldTypeDefaultAutoDescription
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554

tlvs › organization_specific

FieldTypeDefaultAutoDescription
ouiuint(24)
subtypeuint(8)
valuebytes — rest of the PDU

tlvs › test

FieldTypeDefaultAutoDescription
pattern_typeenum(8)
test_patternbytes — rest of the PDU
tlvs › test › pattern_type
ValueName
0 (0x00)null_without_crc
1 (0x01)null_with_crc
2 (0x02)prbs_without_crc
3 (0x03)prbs_with_crc

Constraints

LevelRule
warningfirst_tlv_offset = 32

Sample templates