Home | History | Annotate | Line # | Download | only in dist
oui.c revision 1.7
      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.1  christos  * Original code by Hannes Gredler (hannes (at) juniper.net)
     14  1.1  christos  */
     15  1.1  christos 
     16  1.2  christos #include <sys/cdefs.h>
     17  1.1  christos #ifndef lint
     18  1.7       spz __RCSID("$NetBSD: oui.c,v 1.7 2017/02/05 04:05:05 spz Exp $");
     19  1.1  christos #endif
     20  1.1  christos 
     21  1.1  christos #ifdef HAVE_CONFIG_H
     22  1.1  christos #include "config.h"
     23  1.1  christos #endif
     24  1.1  christos 
     25  1.6  christos #include <netdissect-stdinc.h>
     26  1.6  christos #include "netdissect.h"
     27  1.1  christos #include "oui.h"
     28  1.1  christos 
     29  1.1  christos /* FIXME complete OUI list using a script */
     30  1.1  christos 
     31  1.1  christos const struct tok oui_values[] = {
     32  1.1  christos     { OUI_ENCAP_ETHER, "Ethernet" },
     33  1.1  christos     { OUI_CISCO, "Cisco" },
     34  1.7       spz     { OUI_IANA, "IANA" },
     35  1.1  christos     { OUI_NORTEL, "Nortel Networks SONMP" },
     36  1.1  christos     { OUI_CISCO_90, "Cisco bridged" },
     37  1.1  christos     { OUI_RFC2684, "Ethernet bridged" },
     38  1.1  christos     { OUI_ATM_FORUM, "ATM Forum" },
     39  1.1  christos     { OUI_CABLE_BPDU, "DOCSIS Spanning Tree" },
     40  1.1  christos     { OUI_APPLETALK, "Appletalk" },
     41  1.1  christos     { OUI_JUNIPER, "Juniper" },
     42  1.1  christos     { OUI_HP, "Hewlett-Packard" },
     43  1.1  christos     { OUI_IEEE_8021_PRIVATE, "IEEE 802.1 Private"},
     44  1.1  christos     { OUI_IEEE_8023_PRIVATE, "IEEE 802.3 Private"},
     45  1.1  christos     { OUI_TIA, "ANSI/TIA"},
     46  1.3  christos     { OUI_DCBX, "DCBX"},
     47  1.5  christos     { OUI_NICIRA, "Nicira Networks" },
     48  1.5  christos     { OUI_BSN, "Big Switch Networks" },
     49  1.5  christos     { OUI_VELLO, "Vello Systems" },
     50  1.5  christos     { OUI_HP2, "HP" },
     51  1.5  christos     { OUI_HPLABS, "HP-Labs" },
     52  1.5  christos     { OUI_INFOBLOX, "Infoblox Inc" },
     53  1.5  christos     { OUI_ONLAB, "Open Networking Lab" },
     54  1.5  christos     { OUI_FREESCALE, "Freescale" },
     55  1.5  christos     { OUI_NETRONOME, "Netronome" },
     56  1.1  christos     { 0, NULL }
     57  1.1  christos };
     58  1.1  christos 
     59  1.1  christos /*
     60  1.1  christos  * SMI Network Management Private Enterprise Codes for organizations.
     61  1.1  christos  *
     62  1.1  christos  * XXX - these also appear in FreeRadius dictionary files, with items such
     63  1.1  christos  * as
     64  1.1  christos  *
     65  1.1  christos  *	VENDOR          Cisco           9
     66  1.1  christos  *
     67  1.1  christos  * List taken from Ethereal's epan/sminmpec.c.
     68  1.1  christos  */
     69  1.1  christos const struct tok smi_values[] = {
     70  1.1  christos     { SMI_IETF,                 "IETF (reserved)"},
     71  1.1  christos     { SMI_ACC,                  "ACC"},
     72  1.1  christos     { SMI_CISCO,                "Cisco"},
     73  1.1  christos     { SMI_HEWLETT_PACKARD,      "Hewlett Packard"},
     74  1.1  christos     { SMI_SUN_MICROSYSTEMS,     "Sun Microsystems"},
     75  1.1  christos     { SMI_MERIT,                "Merit"},
     76  1.1  christos     { SMI_SHIVA,                "Shiva"},
     77  1.1  christos     { SMI_ERICSSON,             "Ericsson AB"},
     78  1.1  christos     { SMI_CISCO_VPN5000,        "Cisco VPN 5000"},
     79  1.1  christos     { SMI_LIVINGSTON,           "Livingston"},
     80  1.1  christos     { SMI_MICROSOFT,            "Microsoft"},
     81  1.1  christos     { SMI_3COM,                 "3Com"},
     82  1.1  christos     { SMI_ASCEND,               "Ascend"},
     83  1.1  christos     { SMI_BAY,                  "Bay Networks"},
     84  1.1  christos     { SMI_FOUNDRY,              "Foundry"},
     85  1.1  christos     { SMI_VERSANET,             "Versanet"},
     86  1.1  christos     { SMI_REDBACK,              "Redback"},
     87  1.1  christos     { SMI_JUNIPER,              "Juniper Networks"},
     88  1.1  christos     { SMI_APTIS,                "Aptis"},
     89  1.1  christos     { SMI_CISCO_VPN3000,        "Cisco VPN 3000"},
     90  1.1  christos     { SMI_COSINE,               "CoSine Communications"},
     91  1.1  christos     { SMI_NETSCREEN,            "Netscreen"},
     92  1.1  christos     { SMI_SHASTA,               "Shasta"},
     93  1.1  christos     { SMI_NOMADIX,              "Nomadix"},
     94  1.1  christos     { SMI_SIEMENS,              "Siemens"},
     95  1.1  christos     { SMI_CABLELABS,            "CableLabs"},
     96  1.1  christos     { SMI_UNISPHERE,            "Unisphere Networks"},
     97  1.1  christos     { SMI_CISCO_BBSM,           "Cisco BBSM"},
     98  1.1  christos     { SMI_THE3GPP2,             "3rd Generation Partnership Project 2 (3GPP2)"},
     99  1.1  christos     { SMI_IP_UNPLUGGED,         "ipUnplugged"},
    100  1.1  christos     { SMI_ISSANNI,              "Issanni Communications"},
    101  1.1  christos     { SMI_QUINTUM,              "Quintum"},
    102  1.1  christos     { SMI_INTERLINK,            "Interlink"},
    103  1.1  christos     { SMI_COLUBRIS,             "Colubris"},
    104  1.1  christos     { SMI_COLUMBIA_UNIVERSITY,  "Columbia University"},
    105  1.1  christos     { SMI_THE3GPP,              "3GPP"},
    106  1.1  christos     { SMI_GEMTEK_SYSTEMS,       "Gemtek-Systems"},
    107  1.1  christos     { SMI_WIFI_ALLIANCE,        "Wi-Fi Alliance"},
    108  1.1  christos     { 0, NULL}
    109  1.1  christos };
    110