Home | History | Annotate | Line # | Download | only in dist
oui.c revision 1.9.2.1
      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.9.2.1  perseant __RCSID("$NetBSD: oui.c,v 1.9.2.1 2025/08/02 05:23:21 perseant 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