12949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 22949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Redistribution and use in source and binary forms, with or without 32949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * modification, are permitted provided that: (1) source code 42949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * distributions retain the above copyright notice and this paragraph 52949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * in its entirety, and (2) distributions including binary code include 62949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * the above copyright notice and this paragraph in its entirety in 72949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * the documentation or other materials provided with the distribution. 82949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * THIS SOFTWARE IS PROVIDED ``AS IS'' AND 92949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT 102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * FOR A PARTICULAR PURPOSE. 122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Original code by Hannes Gredler (hannes@juniper.net) 142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef lint 172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic const char rcsid[] _U_ = 182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "@(#) $Header: /tcpdump/master/tcpdump/gmpls.c,v 1.5.2.1 2005/05/19 06:44:02 guy Exp $ (LBL)"; 192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif 202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifdef HAVE_CONFIG_H 222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include "config.h" 232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif 242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include <tcpdump-stdinc.h> 262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include "interface.h" 282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* rfc3471 */ 302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct tok gmpls_link_prot_values[] = { 312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0x01, "Extra Traffic"}, 322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0x02, "Unprotected"}, 332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0x04, "Shared"}, 342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0x08, "Dedicated 1:1"}, 352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0x10, "Dedicated 1+1"}, 362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0x20, "Enhanced"}, 372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0x40, "Reserved"}, 382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0x80, "Reserved"}, 392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0, NULL } 402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* rfc3471 */ 432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct tok gmpls_switch_cap_values[] = { 442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 1, "Packet-Switch Capable-1"}, 452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 2, "Packet-Switch Capable-2"}, 462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 3, "Packet-Switch Capable-3"}, 472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 4, "Packet-Switch Capable-4"}, 482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 51, "Layer-2 Switch Capable"}, 492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 100, "Time-Division-Multiplex"}, 502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 150, "Lambda-Switch Capable"}, 512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 200, "Fiber-Switch Capable"}, 522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0, NULL } 532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* rfc3471 */ 562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct tok gmpls_encoding_values[] = { 572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 1, "Packet"}, 582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 2, "Ethernet V2/DIX"}, 592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 3, "ANSI/ETSI PDH"}, 602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 4, "Reserved"}, 612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 5, "SDH ITU-T G.707/SONET ANSI T1.105"}, 622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 6, "Reserved"}, 632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 7, "Digital Wrapper"}, 642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 8, "Lambda (photonic)"}, 652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 9, "Fiber"}, 662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 10, "Reserved"}, 672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 11, "FiberChannel"}, 682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0, NULL } 692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* rfc3471 */ 722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct tok gmpls_payload_values[] = { 732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0, "Unknown"}, 742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 1, "Reserved"}, 752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 2, "Reserved"}, 762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 3, "Reserved"}, 772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 4, "Reserved"}, 782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 5, "Asynchronous mapping of E4"}, 792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 6, "Asynchronous mapping of DS3/T3"}, 802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 7, "Asynchronous mapping of E3"}, 812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 8, "Bit synchronous mapping of E3"}, 822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 9, "Byte synchronous mapping of E3"}, 832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 10, "Asynchronous mapping of DS2/T2"}, 842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 11, "Bit synchronous mapping of DS2/T2"}, 852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 12, "Reserved"}, 862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 13, "Asynchronous mapping of E1"}, 872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 14, "Byte synchronous mapping of E1"}, 882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 15, "Byte synchronous mapping of 31 * DS0"}, 892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 16, "Asynchronous mapping of DS1/T1"}, 902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 17, "Bit synchronous mapping of DS1/T1"}, 912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 18, "Byte synchronous mapping of DS1/T1"}, 922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 19, "VC-11 in VC-12"}, 932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 20, "Reserved"}, 942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 21, "Reserved"}, 952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 22, "DS1 SF Asynchronous"}, 962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 23, "DS1 ESF Asynchronous"}, 972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 24, "DS3 M23 Asynchronous"}, 982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 25, "DS3 C-Bit Parity Asynchronous"}, 992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 26, "VT/LOVC"}, 1002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 27, "STS SPE/HOVC"}, 1012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 28, "POS - No Scrambling, 16 bit CRC"}, 1022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 29, "POS - No Scrambling, 32 bit CRC"}, 1032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 30, "POS - Scrambling, 16 bit CRC"}, 1042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 31, "POS - Scrambling, 32 bit CRC"}, 1052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 32, "ATM mapping"}, 1062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 33, "Ethernet PHY"}, 1072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 34, "SONET/SDH"}, 1082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 35, "Reserved (SONET deprecated)"}, 1092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 36, "Digital Wrapper"}, 1102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 37, "Lambda"}, 1112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 38, "ANSI/ETSI PDH"}, 1122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 39, "Reserved"}, 1132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 40, "Link Access Protocol SDH (X.85 and X.86)"}, 1142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 41, "FDDI"}, 1152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 42, "DQDB (ETSI ETS 300 216)"}, 1162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 43, "FiberChannel-3 (Services)"}, 1172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 44, "HDLC"}, 1182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 45, "Ethernet V2/DIX (only)"}, 1192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 46, "Ethernet 802.3 (only)"}, 1202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* draft-ietf-ccamp-gmpls-g709-04.txt */ 1212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 47, "G.709 ODUj"}, 1222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 48, "G.709 OTUk(v)"}, 1232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 49, "CBR/CBRa"}, 1242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 50, "CBRb"}, 1252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 51, "BSOT"}, 1262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 52, "BSNT"}, 1272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 53, "IP/PPP (GFP)"}, 1282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 54, "Ethernet MAC (framed GFP)"}, 1292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 55, "Ethernet PHY (transparent GFP)"}, 1302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 56, "ESCON"}, 1312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 57, "FICON"}, 1322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 58, "Fiber Channel"}, 1332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0, NULL } 1342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 1372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Link Type values used by LMP Service Discovery (specifically, the Client 1382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Port Service Attributes Object). See UNI 1.0 section 9.4.2 for details. 1392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 1402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct tok lmp_sd_service_config_cpsa_link_type_values[] = { 1412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 5, "SDH ITU-T G.707"}, 1422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 6, "SONET ANSI T1.105"}, 1432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0, NULL} 1442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 1472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Signal Type values for SDH links used by LMP Service Discovery (specifically, 1482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * the Client Port Service Attributes Object). See UNI 1.0 section 9.4.2 for 1492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * details. 1502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 1512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct tok lmp_sd_service_config_cpsa_signal_type_sdh_values[] = { 1522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 5, "VC-3"}, 1532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 6, "VC-4"}, 1542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 7, "STM-0"}, 1552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 8, "STM-1"}, 1562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 9, "STM-4"}, 1572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 10, "STM-16"}, 1582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 11, "STM-64"}, 1592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 12, "STM-256"}, 1602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0, NULL} 1612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 1642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Signal Type values for SONET links used by LMP Service Discovery (specifically, 1652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * the Client Port Service Attributes Object). See UNI 1.0 section 9.4.2 for 1662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * details. 1672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 1682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct tok lmp_sd_service_config_cpsa_signal_type_sonet_values[] = { 1692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 5, "STS-1 SPE"}, 1702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 6, "STS-3c SPE"}, 1712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 7, "STS-1"}, 1722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 8, "STM-3"}, 1732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 9, "STM-12"}, 1742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 10, "STM-48"}, 1752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 11, "STM-192"}, 1762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 12, "STM-768"}, 1772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0, NULL} 1782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define DIFFSERV_BC_MODEL_RDM 0 /* draft-ietf-tewg-diff-te-proto-07 */ 1812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define DIFFSERV_BC_MODEL_MAM 1 /* draft-ietf-tewg-diff-te-proto-07 */ 1822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define DIFFSERV_BC_MODEL_EXTD_MAM 254 /* experimental */ 1832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct tok diffserv_te_bc_values[] = { 1852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { DIFFSERV_BC_MODEL_RDM, "Russian dolls"}, 1862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { DIFFSERV_BC_MODEL_MAM, "Maximum allocation"}, 1872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { DIFFSERV_BC_MODEL_EXTD_MAM, "Maximum allocation with E-LSP support"}, 1882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project { 0, NULL } 1892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 190