# -*- coding: utf-8 -*-
# pylint: disable=line-too-long
"""Ethertype IEEE 802 Numbers"""
from aenum import IntEnum, extend_enum
__all__ = ['EtherType']
[docs]class EtherType(IntEnum):
"""[EtherType] Ethertype IEEE 802 Numbers"""
_ignore_ = 'EtherType _'
EtherType = vars()
#: [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.][Neil Sembower]
EtherType['XEROX_PUP'] = 0x0200
#: [Neil Sembower]
EtherType['PUP_Addr_Trans_0x0201'] = 0x0201
#: [Neil Sembower]
EtherType['Nixdorf'] = 0x0400
#: ["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.][Neil Sembower]
EtherType['XEROX_NS_IDP'] = 0x0600
#: [Neil Sembower]
EtherType['DLOG_0x0660'] = 0x0660
#: [Neil Sembower]
EtherType['DLOG_0x0661'] = 0x0661
#: [:rfc:`7042`]
EtherType['Internet_Protocol_Version_4'] = 0x0800
#: [Neil Sembower]
EtherType['X_75_Internet'] = 0x0801
#: [Neil Sembower]
EtherType['NBS_Internet'] = 0x0802
#: [Neil Sembower]
EtherType['ECMA_Internet'] = 0x0803
#: [Neil Sembower]
EtherType['Chaosnet'] = 0x0804
#: [Neil Sembower]
EtherType['X_25_Level_3'] = 0x0805
#: [:rfc:`7042`]
EtherType['Address_Resolution_Protocol'] = 0x0806
#: [Neil Sembower]
EtherType['XNS_Compatability'] = 0x0807
#: [:rfc:`1701`]
EtherType['Frame_Relay_ARP'] = 0x0808
#: [David Plummer]
EtherType['Symbolics_Private'] = 0x081C
#: [Neil Sembower]
EtherType['Ungermann_Bass_Net_Debugr'] = 0x0900
#: [Neil Sembower]
EtherType['Xerox_IEEE802_3_PUP'] = 0x0A00
#: [Neil Sembower]
EtherType['PUP_Addr_Trans_0x0A01'] = 0x0A01
#: [Neil Sembower]
EtherType['Banyan_VINES'] = 0x0BAD
#: [:rfc:`1701`]
EtherType['VINES_Loopback'] = 0x0BAE
#: [:rfc:`1701`]
EtherType['VINES_Echo'] = 0x0BAF
#: [Neil Sembower]
EtherType['Berkeley_Trailer_Nego'] = 0x1000
#: [Neil Sembower]
EtherType['Valid_Systems'] = 0x1600
#: [:rfc:`6325`]
EtherType['TRILL'] = 0x22F3
#: [:rfc:`6325`]
EtherType['L2_IS_IS'] = 0x22F4
#: [Neil Sembower]
EtherType['PCS_Basic_Block_Protocol'] = 0x4242
#: [Neil Sembower]
EtherType['BBN_Simnet'] = 0x5208
#: [Neil Sembower]
EtherType['DEC_Unassigned_0x6000'] = 0x6000
#: [Neil Sembower]
EtherType['DEC_MOP_Dump_Load'] = 0x6001
#: [Neil Sembower]
EtherType['DEC_MOP_Remote_Console'] = 0x6002
#: [Neil Sembower]
EtherType['DEC_DECNET_Phase_IV_Route'] = 0x6003
#: [Neil Sembower]
EtherType['DEC_LAT'] = 0x6004
#: [Neil Sembower]
EtherType['DEC_Diagnostic_Protocol'] = 0x6005
#: [Neil Sembower]
EtherType['DEC_Customer_Protocol'] = 0x6006
#: [Neil Sembower]
EtherType['DEC_LAVC_SCA'] = 0x6007
#: [:rfc:`1701`]
EtherType['Trans_Ether_Bridging'] = 0x6558
#: [:rfc:`1701`]
EtherType['Raw_Frame_Relay'] = 0x6559
#: [Neil Sembower]
EtherType['Ungermann_Bass_Download'] = 0x7000
#: [Neil Sembower]
EtherType['Ungermann_Bass_Dia_loop'] = 0x7002
#: [Neil Sembower]
EtherType['Proteon'] = 0x7030
#: [Neil Sembower]
EtherType['Cabletron'] = 0x7034
#: [:rfc:`824`][Daniel Tappan]
EtherType['Cronus_VLN'] = 0x8003
#: [:rfc:`824`][Daniel Tappan]
EtherType['Cronus_Direct'] = 0x8004
#: [Neil Sembower]
EtherType['HP_Probe'] = 0x8005
#: [Neil Sembower]
EtherType['Nestar'] = 0x8006
#: [Neil Sembower]
EtherType['AT_T_0x8008'] = 0x8008
#: [Neil Sembower]
EtherType['Excelan'] = 0x8010
#: [Andrew Cherenson]
EtherType['SGI_Diagnostics'] = 0x8013
#: [Andrew Cherenson]
EtherType['SGI_Network_Games'] = 0x8014
#: [Andrew Cherenson]
EtherType['SGI_Reserved'] = 0x8015
#: [Andrew Cherenson]
EtherType['SGI_Bounce_Server'] = 0x8016
#: [Neil Sembower]
EtherType['Apollo_Domain'] = 0x8019
#: [Neil Sembower]
EtherType['Tymshare'] = 0x802E
#: [Neil Sembower]
EtherType['Tigan_Inc'] = 0x802F
#: [:rfc:`903`][Joseph Murdock]
EtherType['Reverse_Address_Resolution_Protocol'] = 0x8035
#: [Neil Sembower]
EtherType['Aeonic_Systems'] = 0x8036
#: [Neil Sembower]
EtherType['DEC_LANBridge'] = 0x8038
#: [Neil Sembower]
EtherType['DEC_Ethernet_Encryption'] = 0x803D
#: [Neil Sembower]
EtherType['DEC_Unassigned_0x803E'] = 0x803E
#: [Neil Sembower]
EtherType['DEC_LAN_Traffic_Monitor'] = 0x803F
#: [Neil Sembower]
EtherType['Planning_Research_Corp'] = 0x8044
#: [Neil Sembower]
EtherType['AT_T_0x8046'] = 0x8046
#: [Neil Sembower]
EtherType['AT_T_0x8047'] = 0x8047
#: [Neil Sembower]
EtherType['ExperData'] = 0x8049
#: [Neil Sembower]
EtherType['Stanford_V_Kernel_Exp'] = 0x805B
#: [Neil Sembower]
EtherType['Stanford_V_Kernel_Prod'] = 0x805C
#: [Neil Sembower]
EtherType['Evans_Sutherland'] = 0x805D
#: [Neil Sembower]
EtherType['Little_Machines'] = 0x8060
#: [Neil Sembower]
EtherType['Counterpoint_Computers'] = 0x8062
#: [Neil Sembower]
EtherType['Univ_Of_Mass_Amherst_0x8065'] = 0x8065
#: [Neil Sembower]
EtherType['Univ_Of_Mass_Amherst_0x8066'] = 0x8066
#: [Neil Sembower]
EtherType['Veeco_Integrated_Auto'] = 0x8067
#: [Neil Sembower]
EtherType['General_Dynamics'] = 0x8068
#: [Neil Sembower]
EtherType['AT_T_0x8069'] = 0x8069
#: [Neil Sembower]
EtherType['Autophon'] = 0x806A
#: [Neil Sembower]
EtherType['ComDesign'] = 0x806C
#: [Neil Sembower]
EtherType['Computgraphic_Corp'] = 0x806D
#: [Neil Sembower]
EtherType['Matra'] = 0x807A
#: [Neil Sembower]
EtherType['Dansk_Data_Elektronik'] = 0x807B
#: [Hans Werner Braun]
EtherType['Merit_Internodal'] = 0x807C
#: [Neil Sembower]
EtherType['Vitalink_TransLAN_III'] = 0x8080
#: [Neil Sembower]
EtherType['Appletalk'] = 0x809B
#: [Neil Sembower]
EtherType['Spider_Systems_Ltd'] = 0x809F
#: [Neil Sembower]
EtherType['Nixdorf_Computers'] = 0x80A3
#: [Neil Sembower]
EtherType['Banyan_Systems_0x80C4'] = 0x80C4
#: [Neil Sembower]
EtherType['Banyan_Systems_0x80C5'] = 0x80C5
#: [Neil Sembower]
EtherType['Pacer_Software'] = 0x80C6
#: [Neil Sembower]
EtherType['Applitek_Corporation'] = 0x80C7
#: [Neil Sembower]
EtherType['IBM_SNA_Service_On_Ether'] = 0x80D5
#: [Neil Sembower]
EtherType['Varian_Associates'] = 0x80DD
#: [Neil Sembower]
EtherType['Retix'] = 0x80F2
#: [Neil Sembower]
EtherType['AppleTalk_AARP'] = 0x80F3
#: [Neil Sembower]
EtherType['Apollo_Computer'] = 0x80F7
#: [Neil Sembower]
EtherType['Wellfleet_Communications'] = 0x80FF
#: [:rfc:`7042`]
EtherType['Customer_VLAN_Tag_Type'] = 0x8100
#: [Neil Sembower]
EtherType['Hayes_Microcomputers'] = 0x8130
#: [Neil Sembower]
EtherType['VG_Laboratory_Systems'] = 0x8131
#: [Neil Sembower]
EtherType['Logicraft'] = 0x8148
#: [Neil Sembower]
EtherType['Network_Computing_Devices'] = 0x8149
#: [Neil Sembower]
EtherType['Alpha_Micro'] = 0x814A
#: [Joyce K Reynolds]
EtherType['SNMP'] = 0x814C
#: [Neil Sembower]
EtherType['BIIN_0x814D'] = 0x814D
#: [Neil Sembower]
EtherType['BIIN_0x814E'] = 0x814E
#: [Neil Sembower]
EtherType['Technically_Elite_Concept'] = 0x814F
#: [Neil Sembower]
EtherType['Rational_Corp'] = 0x8150
#: [Neil Sembower]
EtherType['XTP'] = 0x817D
#: [Neil Sembower]
EtherType['SGI_Time_Warner_Prop'] = 0x817E
#: [Neil Sembower]
EtherType['HIPPI_FP_Encapsulation'] = 0x8180
#: [Neil Sembower]
EtherType['STP_HIPPI_ST'] = 0x8181
#: [Neil Sembower]
EtherType['Reserved_For_HIPPI_6400_0x8182'] = 0x8182
#: [Neil Sembower]
EtherType['Reserved_For_HIPPI_6400_0x8183'] = 0x8183
#: [Neil Sembower]
EtherType['Motorola_Computer'] = 0x818D
#: [Neil Sembower]
EtherType['ARAI_Bunkichi'] = 0x81A4
#: [Neil Sembower]
EtherType['SECTRA'] = 0x86DB
#: [Neil Sembower]
EtherType['Delta_Controls'] = 0x86DE
#: [:rfc:`7042`]
EtherType['Internet_Protocol_Version_6'] = 0x86DD
#: [Joe Touch]
EtherType['ATOMIC'] = 0x86DF
#: [:rfc:`1144`][:rfc:`1701`]
EtherType['TCP_IP_Compression'] = 0x876B
#: [:rfc:`1701`]
EtherType['IP_Autonomous_Systems'] = 0x876C
#: [:rfc:`1701`]
EtherType['Secure_Data'] = 0x876D
#: [EPON][:rfc:`7042`]
EtherType['IEEE_Std_802_3_Ethernet_Passive_Optical_Network'] = 0x8808
#: [:rfc:`7042`]
EtherType['Point_to_Point_Protocol'] = 0x880B
#: [:rfc:`7042`]
EtherType['General_Switch_Management_Protocol'] = 0x880C
#: [:rfc:`5332`]
EtherType['MPLS'] = 0x8847
#: [:rfc:`5332`]
EtherType['MPLS_With_Upstream_assigned_Label'] = 0x8848
#: [:rfc:`7042`]
EtherType['Multicast_Channel_Allocation_Protocol'] = 0x8861
#: [:rfc:`2516`]
EtherType['PPP_Over_Ethernet_Discovery_Stage'] = 0x8863
#: [:rfc:`2516`]
EtherType['PPP_Over_Ethernet_Session_Stage'] = 0x8864
#: [IEEE]
EtherType['IEEE_Std_802_1X_Port_based_Network_Access_Control'] = 0x888E
#: [IEEE]
EtherType['IEEE_Std_802_1Q_Service_VLAN_Tag_Identifier'] = 0x88A8
#: [IEEE]
EtherType['IEEE_Std_802_Local_Experimental_Ethertype_0x88B5'] = 0x88B5
#: [IEEE]
EtherType['IEEE_Std_802_Local_Experimental_Ethertype_0x88B6'] = 0x88B6
#: [IEEE]
EtherType['IEEE_Std_802_OUI_Extended_Ethertype'] = 0x88B7
#: [IEEE]
EtherType['IEEE_Std_802_11_Pre_Authentication'] = 0x88C7
#: [IEEE]
EtherType['IEEE_Std_802_1AB_Link_Layer_Discovery_Protocol'] = 0x88CC
#: [IEEE]
EtherType['IEEE_Std_802_1AE_Media_Access_Control_Security'] = 0x88E5
#: [IEEE Std 802.1Q-2014]
EtherType['Provider_Backbone_Bridging_Instance_Tag'] = 0x88E7
#: [IEEE]
EtherType['IEEE_Std_802_1Q_Multiple_VLAN_Registration_Protocol'] = 0x88F5
#: [IEEE]
EtherType['IEEE_Std_802_1Q_Multiple_Multicast_Registration_Protocol'] = 0x88F6
#: [IEEE]
EtherType['IEEE_Std_802_11_Fast_Roaming_Remote_Request'] = 0x890D
#: [IEEE]
EtherType['IEEE_Std_802_21_Media_Independent_Handover_Protocol'] = 0x8917
#: [IEEE]
EtherType['IEEE_Std_802_1Qbe_Multiple_I_SID_Registration_Protocol'] = 0x8929
#: [:rfc:`7172`]
EtherType['TRILL_Fine_Grained_Labeling'] = 0x893B
#: [IEEE]
EtherType['IEEE_Std_802_1Qbg_ECP_Protocol'] = 0x8940
#: [:rfc:`7178`]
EtherType['TRILL_RBridge_Channel'] = 0x8946
#: [IEEE]
EtherType['GeoNetworking_As_Defined_In_ETSI_EN_302_636_4_1'] = 0x8947
#: [:rfc:`8300`]
EtherType['NSH'] = 0x894F
#: [Neil Sembower]
EtherType['Loopback'] = 0x9000
#: [Neil Sembower]
EtherType['3Com_XNS_Sys_Mgmt'] = 0x9001
#: [Neil Sembower]
EtherType['3Com_TCP_IP_Sys'] = 0x9002
#: [Neil Sembower]
EtherType['3Com_Loop_Detect'] = 0x9003
#: [:rfc:`8377`]
EtherType['Multi_Topology'] = 0x9A22
#: [:rfc:`7973`]
EtherType['LoWPAN_Encapsulation'] = 0xA0ED
#: [:rfc:`8157`]
EtherType['The_Ethertype_Will_Be_Used_To_Identify_A_Channel_In_Which_Control_Messages_Are_Encapsulated_As_Payload_Of_GRE_Packets_When_A_GRE_Packet_Tagged_With_The_Ethertype_Is_Received_The_Payload_Will_Be_Handed_To_The_Network_Processor_For_Processing'] = 0xB7EA
#: [Neil Sembower]
EtherType['BBN_VITAL_LanBridge_Cache'] = 0xFF00
#: [:rfc:`1701`]
EtherType['Reserved'] = 0xFFFF
[docs] @staticmethod
def get(key, default=-1):
"""Backport support for original codes."""
if isinstance(key, int):
return EtherType(key)
if key not in EtherType._member_map_: # pylint: disable=no-member
extend_enum(EtherType, key, default)
return EtherType[key]
[docs] @classmethod
def _missing_(cls, value):
"""Lookup function used when value is not found."""
if not (isinstance(value, int) and 0x0000 <= value <= 0xFFFF):
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
if 0x0000 <= value <= 0x05DC:
#: [Neil Sembower]
extend_enum(cls, 'IEEE802.3 Length Field [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x0101 <= value <= 0x01FF:
#: [Neil Sembower]
extend_enum(cls, 'Experimental [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x0888 <= value <= 0x088A:
#: [Neil Sembower]
extend_enum(cls, 'Xyplex [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x1001 <= value <= 0x100F:
#: [Neil Sembower]
extend_enum(cls, 'Berkeley Trailer encap/IP [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x6008 <= value <= 0x6009:
#: [Neil Sembower]
extend_enum(cls, 'DEC Unassigned [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x6010 <= value <= 0x6014:
#: [Neil Sembower]
extend_enum(cls, '3Com Corporation [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x7020 <= value <= 0x7029:
#: [Neil Sembower]
extend_enum(cls, 'LRT [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8039 <= value <= 0x803C:
#: [Neil Sembower]
extend_enum(cls, 'DEC Unassigned [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8040 <= value <= 0x8042:
#: [Neil Sembower]
extend_enum(cls, 'DEC Unassigned [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x806E <= value <= 0x8077:
#: [Neil Sembower]
extend_enum(cls, 'Landmark Graphics Corp. [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x807D <= value <= 0x807F:
#: [Neil Sembower]
extend_enum(cls, 'Vitalink Communications [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8081 <= value <= 0x8083:
#: [Neil Sembower]
extend_enum(cls, 'Counterpoint Computers [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x809C <= value <= 0x809E:
#: [Neil Sembower]
extend_enum(cls, 'Datability [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80A4 <= value <= 0x80B3:
#: [Neil Sembower]
extend_enum(cls, 'Siemens Gammasonics Inc. [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80C0 <= value <= 0x80C3:
#: [Neil Sembower]
extend_enum(cls, 'DCA Data Exchange Cluster [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80C8 <= value <= 0x80CC:
#: [Neil Sembower]
extend_enum(cls, 'Intergraph Corporation [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80CD <= value <= 0x80CE:
#: [Neil Sembower]
extend_enum(cls, 'Harris Corporation [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80CF <= value <= 0x80D2:
#: [Neil Sembower]
extend_enum(cls, 'Taylor Instrument [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80D3 <= value <= 0x80D4:
#: [Neil Sembower]
extend_enum(cls, 'Rosemount Corporation [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80DE <= value <= 0x80DF:
#: [Neil Sembower]
extend_enum(cls, 'Integrated Solutions TRFS [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80E0 <= value <= 0x80E3:
#: [Neil Sembower]
extend_enum(cls, 'Allen-Bradley [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80E4 <= value <= 0x80F0:
#: [Neil Sembower]
extend_enum(cls, 'Datability [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x80F4 <= value <= 0x80F5:
#: [Neil Sembower]
extend_enum(cls, 'Kinetics [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8101 <= value <= 0x8103:
#: [Neil Sembower]
extend_enum(cls, 'Wellfleet Communications [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8107 <= value <= 0x8109:
#: [Neil Sembower]
extend_enum(cls, 'Symbolics Private [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8132 <= value <= 0x8136:
#: [Neil Sembower]
extend_enum(cls, 'Bridge Communications [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8137 <= value <= 0x8138:
#: [Neil Sembower]
extend_enum(cls, 'Novell, Inc. [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8139 <= value <= 0x813D:
#: [Neil Sembower]
extend_enum(cls, 'KTI [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8151 <= value <= 0x8153:
#: [Neil Sembower]
extend_enum(cls, 'Qualcomm [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x815C <= value <= 0x815E:
#: [Neil Sembower]
extend_enum(cls, 'Computer Protocol Pty Ltd [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8164 <= value <= 0x8166:
#: [Neil Sembower]
extend_enum(cls, 'Charles River Data System [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8184 <= value <= 0x818C:
#: [Neil Sembower]
extend_enum(cls, 'Silicon Graphics prop. [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x819A <= value <= 0x81A3:
#: [Neil Sembower]
extend_enum(cls, 'Qualcomm [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x81A5 <= value <= 0x81AE:
#: [Neil Sembower]
extend_enum(cls, 'RAD Network Devices [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x81B7 <= value <= 0x81B9:
#: [Neil Sembower]
extend_enum(cls, 'Xyplex [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x81CC <= value <= 0x81D5:
#: [Neil Sembower]
extend_enum(cls, 'Apricot Computers [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x81D6 <= value <= 0x81DD:
#: [Neil Sembower]
extend_enum(cls, 'Artisoft [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x81E6 <= value <= 0x81EF:
#: [Neil Sembower]
extend_enum(cls, 'Polygon [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x81F0 <= value <= 0x81F2:
#: [Neil Sembower]
extend_enum(cls, 'Comsat Labs [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x81F3 <= value <= 0x81F5:
#: [Neil Sembower]
extend_enum(cls, 'SAIC [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x81F6 <= value <= 0x81F8:
#: [Neil Sembower]
extend_enum(cls, 'VG Analytical [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8203 <= value <= 0x8205:
#: [Neil Sembower]
extend_enum(cls, 'Quantum Software [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8221 <= value <= 0x8222:
#: [Neil Sembower]
extend_enum(cls, 'Ascom Banking Systems [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x823E <= value <= 0x8240:
#: [Neil Sembower]
extend_enum(cls, 'Advanced Encryption Syste [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x827F <= value <= 0x8282:
#: [Neil Sembower]
extend_enum(cls, 'Athena Programming [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8263 <= value <= 0x826A:
#: [Neil Sembower]
extend_enum(cls, 'Charles River Data System [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x829A <= value <= 0x829B:
#: [Neil Sembower]
extend_enum(cls, 'Inst Ind Info Tech [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x829C <= value <= 0x82AB:
#: [Neil Sembower]
extend_enum(cls, 'Taurus Controls [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x82AC <= value <= 0x8693:
#: [Neil Sembower]
extend_enum(cls, 'Walker Richer & Quinn [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8694 <= value <= 0x869D:
#: [Neil Sembower]
extend_enum(cls, 'Idea Courier [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x869E <= value <= 0x86A1:
#: [Neil Sembower]
extend_enum(cls, 'Computer Network Tech [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x86A3 <= value <= 0x86AC:
#: [Neil Sembower]
extend_enum(cls, 'Gateway Communications [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x86E0 <= value <= 0x86EF:
#: [Neil Sembower]
extend_enum(cls, 'Landis & Gyr Powers [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8700 <= value <= 0x8710:
#: [Neil Sembower]
extend_enum(cls, 'Motorola [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0x8A96 <= value <= 0x8A97:
#: [Neil Sembower]
extend_enum(cls, 'Invisible Software [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
if 0xFF00 <= value <= 0xFF0F:
#: [Neil Sembower]
extend_enum(cls, 'ISC Bunker Ramo [0x%s]' % hex(value)[2:].upper().zfill(4), value)
return cls(value)
return super()._missing_(value)