Move a pile of protocol-related headers from the top-level source
[obnox/wireshark/wip.git] / epan / dissectors / packet-cisco-oui.c
1 /* packet-cisco-oui.c
2  * Register an LLC dissector table for Cisco's OUI 00:00:0c
3  *
4  * $Id$
5  *
6  * Ethereal - Network traffic analyzer
7  * By Gerald Combs <gerald@ethereal.com>
8  * Copyright 1998 Gerald Combs
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
23  */
24
25 #include "config.h"
26
27 #include <epan/packet.h>
28 #include "packet-llc.h"
29 #include <epan/oui.h>
30
31 static int hf_llc_cisco_pid = -1;
32
33 /*
34  * See various Cisco documents, including
35  *
36  *      http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/vlan.htm
37  *
38  * and
39  *
40  *      http://www.cisco.com/en/US/products/hw/switches/ps663/products_tech_note09186a0080094713.shtml
41  *
42  * for various PID values - and for a DRIP frame format.
43  */
44 static const value_string cisco_pid_vals[] = {
45         { 0x0102,       "DRIP" },
46         { 0x0104,       "PAgP" },       /* Port Aggregation Protocol */
47         { 0x0105,       "MLS Hello" },  /* from a mail message found on the Web */
48         { 0x010b,       "PVSTP+" },     /* Per-VLAN Spanning Tree Protocol */
49         { 0x010c,       "VLAN Bridge" },
50         { 0x0111,       "UDLD" },       /* Unidirectional Link Detection */
51         { 0x2000,       "CDP" },
52         { 0x2001,       "CGMP" },
53         { 0x2003,       "VTP" },
54         { 0x2004,       "DTP" },        /* Dynamic Trunking Protocol */
55         { 0x200a,       "STP Uplink Fast" },
56         { 0,            NULL }
57 };
58
59 /*
60  * NOTE: there's no dissector here, just registration routines to set
61  * up the dissector table for the Cisco OUI.
62  */
63 void
64 proto_register_cisco_oui(void)
65 {
66         static hf_register_info hf = {
67             &hf_llc_cisco_pid,
68                 { "PID",        "llc.cisco_pid",  FT_UINT16, BASE_HEX,
69                   VALS(cisco_pid_vals), 0x0, "", HFILL },
70         };
71
72         llc_add_oui(OUI_CISCO, "llc.cisco_pid", "Cisco OUI PID", &hf);
73 }