Source code for pcapkit.const.reg.transtype

# -*- coding: utf-8 -*-
# pylint: disable=line-too-long
"""Transport Layer Protocol Numbers"""

from aenum import IntEnum, extend_enum

__all__ = ['TransType']


[docs]class TransType(IntEnum): """[TransType] Transport Layer Protocol Numbers""" #: [:rfc:`8200`] IPv6 Hop-by-Hop Option HOPOPT = 0 #: [:rfc:`792`] Internet Control Message ICMP = 1 #: [:rfc:`1112`] Internet Group Management IGMP = 2 #: [:rfc:`823`] Gateway-to-Gateway GGP = 3 #: [:rfc:`2003`] IPv4 encapsulation IPv4 = 4 #: [:rfc:`1190`][:rfc:`1819`] Stream ST = 5 #: [:rfc:`793`] Transmission Control TCP = 6 #: [Tony Ballardie] CBT CBT = 7 #: [:rfc:`888`][David Mills] Exterior Gateway Protocol EGP = 8 #: [Internet Assigned Numbers Authority] any private interior gateway (used by #: Cisco for their IGRP) IGP = 9 #: [Steve Chipman] BBN RCC Monitoring BBN_RCC_MON = 10 #: [:rfc:`741`][Steve Casner] Network Voice Protocol NVP_II = 11 #: [Boggs, D., J. Shoch, E. Taft, and R. Metcalfe, "PUP: An Internetwork #: Architecture", XEROX Palo Alto Research Center, CSL-79-10, July 1979; also #: in IEEE Transactions on Communication, Volume COM-28, Number 4, April #: 1980.][XEROX] PUP PUP = 12 #: [Robert W Scheifler] ARGUS (deprecated)) ARGUS = 13 #: [<mystery contact>] EMCON EMCON = 14 #: [Haverty, J., "XNET Formats for Internet Protocol Version 4", IEN 158, #: October 1980.][Jack Haverty] Cross Net Debugger XNET = 15 #: [J Noel Chiappa] Chaos CHAOS = 16 #: [:rfc:`768`][Jon Postel] User Datagram UDP = 17 #: [Cohen, D. and J. Postel, "Multiplexing Protocol", IEN 90, USC/Information #: Sciences Institute, May 1979.][Jon Postel] Multiplexing MUX = 18 #: [David Mills] DCN Measurement Subsystems DCN_MEAS = 19 #: [:rfc:`869`][Bob Hinden] Host Monitoring HMP = 20 #: [Zaw Sing Su] Packet Radio Measurement PRM = 21 #: ["The Ethernet, A Local Area Network: Data Link Layer and Physical Layer #: Specification", AA-K759B-TK, Digital Equipment Corporation, Maynard, MA. #: Also as: "The Ethernet - A Local Area Network", Version 1.0, Digital #: Equipment Corporation, Intel Corporation, Xerox Corporation, September 1980. #: And: "The Ethernet, A Local Area Network: Data Link Layer and Physical Layer #: Specifications", Digital, Intel and Xerox, November 1982. And: XEROX, "The #: Ethernet, A Local Area Network: Data Link Layer and Physical Layer #: Specification", X3T51/80-50, Xerox Corporation, Stamford, CT., October #: 1980.][XEROX] XEROX NS IDP XNS_IDP = 22 #: [Barry Boehm] Trunk-1 TRUNK_1 = 23 #: [Barry Boehm] Trunk-2 TRUNK_2 = 24 #: [Barry Boehm] Leaf-1 LEAF_1 = 25 #: [Barry Boehm] Leaf-2 LEAF_2 = 26 #: [:rfc:`908`][Bob Hinden] Reliable Data Protocol RDP = 27 #: [:rfc:`938`][Trudy Miller] Internet Reliable Transaction IRTP = 28 #: [:rfc:`905`][<mystery contact>] ISO Transport Protocol Class 4 ISO_TP4 = 29 #: [:rfc:`969`][David Clark] Bulk Data Transfer Protocol NETBLT = 30 #: [Shuttleworth, B., "A Documentary of MFENet, a National Computer Network", #: UCRL-52317, Lawrence Livermore Labs, Livermore, California, June #: 1977.][Barry Howard] MFE Network Services Protocol MFE_NSP = 31 #: [Hans Werner Braun] MERIT Internodal Protocol MERIT_INP = 32 #: [:rfc:`4340`] Datagram Congestion Control Protocol DCCP = 33 #: [Stuart A Friedberg] Third Party Connect Protocol TransType_3PC = 34 #: [Martha Steenstrup] Inter-Domain Policy Routing Protocol IDPR = 35 #: [Greg Chesson] XTP XTP = 36 #: [Wesley Craig] Datagram Delivery Protocol DDP = 37 #: [Martha Steenstrup] IDPR Control Message Transport Proto IDPR_CMTP = 38 #: [Dirk Fromhein] TP++ Transport Protocol TP = 39 #: [Dave Presotto] IL Transport Protocol IL = 40 #: [:rfc:`2473`] IPv6 encapsulation IPv6 = 41 #: [Deborah Estrin] Source Demand Routing Protocol SDRP = 42 #: [Steve Deering] Routing Header for IPv6 IPv6_Route = 43 #: [Steve Deering] Fragment Header for IPv6 IPv6_Frag = 44 #: [Sue Hares] Inter-Domain Routing Protocol IDRP = 45 #: [:rfc:`2205`][:rfc:`3209`][Bob Braden] Reservation Protocol RSVP = 46 #: [:rfc:`2784`][Tony Li] Generic Routing Encapsulation GRE = 47 #: [:rfc:`4728`] Dynamic Source Routing Protocol DSR = 48 #: [Gary Salamon] BNA BNA = 49 #: [:rfc:`4303`] Encap Security Payload ESP = 50 #: [:rfc:`4302`] Authentication Header AH = 51 #: [K Robert Glenn] Integrated Net Layer Security TUBA I_NLSP = 52 #: [John Ioannidis] IP with Encryption (deprecated)) SWIPE = 53 #: [:rfc:`1735`] NBMA Address Resolution Protocol NARP = 54 #: [Charlie Perkins] IP Mobility MOBILE = 55 #: [Christer Oberg] Transport Layer Security Protocol using Kryptonet key #: management TLSP = 56 #: [Tom Markson] SKIP SKIP = 57 #: [:rfc:`8200`] ICMP for IPv6 IPv6_ICMP = 58 #: [:rfc:`8200`] No Next Header for IPv6 IPv6_NoNxt = 59 #: [:rfc:`8200`] Destination Options for IPv6 IPv6_Opts = 60 #: [Internet Assigned Numbers Authority] any host internal protocol any_host_internal_protocol = 61 #: [Forsdick, H., "CFTP", Network Message, Bolt Beranek and Newman, January #: 1982.][Harry Forsdick] CFTP CFTP = 62 #: [Internet Assigned Numbers Authority] any local network any_local_network = 63 #: [Steven Blumenthal] SATNET and Backroom EXPAK SAT_EXPAK = 64 #: [Paul Liu] Kryptolan KRYPTOLAN = 65 #: [Michael Greenwald] MIT Remote Virtual Disk Protocol RVD = 66 #: [Steven Blumenthal] Internet Pluribus Packet Core IPPC = 67 #: [Internet Assigned Numbers Authority] any distributed file system any_distributed_file_system = 68 #: [Steven Blumenthal] SATNET Monitoring SAT_MON = 69 #: [Gene Tsudik] VISA Protocol VISA = 70 #: [Steven Blumenthal] Internet Packet Core Utility IPCV = 71 #: [David Mittnacht] Computer Protocol Network Executive CPNX = 72 #: [David Mittnacht] Computer Protocol Heart Beat CPHB = 73 #: [Victor Dafoulas] Wang Span Network WSN = 74 #: [Steve Casner] Packet Video Protocol PVP = 75 #: [Steven Blumenthal] Backroom SATNET Monitoring BR_SAT_MON = 76 #: [William Melohn] SUN ND PROTOCOL-Temporary SUN_ND = 77 #: [Steven Blumenthal] WIDEBAND Monitoring WB_MON = 78 #: [Steven Blumenthal] WIDEBAND EXPAK WB_EXPAK = 79 #: [Marshall T Rose] ISO Internet Protocol ISO_IP = 80 #: [Dave Cheriton] VMTP VMTP = 81 #: [Dave Cheriton] SECURE-VMTP SECURE_VMTP = 82 #: [Brian Horn] VINES VINES = 83 #: [Jim Stevens] Transaction Transport Protocol TTP = 84 #: [Jim Stevens] Internet Protocol Traffic Manager IPTM = 84 #: [Hans Werner Braun] NSFNET-IGP NSFNET_IGP = 85 #: [M/A-COM Government Systems, "Dissimilar Gateway Protocol Specification, #: Draft Version", Contract no. CS901145, November 16, 1987.][Mike Little] #: Dissimilar Gateway Protocol DGP = 86 #: [Guillermo A Loyola] TCF TCF = 87 #: [:rfc:`7868`] EIGRP EIGRP = 88 #: [:rfc:`1583`][:rfc:`2328`][:rfc:`5340`][John Moy] OSPFIGP OSPFIGP = 89 #: [Welch, B., "The Sprite Remote Procedure Call System", Technical Report, #: UCB/Computer Science Dept., 86/302, University of California at Berkeley, #: June 1986.][Bruce Willins] Sprite RPC Protocol Sprite_RPC = 90 #: [Brian Horn] Locus Address Resolution Protocol LARP = 91 #: [Susie Armstrong] Multicast Transport Protocol MTP = 92 #: [Brian Kantor] AX.25 Frames AX_25 = 93 #: [John Ioannidis] IP-within-IP Encapsulation Protocol IPIP = 94 #: [John Ioannidis] Mobile Internetworking Control Pro. (deprecated)) MICP = 95 #: [Howard Hart] Semaphore Communications Sec. Pro. SCC_SP = 96 #: [:rfc:`3378`] Ethernet-within-IP Encapsulation ETHERIP = 97 #: [:rfc:`1241`][Robert Woodburn] Encapsulation Header ENCAP = 98 #: [Internet Assigned Numbers Authority] any private encryption scheme any_private_encryption_scheme = 99 #: [RXB5] GMTP GMTP = 100 #: [Bob Hinden][November 1995, 1997.] Ipsilon Flow Management Protocol IFMP = 101 #: [Ross Callon] PNNI over IP PNNI = 102 #: [:rfc:`7761`][Dino Farinacci] Protocol Independent Multicast PIM = 103 #: [Nancy Feldman] ARIS ARIS = 104 #: [Robert Durst] SCPS SCPS = 105 #: [Michael Hunter] QNX QNX = 106 #: [Bob Braden] Active Networks A_N = 107 #: [:rfc:`2393`] IP Payload Compression Protocol IPComp = 108 #: [Manickam R Sridhar] Sitara Networks Protocol SNP = 109 #: [Victor Volpe] Compaq Peer Protocol Compaq_Peer = 110 #: [CJ Lee] IPX in IP IPX_in_IP = 111 #: [:rfc:`5798`] Virtual Router Redundancy Protocol VRRP = 112 #: [Tony Speakman] PGM Reliable Transport Protocol PGM = 113 #: [Internet Assigned Numbers Authority] any 0-hop protocol any_0_hop_protocol = 114 #: [:rfc:`3931`][Bernard Aboba] Layer Two Tunneling Protocol L2TP = 115 #: [John Worley] D-II Data Exchange (DDX) DDX = 116 #: [John Murphy] Interactive Agent Transfer Protocol IATP = 117 #: [Jean Michel Pittet] Schedule Transfer Protocol STP = 118 #: [Mark Hamilton] SpectraLink Radio Protocol SRP = 119 #: [Peter Lothberg] UTI UTI = 120 #: [Leif Ekblad] Simple Message Protocol SMP = 121 #: [Jon Crowcroft][draft-perlman-simple-multicast] Simple Multicast Protocol #: (deprecated)) SM = 122 #: [Michael Welzl] Performance Transparency Protocol PTP = 123 #: [Tony Przygienda] ISIS_over_IPv4 = 124 #: [Criag Partridge] FIRE = 125 #: [Robert Sautter] Combat Radio Transport Protocol CRTP = 126 #: [Robert Sautter] Combat Radio User Datagram CRUDP = 127 #: [Kurt Waber] SSCOPMCE = 128 #: [Hollbach] IPLT = 129 #: [Bill McIntosh] Secure Packet Shield SPS = 130 #: [Bernhard Petri] Private IP Encapsulation within IP PIPE = 131 #: [Randall R Stewart] Stream Control Transmission Protocol SCTP = 132 #: [Murali Rajagopal][:rfc:`6172`] Fibre Channel FC = 133 #: [:rfc:`3175`] RSVP_E2E_IGNORE = 134 #: [:rfc:`6275`] Mobility_Header = 135 #: [:rfc:`3828`] UDPLite = 136 #: [:rfc:`4023`] MPLS_in_IP = 137 #: [:rfc:`5498`] MANET Protocols manet = 138 #: [:rfc:`7401`] Host Identity Protocol HIP = 139 #: [:rfc:`5533`] Shim6 Protocol Shim6 = 140 #: [:rfc:`5840`] Wrapped Encapsulating Security Payload WESP = 141 #: [:rfc:`5858`] Robust Header Compression ROHC = 142 #: [draft-ietf-spring-srv6-network-programming] Ethernet (TEMPORARY - #: registered 2020-01-31, expires 2021-01-31) Ethernet = 143 #: [:rfc:`3692`] Use for experimentation and testing Use_for_experimentation_and_testing_253 = 253 #: [:rfc:`3692`] Use for experimentation and testing Use_for_experimentation_and_testing_254 = 254 #: [Internet Assigned Numbers Authority] Reserved = 255
[docs] @staticmethod def get(key, default=-1): """Backport support for original codes.""" if isinstance(key, int): return TransType(key) if key not in TransType._member_map_: # pylint: disable=no-member extend_enum(TransType, key, default) return TransType[key]
[docs] @classmethod def _missing_(cls, value): """Lookup function used when value is not found.""" if not (isinstance(value, int) and 0 <= value <= 255): raise ValueError('%r is not a valid %s' % (value, cls.__name__)) if 144 <= value <= 252: #: [Internet Assigned Numbers Authority] Unassigned extend_enum(cls, 'Unassigned_%d' % value, value) return cls(value) return super()._missing_(value)