1 /* 2 * Redistribution and use in source and binary forms, with or without 3 * modification, are permitted provided that: (1) source code 4 * distributions retain the above copyright notice and this paragraph 5 * in its entirety, and (2) distributions including binary code include 6 * the above copyright notice and this paragraph in its entirety in 7 * the documentation or other materials provided with the distribution. 8 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND 9 * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT 10 * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 11 * FOR A PARTICULAR PURPOSE. 12 * 13 * Original code by Hannes Gredler (hannes@juniper.net) 14 */ 15 16 #include <sys/cdefs.h> 17 #ifndef lint 18 __RCSID("$NetBSD: oui.c,v 1.6 2017/01/24 23:29:13 christos Exp $"); 19 #endif 20 21 #ifdef HAVE_CONFIG_H 22 #include "config.h" 23 #endif 24 25 #include <netdissect-stdinc.h> 26 #include "netdissect.h" 27 #include "oui.h" 28 29 /* FIXME complete OUI list using a script */ 30 31 const struct tok oui_values[] = { 32 { OUI_ENCAP_ETHER, "Ethernet" }, 33 { OUI_CISCO, "Cisco" }, 34 { OUI_NORTEL, "Nortel Networks SONMP" }, 35 { OUI_CISCO_90, "Cisco bridged" }, 36 { OUI_RFC2684, "Ethernet bridged" }, 37 { OUI_ATM_FORUM, "ATM Forum" }, 38 { OUI_CABLE_BPDU, "DOCSIS Spanning Tree" }, 39 { OUI_APPLETALK, "Appletalk" }, 40 { OUI_JUNIPER, "Juniper" }, 41 { OUI_HP, "Hewlett-Packard" }, 42 { OUI_IEEE_8021_PRIVATE, "IEEE 802.1 Private"}, 43 { OUI_IEEE_8023_PRIVATE, "IEEE 802.3 Private"}, 44 { OUI_TIA, "ANSI/TIA"}, 45 { OUI_DCBX, "DCBX"}, 46 { OUI_NICIRA, "Nicira Networks" }, 47 { OUI_BSN, "Big Switch Networks" }, 48 { OUI_VELLO, "Vello Systems" }, 49 { OUI_HP2, "HP" }, 50 { OUI_HPLABS, "HP-Labs" }, 51 { OUI_INFOBLOX, "Infoblox Inc" }, 52 { OUI_ONLAB, "Open Networking Lab" }, 53 { OUI_FREESCALE, "Freescale" }, 54 { OUI_NETRONOME, "Netronome" }, 55 { 0, NULL } 56 }; 57 58 /* 59 * SMI Network Management Private Enterprise Codes for organizations. 60 * 61 * XXX - these also appear in FreeRadius dictionary files, with items such 62 * as 63 * 64 * VENDOR Cisco 9 65 * 66 * List taken from Ethereal's epan/sminmpec.c. 67 */ 68 const struct tok smi_values[] = { 69 { SMI_IETF, "IETF (reserved)"}, 70 { SMI_ACC, "ACC"}, 71 { SMI_CISCO, "Cisco"}, 72 { SMI_HEWLETT_PACKARD, "Hewlett Packard"}, 73 { SMI_SUN_MICROSYSTEMS, "Sun Microsystems"}, 74 { SMI_MERIT, "Merit"}, 75 { SMI_SHIVA, "Shiva"}, 76 { SMI_ERICSSON, "Ericsson AB"}, 77 { SMI_CISCO_VPN5000, "Cisco VPN 5000"}, 78 { SMI_LIVINGSTON, "Livingston"}, 79 { SMI_MICROSOFT, "Microsoft"}, 80 { SMI_3COM, "3Com"}, 81 { SMI_ASCEND, "Ascend"}, 82 { SMI_BAY, "Bay Networks"}, 83 { SMI_FOUNDRY, "Foundry"}, 84 { SMI_VERSANET, "Versanet"}, 85 { SMI_REDBACK, "Redback"}, 86 { SMI_JUNIPER, "Juniper Networks"}, 87 { SMI_APTIS, "Aptis"}, 88 { SMI_CISCO_VPN3000, "Cisco VPN 3000"}, 89 { SMI_COSINE, "CoSine Communications"}, 90 { SMI_NETSCREEN, "Netscreen"}, 91 { SMI_SHASTA, "Shasta"}, 92 { SMI_NOMADIX, "Nomadix"}, 93 { SMI_SIEMENS, "Siemens"}, 94 { SMI_CABLELABS, "CableLabs"}, 95 { SMI_UNISPHERE, "Unisphere Networks"}, 96 { SMI_CISCO_BBSM, "Cisco BBSM"}, 97 { SMI_THE3GPP2, "3rd Generation Partnership Project 2 (3GPP2)"}, 98 { SMI_IP_UNPLUGGED, "ipUnplugged"}, 99 { SMI_ISSANNI, "Issanni Communications"}, 100 { SMI_QUINTUM, "Quintum"}, 101 { SMI_INTERLINK, "Interlink"}, 102 { SMI_COLUBRIS, "Colubris"}, 103 { SMI_COLUMBIA_UNIVERSITY, "Columbia University"}, 104 { SMI_THE3GPP, "3GPP"}, 105 { SMI_GEMTEK_SYSTEMS, "Gemtek-Systems"}, 106 { SMI_WIFI_ALLIANCE, "Wi-Fi Alliance"}, 107 { 0, NULL} 108 }; 109