From 9178fd8a959af7e6e5fb3a9d4cc23c76598e721e Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Sat, 8 Oct 2016 16:33:42 -0700 Subject: Support two separate layer 2 type registries. Apparently, the IANA has two separate but similar registries, the BGP Layer 2 Encapsulation Types registry and the MPLS Pseudowire Types registry. Have two separate tables for them, and update them to match the current state of the registries. --- l2vpn.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 64 insertions(+), 27 deletions(-) (limited to 'l2vpn.c') diff --git a/l2vpn.c b/l2vpn.c index b870e890..156139ba 100644 --- a/l2vpn.c +++ b/l2vpn.c @@ -21,33 +21,70 @@ #include "netdissect.h" #include "l2vpn.h" -/* draft-ietf-pwe3-iana-allocation-04 */ +/* + * BGP Layer 2 Encapsulation Types + * + * RFC 6624 + * + * http://www.iana.org/assignments/bgp-parameters/bgp-parameters.xhtml#bgp-l2-encapsulation-types-registry + */ const struct tok l2vpn_encaps_values[] = { - { 0x00, "Reserved"}, - { 0x01, "Frame Relay"}, - { 0x02, "ATM AAL5 VCC transport"}, - { 0x03, "ATM transparent cell transport"}, - { 0x04, "Ethernet VLAN"}, - { 0x05, "Ethernet"}, - { 0x06, "Cisco-HDLC"}, - { 0x07, "PPP"}, - { 0x08, "SONET/SDH Circuit Emulation Service over MPLS"}, - { 0x09, "ATM n-to-one VCC cell transport"}, - { 0x0a, "ATM n-to-one VPC cell transport"}, - { 0x0b, "IP Layer2 Transport"}, - { 0x0c, "ATM one-to-one VCC Cell Mode"}, - { 0x0d, "ATM one-to-one VPC Cell Mode"}, - { 0x0e, "ATM AAL5 PDU VCC transport"}, - { 0x0f, "Frame-Relay Port mode"}, - { 0x10, "SONET/SDH Circuit Emulation over Packet"}, - { 0x11, "Structure-agnostic E1 over Packet"}, - { 0x12, "Structure-agnostic T1 (DS1) over Packet"}, - { 0x13, "Structure-agnostic E3 over Packet"}, - { 0x14, "Structure-agnostic T3 (DS3) over Packet"}, - { 0x15, "CESoPSN basic mode"}, - { 0x16, "TDMoIP basic mode"}, - { 0x17, "CESoPSN TDM with CAS"}, - { 0x18, "TDMoIP TDM with CAS"}, - { 0x40, "IP-interworking"}, + { 0, "Reserved"}, + { 1, "Frame Relay"}, + { 2, "ATM AAL5 VCC transport"}, + { 3, "ATM transparent cell transport"}, + { 4, "Ethernet VLAN"}, + { 5, "Ethernet"}, + { 6, "Cisco-HDLC"}, + { 7, "PPP"}, + { 8, "SONET/SDH Circuit Emulation Service over MPLS"}, + { 9, "ATM n-to-one VCC cell transport"}, + { 10, "ATM n-to-one VPC cell transport"}, + { 11, "IP Layer2 Transport"}, + { 15, "Frame-Relay Port mode"}, + { 17, "Structure-agnostic E1 over Packet"}, + { 18, "Structure-agnostic T1 (DS1) over Packet"}, + { 19, "VPLS"}, + { 20, "Structure-agnostic T3 (DS3) over Packet"}, + { 21, "Nx64kbit/s Basic Service using Structure-aware"}, + { 25, "Frame Relay DLCI"}, + { 0, NULL} +}; + +/* + * MPLS Pseudowire Types + * + * RFC 4446 + * + * http://www.iana.org/assignments/pwe3-parameters/pwe3-parameters.xhtml#pwe3-parameters-2 + */ +const struct tok mpls_pw_types_values[] = { + { 0x0000, "Reserved"}, + { 0x0001, "Frame Relay"}, + { 0x0002, "ATM AAL5 VCC transport"}, + { 0x0003, "ATM transparent cell transport"}, + { 0x0004, "Ethernet VLAN"}, + { 0x0005, "Ethernet"}, + { 0x0006, "Cisco-HDLC"}, + { 0x0007, "PPP"}, + { 0x0008, "SONET/SDH Circuit Emulation Service over MPLS"}, + { 0x0009, "ATM n-to-one VCC cell transport"}, + { 0x000a, "ATM n-to-one VPC cell transport"}, + { 0x000b, "IP Layer2 Transport"}, + { 0x000c, "ATM one-to-one VCC Cell Mode"}, + { 0x000d, "ATM one-to-one VPC Cell Mode"}, + { 0x000e, "ATM AAL5 PDU VCC transport"}, + { 0x000f, "Frame-Relay Port mode"}, + { 0x0010, "SONET/SDH Circuit Emulation over Packet"}, + { 0x0011, "Structure-agnostic E1 over Packet"}, + { 0x0012, "Structure-agnostic T1 (DS1) over Packet"}, + { 0x0013, "Structure-agnostic E3 over Packet"}, + { 0x0014, "Structure-agnostic T3 (DS3) over Packet"}, + { 0x0015, "CESoPSN basic mode"}, + { 0x0016, "TDMoIP basic mode"}, + { 0x0017, "CESoPSN TDM with CAS"}, + { 0x0018, "TDMoIP TDM with CAS"}, + { 0x0019, "Frame Relay DLCI"}, + { 0x0040, "IP-interworking"}, { 0, NULL} }; -- cgit v1.2.1