#![allow(
clippy::match_overlapping_arm,
clippy::match_same_arms,
clippy::needless_raw_string_hashes,
clippy::too_many_lines,
clippy::unicode_not_nfc,
unreachable_patterns
)]
use crate::EtherType;
impl EtherType {
pub const fn iana_description(self) -> Option<&'static str> {
Some(match self.0 {
0x0000..=0x05DC => r#"IEEE802.3 Length Field"#,
0x0101..=0x01FF => {
r#"Old Xerox Experimental values. Invalid as an Ethertype since 1983."#
}
0x0200 => r#"Formerly XEROX PUP. Invalid as an Ethertype since 1983. Use 0x0A00."#,
0x0201 => r#"Formerly PUP Addr Trans. Invalid as an Ethertype since 1983. Use 0x0A01."#,
0x0400 => r#"Old Nixdorf private protocol. Invalid as an Ethertype since 1983."#,
0x0600 => r#"XEROX NS IDP"#,
0x0660 => r#"DLOG"#,
0x0661 => r#"DLOG"#,
0x0800 => r#"Internet Protocol version 4 (IPv4)"#,
0x0801 => r#"X.75 Internet"#,
0x0802 => r#"NBS Internet"#,
0x0803 => r#"ECMA Internet"#,
0x0804 => r#"Chaosnet"#,
0x0805 => r#"X.25 Level 3"#,
0x0806 => r#"Address Resolution Protocol (ARP)"#,
0x0807 => r#"XNS Compatability"#,
0x0808 => r#"Frame Relay ARP"#,
0x081C => r#"Symbolics Private"#,
0x0888..=0x088A => r#"Xyplex"#,
0x0900 => r#"Ungermann-Bass net debugr"#,
0x0A00 => r#"Xerox IEEE802.3 PUP"#,
0x0A01 => r#"PUP Addr Trans"#,
0x0BAD => r#"Banyan VINES"#,
0x0BAE => r#"VINES Loopback"#,
0x0BAF => r#"VINES Echo"#,
0x1000 => r#"Berkeley Trailer nego"#,
0x1001..=0x100F => r#"Berkeley Trailer encap/IP"#,
0x1600 => r#"Valid Systems"#,
0x22F3 => r#"TRILL"#,
0x22F4 => r#"L2-IS-IS"#,
0x4242 => r#"PCS Basic Block Protocol"#,
0x5208 => r#"BBN Simnet"#,
0x6000 => r#"DEC Unassigned (Exp.)"#,
0x6001 => r#"DEC MOP Dump/Load"#,
0x6002 => r#"DEC MOP Remote Console"#,
0x6003 => r#"DEC DECNET Phase IV Route"#,
0x6004 => r#"DEC LAT"#,
0x6005 => r#"DEC Diagnostic Protocol"#,
0x6006 => r#"DEC Customer Protocol"#,
0x6007 => r#"DEC LAVC, SCA"#,
0x6008..=0x6009 => r#"DEC Unassigned"#,
0x6010..=0x6014 => r#"3Com Corporation"#,
0x6558 => r#"Transparent Ethernet Bridging"#,
0x6559 => r#"Raw Frame Relay"#,
0x7000 => r#"Ungermann-Bass download"#,
0x7002 => r#"Ungermann-Bass dia/loop"#,
0x7020..=0x7029 => r#"LRT"#,
0x7030 => r#"Proteon"#,
0x7034 => r#"Cabletron"#,
0x8003 => r#"Cronus VLN"#,
0x8004 => r#"Cronus Direct"#,
0x8005 => r#"HP Probe"#,
0x8006 => r#"Nestar"#,
0x8008 => r#"AT&T"#,
0x8010 => r#"Excelan"#,
0x8013 => r#"SGI diagnostics"#,
0x8014 => r#"SGI network games"#,
0x8015 => r#"SGI reserved"#,
0x8016 => r#"SGI bounce server"#,
0x8019 => r#"Apollo Domain"#,
0x802E => r#"Tymshare"#,
0x802F => r#"Tigan, Inc."#,
0x8035 => r#"Reverse Address Resolution Protocol (RARP)"#,
0x8036 => r#"Aeonic Systems"#,
0x8038 => r#"DEC LANBridge"#,
0x8039..=0x803C => r#"DEC Unassigned"#,
0x803D => r#"DEC Ethernet Encryption"#,
0x803E => r#"DEC Unassigned"#,
0x803F => r#"DEC LAN Traffic Monitor"#,
0x8040..=0x8042 => r#"DEC Unassigned"#,
0x8044 => r#"Planning Research Corp."#,
0x8046 => r#"AT&T"#,
0x8047 => r#"AT&T"#,
0x8049 => r#"ExperData"#,
0x805B => r#"Stanford V Kernel exp."#,
0x805C => r#"Stanford V Kernel prod."#,
0x805D => r#"Evans & Sutherland"#,
0x8060 => r#"Little Machines"#,
0x8062 => r#"Counterpoint Computers"#,
0x8065 => r#"Univ. of Mass. @ Amherst"#,
0x8066 => r#"Univ. of Mass. @ Amherst"#,
0x8067 => r#"Veeco Integrated Auto."#,
0x8068 => r#"General Dynamics"#,
0x8069 => r#"AT&T"#,
0x806A => r#"Autophon"#,
0x806C => r#"ComDesign"#,
0x806D => r#"Computgraphic Corp."#,
0x806E..=0x8077 => r#"Landmark Graphics Corp."#,
0x807A => r#"Matra"#,
0x807B => r#"Dansk Data Elektronik"#,
0x807C => r#"Merit Internodal"#,
0x807D..=0x807F => r#"Vitalink Communications"#,
0x8080 => r#"Vitalink TransLAN III"#,
0x8081..=0x8083 => r#"Counterpoint Computers"#,
0x809B => r#"Appletalk"#,
0x809C..=0x809E => r#"Datability"#,
0x809F => r#"Spider Systems Ltd."#,
0x80A3 => r#"Nixdorf Computers"#,
0x80A4..=0x80B3 => r#"Siemens Gammasonics Inc."#,
0x80C0..=0x80C3 => r#"DCA Data Exchange Cluster"#,
0x80C4 => r#"Banyan Systems"#,
0x80C5 => r#"Banyan Systems"#,
0x80C6 => r#"Pacer Software"#,
0x80C7 => r#"Applitek Corporation"#,
0x80C8..=0x80CC => r#"Intergraph Corporation"#,
0x80CD..=0x80CE => r#"Harris Corporation"#,
0x80CF..=0x80D2 => r#"Taylor Instrument"#,
0x80D3..=0x80D4 => r#"Rosemount Corporation"#,
0x80D5 => r#"IBM SNA Service on Ether"#,
0x80DD => r#"Varian Associates"#,
0x80DE..=0x80DF => r#"Integrated Solutions TRFS"#,
0x80E0..=0x80E3 => r#"Allen-Bradley"#,
0x80E4..=0x80F0 => r#"Datability"#,
0x80F2 => r#"Retix"#,
0x80F3 => r#"AppleTalk AARP (Kinetics)"#,
0x80F4..=0x80F5 => r#"Kinetics"#,
0x80F7 => r#"Apollo Computer"#,
0x80FF => r#"Wellfleet Communications"#,
0x8100 => {
r#"Customer VLAN Tag Type (C-Tag, formerly called the Q-Tag) (initially Wellfleet)"#
}
0x8101..=0x8103 => r#"Wellfleet Communications"#,
0x8107..=0x8109 => r#"Symbolics Private"#,
0x8130 => r#"Hayes Microcomputers"#,
0x8131 => r#"VG Laboratory Systems"#,
0x8132..=0x8136 => r#"Bridge Communications"#,
0x8137..=0x8138 => r#"Novell, Inc."#,
0x8139..=0x813D => r#"KTI"#,
0x8148 => r#"Logicraft"#,
0x8149 => r#"Network Computing Devices"#,
0x814A => r#"Alpha Micro"#,
0x814C => r#"SNMP"#,
0x814D => r#"BIIN"#,
0x814E => r#"BIIN"#,
0x814F => r#"Technically Elite Concept"#,
0x8150 => r#"Rational Corp"#,
0x8151..=0x8153 => r#"Qualcomm"#,
0x815C..=0x815E => r#"Computer Protocol Pty Ltd"#,
0x8164..=0x8166 => r#"Charles River Data System"#,
0x817D => r#"XTP"#,
0x817E => r#"SGI/Time Warner prop."#,
0x8180 => r#"HIPPI-FP encapsulation"#,
0x8181 => r#"STP, HIPPI-ST"#,
0x8182 => r#"Reserved for HIPPI-6400"#,
0x8183 => r#"Reserved for HIPPI-6400"#,
0x8184..=0x818C => r#"Silicon Graphics prop."#,
0x818D => r#"Motorola Computer"#,
0x819A..=0x81A3 => r#"Qualcomm"#,
0x81A4 => r#"ARAI Bunkichi"#,
0x81A5..=0x81AE => r#"RAD Network Devices"#,
0x81B7..=0x81B9 => r#"Xyplex"#,
0x81CC..=0x81D5 => r#"Apricot Computers"#,
0x81D6..=0x81DD => r#"Artisoft"#,
0x81E6..=0x81EF => r#"Polygon"#,
0x81F0..=0x81F2 => r#"Comsat Labs"#,
0x81F3..=0x81F5 => r#"SAIC"#,
0x81F6..=0x81F8 => r#"VG Analytical"#,
0x8203..=0x8205 => r#"Quantum Software"#,
0x8221..=0x8222 => r#"Ascom Banking Systems"#,
0x823E..=0x8240 => r#"Advanced Encryption Syste"#,
0x827F..=0x8282 => r#"Athena Programming"#,
0x8263..=0x826A => r#"Charles River Data System"#,
0x829A..=0x829B => r#"Inst Ind Info Tech"#,
0x829C..=0x82AB => r#"Taurus Controls"#,
0x82AC..=0x8693 => r#"Walker Richer & Quinn"#,
0x8694..=0x869D => r#"Idea Courier"#,
0x869E..=0x86A1 => r#"Computer Network Tech"#,
0x86A3..=0x86AC => r#"Gateway Communications"#,
0x86DB => r#"SECTRA"#,
0x86DE => r#"Delta Controls"#,
0x86DD => r#"Internet Protocol version 6 (IPv6)"#,
0x86DF => r#"ATOMIC"#,
0x86E0..=0x86EF => r#"Landis & Gyr Powers"#,
0x8700..=0x8710 => r#"Motorola"#,
0x876B => r#"TCP/IP Compression"#,
0x876C => r#"IP Autonomous Systems"#,
0x876D => r#"Secure Data"#,
0x8808 => r#"IEEE Std 802.3 - Ethernet Passive Optical Network (EPON)"#,
0x8809 => r#"Slow Protocols (Link Aggregation, OAM, etc.)"#,
0x880B => r#"Point-to-Point Protocol (PPP)"#,
0x880C => r#"General Switch Management Protocol (GSMP)"#,
0x8822 => r#"Ethernet NIC hardware and software testing"#,
0x8847 => r#"MPLS"#,
0x8848 => r#"MPLS with upstream-assigned label"#,
0x8861 => r#"Multicast Channel Allocation Protocol (MCAP)"#,
0x8863 => r#"PPP over Ethernet (PPPoE) Discovery Stage"#,
0x8864 => r#"PPP over Ethernet (PPPoE) Session Stage"#,
0x888E => r#"IEEE Std 802.1X - Port-based network access control"#,
0x88A8 => r#"IEEE Std 802.1Q - Service VLAN tag identifier (S-Tag)"#,
0x8A96..=0x8A97 => r#"Invisible Software"#,
0x88B5 => r#"IEEE Std 802 - Local Experimental Ethertype"#,
0x88B6 => r#"IEEE Std 802 - Local Experimental Ethertype"#,
0x88B7 => r#"IEEE Std 802 - OUI Extended Ethertype"#,
0x88C7 => r#"IEEE Std 802.11 - Pre-Authentication (802.11i)"#,
0x88CC => r#"IEEE Std 802.1AB - Link Layer Discovery Protocol (LLDP)"#,
0x88E5 => r#"IEEE Std 802.1AE - Media Access Control Security"#,
0x88E7 => r#"Provider Backbone Bridging Instance tag"#,
0x88F5 => r#"IEEE Std 802.1Q - Multiple VLAN Registration Protocol (MVRP)"#,
0x88F6 => r#"IEEE Std 802.1Q - Multiple Multicast Registration Protocol (MMRP)"#,
0x88F7 => r#"Precision Time Protocol"#,
0x890D => r#"IEEE Std 802.11 - Fast Roaming Remote Request (802.11r)"#,
0x8917 => r#"IEEE Std 802.21 - Media Independent Handover Protocol"#,
0x8929 => r#"IEEE Std 802.1Qbe - Multiple I-SID Registration Protocol"#,
0x893B => r#"TRILL Fine Grained Labeling (FGL)"#,
0x8940 => r#"IEEE Std 802.1Qbg - ECP Protocol (also used in 802.1BR)"#,
0x8946 => r#"TRILL RBridge Channel"#,
0x8947 => r#"GeoNetworking as defined in ETSI EN 302 636-4-1"#,
0x894F => r#"NSH (Network Service Header)"#,
0x9000 => r#"Loopback"#,
0x9001 => r#"3Com(Bridge) XNS Sys Mgmt"#,
0x9002 => r#"3Com(Bridge) TCP-IP Sys"#,
0x9003 => r#"3Com(Bridge) loop detect"#,
0x9A22 => r#"Multi-Topology"#,
0xA0ED => r#"LoWPAN encapsulation"#,
0xB7EA => {
r#"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."#
}
0xFF00 => r#"BBN VITAL-LanBridge cache private protocol."#,
0xFF00..=0xFF0F => r#"ISC Bunker Ramo private protocol."#,
0xFFFF => r#"Reserved"#,
_ => return None,
})
}
}