1 1.2 christos /* 2 1.1 christos * Redistribution and use in source and binary forms, with or without 3 1.1 christos * modification, are permitted provided that: (1) source code 4 1.1 christos * distributions retain the above copyright notice and this paragraph 5 1.1 christos * in its entirety, and (2) distributions including binary code include 6 1.1 christos * the above copyright notice and this paragraph in its entirety in 7 1.1 christos * the documentation or other materials provided with the distribution. 8 1.1 christos * THIS SOFTWARE IS PROVIDED ``AS IS'' AND 9 1.1 christos * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT 10 1.1 christos * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 11 1.1 christos * FOR A PARTICULAR PURPOSE. 12 1.1 christos * 13 1.8 christos * Original code by Hannes Gredler (hannes (at) gredler.at) 14 1.1 christos */ 15 1.1 christos 16 1.2 christos #include <sys/cdefs.h> 17 1.1 christos #ifndef lint 18 1.10 christos __RCSID("$NetBSD: oui.c,v 1.10 2024/09/02 16:15:30 christos Exp $"); 19 1.1 christos #endif 20 1.1 christos 21 1.9 christos #include <config.h> 22 1.1 christos 23 1.9 christos #include "netdissect-stdinc.h" 24 1.6 christos #include "netdissect.h" 25 1.1 christos #include "oui.h" 26 1.1 christos 27 1.1 christos /* FIXME complete OUI list using a script */ 28 1.1 christos 29 1.1 christos const struct tok oui_values[] = { 30 1.1 christos { OUI_ENCAP_ETHER, "Ethernet" }, 31 1.1 christos { OUI_CISCO, "Cisco" }, 32 1.7 spz { OUI_IANA, "IANA" }, 33 1.1 christos { OUI_NORTEL, "Nortel Networks SONMP" }, 34 1.1 christos { OUI_CISCO_90, "Cisco bridged" }, 35 1.1 christos { OUI_RFC2684, "Ethernet bridged" }, 36 1.1 christos { OUI_ATM_FORUM, "ATM Forum" }, 37 1.1 christos { OUI_CABLE_BPDU, "DOCSIS Spanning Tree" }, 38 1.1 christos { OUI_APPLETALK, "Appletalk" }, 39 1.1 christos { OUI_JUNIPER, "Juniper" }, 40 1.1 christos { OUI_HP, "Hewlett-Packard" }, 41 1.1 christos { OUI_IEEE_8021_PRIVATE, "IEEE 802.1 Private"}, 42 1.1 christos { OUI_IEEE_8023_PRIVATE, "IEEE 802.3 Private"}, 43 1.1 christos { OUI_TIA, "ANSI/TIA"}, 44 1.3 christos { OUI_DCBX, "DCBX"}, 45 1.5 christos { OUI_NICIRA, "Nicira Networks" }, 46 1.5 christos { OUI_BSN, "Big Switch Networks" }, 47 1.5 christos { OUI_VELLO, "Vello Systems" }, 48 1.5 christos { OUI_HP2, "HP" }, 49 1.5 christos { OUI_HPLABS, "HP-Labs" }, 50 1.5 christos { OUI_INFOBLOX, "Infoblox Inc" }, 51 1.5 christos { OUI_ONLAB, "Open Networking Lab" }, 52 1.5 christos { OUI_FREESCALE, "Freescale" }, 53 1.5 christos { OUI_NETRONOME, "Netronome" }, 54 1.9 christos { OUI_BROADCOM, "Broadcom" }, 55 1.9 christos { OUI_PMC_SIERRA, "PMC-Sierra" }, 56 1.9 christos { OUI_ERICSSON, "Ericsson" }, 57 1.1 christos { 0, NULL } 58 1.1 christos }; 59 1.1 christos 60 1.1 christos /* 61 1.1 christos * SMI Network Management Private Enterprise Codes for organizations. 62 1.1 christos * 63 1.1 christos * XXX - these also appear in FreeRadius dictionary files, with items such 64 1.1 christos * as 65 1.1 christos * 66 1.1 christos * VENDOR Cisco 9 67 1.1 christos * 68 1.1 christos * List taken from Ethereal's epan/sminmpec.c. 69 1.1 christos */ 70 1.1 christos const struct tok smi_values[] = { 71 1.1 christos { SMI_IETF, "IETF (reserved)"}, 72 1.1 christos { SMI_ACC, "ACC"}, 73 1.1 christos { SMI_CISCO, "Cisco"}, 74 1.1 christos { SMI_HEWLETT_PACKARD, "Hewlett Packard"}, 75 1.1 christos { SMI_SUN_MICROSYSTEMS, "Sun Microsystems"}, 76 1.1 christos { SMI_MERIT, "Merit"}, 77 1.9 christos { SMI_AT_AND_T, "AT&T"}, 78 1.9 christos { SMI_MOTOROLA, "Motorola"}, 79 1.1 christos { SMI_SHIVA, "Shiva"}, 80 1.1 christos { SMI_ERICSSON, "Ericsson AB"}, 81 1.1 christos { SMI_CISCO_VPN5000, "Cisco VPN 5000"}, 82 1.1 christos { SMI_LIVINGSTON, "Livingston"}, 83 1.1 christos { SMI_MICROSOFT, "Microsoft"}, 84 1.1 christos { SMI_3COM, "3Com"}, 85 1.1 christos { SMI_ASCEND, "Ascend"}, 86 1.1 christos { SMI_BAY, "Bay Networks"}, 87 1.1 christos { SMI_FOUNDRY, "Foundry"}, 88 1.1 christos { SMI_VERSANET, "Versanet"}, 89 1.1 christos { SMI_REDBACK, "Redback"}, 90 1.1 christos { SMI_JUNIPER, "Juniper Networks"}, 91 1.1 christos { SMI_APTIS, "Aptis"}, 92 1.9 christos { SMI_DT_AG, "Deutsche Telekom AG"}, 93 1.9 christos { SMI_IXIA, "Ixia Communications"}, 94 1.1 christos { SMI_CISCO_VPN3000, "Cisco VPN 3000"}, 95 1.1 christos { SMI_COSINE, "CoSine Communications"}, 96 1.1 christos { SMI_NETSCREEN, "Netscreen"}, 97 1.1 christos { SMI_SHASTA, "Shasta"}, 98 1.1 christos { SMI_NOMADIX, "Nomadix"}, 99 1.9 christos { SMI_T_MOBILE, "T-Mobile"}, 100 1.9 christos { SMI_BROADBAND_FORUM, "The Broadband Forum"}, 101 1.9 christos { SMI_ZTE, "ZTE"}, 102 1.1 christos { SMI_SIEMENS, "Siemens"}, 103 1.1 christos { SMI_CABLELABS, "CableLabs"}, 104 1.1 christos { SMI_UNISPHERE, "Unisphere Networks"}, 105 1.1 christos { SMI_CISCO_BBSM, "Cisco BBSM"}, 106 1.1 christos { SMI_THE3GPP2, "3rd Generation Partnership Project 2 (3GPP2)"}, 107 1.9 christos { SMI_SKT_TELECOM, "SK Telecom"}, 108 1.1 christos { SMI_IP_UNPLUGGED, "ipUnplugged"}, 109 1.1 christos { SMI_ISSANNI, "Issanni Communications"}, 110 1.9 christos { SMI_NETSCALER, "Netscaler"}, 111 1.9 christos { SMI_DE_TE_MOBIL, "T-Mobile"}, 112 1.1 christos { SMI_QUINTUM, "Quintum"}, 113 1.1 christos { SMI_INTERLINK, "Interlink"}, 114 1.9 christos { SMI_CNCTC, "CNCTC"}, 115 1.9 christos { SMI_STARENT_NETWORKS, "Starent Networks"}, 116 1.1 christos { SMI_COLUBRIS, "Colubris"}, 117 1.1 christos { SMI_THE3GPP, "3GPP"}, 118 1.1 christos { SMI_GEMTEK_SYSTEMS, "Gemtek-Systems"}, 119 1.9 christos { SMI_BARRACUDA, "Barracuda Networks"}, 120 1.9 christos { SMI_ERICSSON_PKT_CORE, "Ericsson AB - Packet Core Networks"}, 121 1.9 christos { SMI_DACOM, "dacom"}, 122 1.9 christos { SMI_COLUMBIA_UNIVERSITY, "Columbia University"}, 123 1.9 christos { SMI_FORTINET, "Fortinet"}, 124 1.9 christos { SMI_VERIZON, "Verizon Wireless"}, 125 1.9 christos { SMI_PLIXER, "Plixer"}, 126 1.1 christos { SMI_WIFI_ALLIANCE, "Wi-Fi Alliance"}, 127 1.9 christos { SMI_T_SYSTEMS_NOVA, "T-Systems Nova"}, 128 1.9 christos { SMI_CHINATELECOM_GUANZHOU, "China Telecom - Guangzhou Research Institute"}, 129 1.9 christos { SMI_GIGAMON, "Gigamon Systems"}, 130 1.9 christos { SMI_CACE, "CACE Technologies"}, 131 1.9 christos { SMI_NTOP, "ntop"}, 132 1.9 christos { SMI_ERICSSON_CANADA_INC, "Ericsson Canada"}, 133 1.1 christos { 0, NULL} 134 1.1 christos }; 135