1*05b00f60SXin Li /* 2*05b00f60SXin Li * Redistribution and use in source and binary forms, with or without 3*05b00f60SXin Li * modification, are permitted provided that: (1) source code 4*05b00f60SXin Li * distributions retain the above copyright notice and this paragraph 5*05b00f60SXin Li * in its entirety, and (2) distributions including binary code include 6*05b00f60SXin Li * the above copyright notice and this paragraph in its entirety in 7*05b00f60SXin Li * the documentation or other materials provided with the distribution. 8*05b00f60SXin Li * THIS SOFTWARE IS PROVIDED ``AS IS'' AND 9*05b00f60SXin Li * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT 10*05b00f60SXin Li * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 11*05b00f60SXin Li * FOR A PARTICULAR PURPOSE. 12*05b00f60SXin Li * 13*05b00f60SXin Li * Original code by Hannes Gredler ([email protected]) 14*05b00f60SXin Li */ 15*05b00f60SXin Li 16*05b00f60SXin Li #ifdef HAVE_CONFIG_H 17*05b00f60SXin Li #include <config.h> 18*05b00f60SXin Li #endif 19*05b00f60SXin Li 20*05b00f60SXin Li #include "netdissect-stdinc.h" 21*05b00f60SXin Li 22*05b00f60SXin Li #include "netdissect.h" 23*05b00f60SXin Li #include "gmpls.h" 24*05b00f60SXin Li 25*05b00f60SXin Li /* rfc3471 */ 26*05b00f60SXin Li const struct tok gmpls_link_prot_values[] = { 27*05b00f60SXin Li { 0x01, "Extra Traffic"}, 28*05b00f60SXin Li { 0x02, "Unprotected"}, 29*05b00f60SXin Li { 0x04, "Shared"}, 30*05b00f60SXin Li { 0x08, "Dedicated 1:1"}, 31*05b00f60SXin Li { 0x10, "Dedicated 1+1"}, 32*05b00f60SXin Li { 0x20, "Enhanced"}, 33*05b00f60SXin Li { 0x40, "Reserved"}, 34*05b00f60SXin Li { 0x80, "Reserved"}, 35*05b00f60SXin Li { 0, NULL } 36*05b00f60SXin Li }; 37*05b00f60SXin Li 38*05b00f60SXin Li /* rfc3471 */ 39*05b00f60SXin Li const struct tok gmpls_switch_cap_values[] = { 40*05b00f60SXin Li { GMPLS_PSC1, "Packet-Switch Capable-1"}, 41*05b00f60SXin Li { GMPLS_PSC2, "Packet-Switch Capable-2"}, 42*05b00f60SXin Li { GMPLS_PSC3, "Packet-Switch Capable-3"}, 43*05b00f60SXin Li { GMPLS_PSC4, "Packet-Switch Capable-4"}, 44*05b00f60SXin Li { GMPLS_L2SC, "Layer-2 Switch Capable"}, 45*05b00f60SXin Li { GMPLS_TSC, "Time-Division-Multiplex"}, 46*05b00f60SXin Li { GMPLS_LSC, "Lambda-Switch Capable"}, 47*05b00f60SXin Li { GMPLS_FSC, "Fiber-Switch Capable"}, 48*05b00f60SXin Li { 0, NULL } 49*05b00f60SXin Li }; 50*05b00f60SXin Li 51*05b00f60SXin Li /* rfc4205 */ 52*05b00f60SXin Li const struct tok gmpls_switch_cap_tsc_indication_values[] = { 53*05b00f60SXin Li { 0, "Standard SONET/SDH" }, 54*05b00f60SXin Li { 1, "Arbitrary SONET/SDH" }, 55*05b00f60SXin Li { 0, NULL } 56*05b00f60SXin Li }; 57*05b00f60SXin Li 58*05b00f60SXin Li /* rfc3471 */ 59*05b00f60SXin Li const struct tok gmpls_encoding_values[] = { 60*05b00f60SXin Li { 1, "Packet"}, 61*05b00f60SXin Li { 2, "Ethernet V2/DIX"}, 62*05b00f60SXin Li { 3, "ANSI/ETSI PDH"}, 63*05b00f60SXin Li { 4, "Reserved"}, 64*05b00f60SXin Li { 5, "SDH ITU-T G.707/SONET ANSI T1.105"}, 65*05b00f60SXin Li { 6, "Reserved"}, 66*05b00f60SXin Li { 7, "Digital Wrapper"}, 67*05b00f60SXin Li { 8, "Lambda (photonic)"}, 68*05b00f60SXin Li { 9, "Fiber"}, 69*05b00f60SXin Li { 10, "Reserved"}, 70*05b00f60SXin Li { 11, "FiberChannel"}, 71*05b00f60SXin Li { 0, NULL } 72*05b00f60SXin Li }; 73*05b00f60SXin Li 74*05b00f60SXin Li /* rfc3471 */ 75*05b00f60SXin Li const struct tok gmpls_payload_values[] = { 76*05b00f60SXin Li { 0, "Unknown"}, 77*05b00f60SXin Li { 1, "Reserved"}, 78*05b00f60SXin Li { 2, "Reserved"}, 79*05b00f60SXin Li { 3, "Reserved"}, 80*05b00f60SXin Li { 4, "Reserved"}, 81*05b00f60SXin Li { 5, "Asynchronous mapping of E4"}, 82*05b00f60SXin Li { 6, "Asynchronous mapping of DS3/T3"}, 83*05b00f60SXin Li { 7, "Asynchronous mapping of E3"}, 84*05b00f60SXin Li { 8, "Bit synchronous mapping of E3"}, 85*05b00f60SXin Li { 9, "Byte synchronous mapping of E3"}, 86*05b00f60SXin Li { 10, "Asynchronous mapping of DS2/T2"}, 87*05b00f60SXin Li { 11, "Bit synchronous mapping of DS2/T2"}, 88*05b00f60SXin Li { 12, "Reserved"}, 89*05b00f60SXin Li { 13, "Asynchronous mapping of E1"}, 90*05b00f60SXin Li { 14, "Byte synchronous mapping of E1"}, 91*05b00f60SXin Li { 15, "Byte synchronous mapping of 31 * DS0"}, 92*05b00f60SXin Li { 16, "Asynchronous mapping of DS1/T1"}, 93*05b00f60SXin Li { 17, "Bit synchronous mapping of DS1/T1"}, 94*05b00f60SXin Li { 18, "Byte synchronous mapping of DS1/T1"}, 95*05b00f60SXin Li { 19, "VC-11 in VC-12"}, 96*05b00f60SXin Li { 20, "Reserved"}, 97*05b00f60SXin Li { 21, "Reserved"}, 98*05b00f60SXin Li { 22, "DS1 SF Asynchronous"}, 99*05b00f60SXin Li { 23, "DS1 ESF Asynchronous"}, 100*05b00f60SXin Li { 24, "DS3 M23 Asynchronous"}, 101*05b00f60SXin Li { 25, "DS3 C-Bit Parity Asynchronous"}, 102*05b00f60SXin Li { 26, "VT/LOVC"}, 103*05b00f60SXin Li { 27, "STS SPE/HOVC"}, 104*05b00f60SXin Li { 28, "POS - No Scrambling, 16 bit CRC"}, 105*05b00f60SXin Li { 29, "POS - No Scrambling, 32 bit CRC"}, 106*05b00f60SXin Li { 30, "POS - Scrambling, 16 bit CRC"}, 107*05b00f60SXin Li { 31, "POS - Scrambling, 32 bit CRC"}, 108*05b00f60SXin Li { 32, "ATM mapping"}, 109*05b00f60SXin Li { 33, "Ethernet PHY"}, 110*05b00f60SXin Li { 34, "SONET/SDH"}, 111*05b00f60SXin Li { 35, "Reserved (SONET deprecated)"}, 112*05b00f60SXin Li { 36, "Digital Wrapper"}, 113*05b00f60SXin Li { 37, "Lambda"}, 114*05b00f60SXin Li { 38, "ANSI/ETSI PDH"}, 115*05b00f60SXin Li { 39, "Reserved"}, 116*05b00f60SXin Li { 40, "Link Access Protocol SDH (X.85 and X.86)"}, 117*05b00f60SXin Li { 41, "FDDI"}, 118*05b00f60SXin Li { 42, "DQDB (ETSI ETS 300 216)"}, 119*05b00f60SXin Li { 43, "FiberChannel-3 (Services)"}, 120*05b00f60SXin Li { 44, "HDLC"}, 121*05b00f60SXin Li { 45, "Ethernet V2/DIX (only)"}, 122*05b00f60SXin Li { 46, "Ethernet 802.3 (only)"}, 123*05b00f60SXin Li /* draft-ietf-ccamp-gmpls-g709-04.txt */ 124*05b00f60SXin Li { 47, "G.709 ODUj"}, 125*05b00f60SXin Li { 48, "G.709 OTUk(v)"}, 126*05b00f60SXin Li { 49, "CBR/CBRa"}, 127*05b00f60SXin Li { 50, "CBRb"}, 128*05b00f60SXin Li { 51, "BSOT"}, 129*05b00f60SXin Li { 52, "BSNT"}, 130*05b00f60SXin Li { 53, "IP/PPP (GFP)"}, 131*05b00f60SXin Li { 54, "Ethernet MAC (framed GFP)"}, 132*05b00f60SXin Li { 55, "Ethernet PHY (transparent GFP)"}, 133*05b00f60SXin Li { 56, "ESCON"}, 134*05b00f60SXin Li { 57, "FICON"}, 135*05b00f60SXin Li { 58, "Fiber Channel"}, 136*05b00f60SXin Li { 0, NULL } 137*05b00f60SXin Li }; 138*05b00f60SXin Li 139*05b00f60SXin Li /* 140*05b00f60SXin Li * Link Type values used by LMP Service Discovery (specifically, the Client 141*05b00f60SXin Li * Port Service Attributes Object). See UNI 1.0 section 9.4.2 for details. 142*05b00f60SXin Li */ 143*05b00f60SXin Li const struct tok lmp_sd_service_config_cpsa_link_type_values[] = { 144*05b00f60SXin Li { 5, "SDH ITU-T G.707"}, 145*05b00f60SXin Li { 6, "SONET ANSI T1.105"}, 146*05b00f60SXin Li { 0, NULL} 147*05b00f60SXin Li }; 148*05b00f60SXin Li 149*05b00f60SXin Li /* 150*05b00f60SXin Li * Signal Type values for SDH links used by LMP Service Discovery (specifically, 151*05b00f60SXin Li * the Client Port Service Attributes Object). See UNI 1.0 section 9.4.2 for 152*05b00f60SXin Li * details. 153*05b00f60SXin Li */ 154*05b00f60SXin Li const struct tok lmp_sd_service_config_cpsa_signal_type_sdh_values[] = { 155*05b00f60SXin Li { 5, "VC-3"}, 156*05b00f60SXin Li { 6, "VC-4"}, 157*05b00f60SXin Li { 7, "STM-0"}, 158*05b00f60SXin Li { 8, "STM-1"}, 159*05b00f60SXin Li { 9, "STM-4"}, 160*05b00f60SXin Li { 10, "STM-16"}, 161*05b00f60SXin Li { 11, "STM-64"}, 162*05b00f60SXin Li { 12, "STM-256"}, 163*05b00f60SXin Li { 0, NULL} 164*05b00f60SXin Li }; 165*05b00f60SXin Li 166*05b00f60SXin Li /* 167*05b00f60SXin Li * Signal Type values for SONET links used by LMP Service Discovery (specifically, 168*05b00f60SXin Li * the Client Port Service Attributes Object). See UNI 1.0 section 9.4.2 for 169*05b00f60SXin Li * details. 170*05b00f60SXin Li */ 171*05b00f60SXin Li const struct tok lmp_sd_service_config_cpsa_signal_type_sonet_values[] = { 172*05b00f60SXin Li { 5, "STS-1 SPE"}, 173*05b00f60SXin Li { 6, "STS-3c SPE"}, 174*05b00f60SXin Li { 7, "STS-1"}, 175*05b00f60SXin Li { 8, "STM-3"}, 176*05b00f60SXin Li { 9, "STM-12"}, 177*05b00f60SXin Li { 10, "STM-48"}, 178*05b00f60SXin Li { 11, "STM-192"}, 179*05b00f60SXin Li { 12, "STM-768"}, 180*05b00f60SXin Li { 0, NULL} 181*05b00f60SXin Li }; 182*05b00f60SXin Li 183*05b00f60SXin Li #define DIFFSERV_BC_MODEL_RDM 0 /* draft-ietf-tewg-diff-te-proto-07 */ 184*05b00f60SXin Li #define DIFFSERV_BC_MODEL_MAM 1 /* draft-ietf-tewg-diff-te-proto-07 */ 185*05b00f60SXin Li #define DIFFSERV_BC_MODEL_EXTD_MAM 254 /* experimental */ 186*05b00f60SXin Li 187*05b00f60SXin Li const struct tok diffserv_te_bc_values[] = { 188*05b00f60SXin Li { DIFFSERV_BC_MODEL_RDM, "Russian dolls"}, 189*05b00f60SXin Li { DIFFSERV_BC_MODEL_MAM, "Maximum allocation"}, 190*05b00f60SXin Li { DIFFSERV_BC_MODEL_EXTD_MAM, "Maximum allocation with E-LSP support"}, 191*05b00f60SXin Li { 0, NULL } 192*05b00f60SXin Li }; 193