Cisco CDP packets appears to be sent as LLC packets with an OUI of

0x00000c and a protocol ID of 0x2000 - we used to recognize those as CDP
because we ignored the OUI and treated all LLC packets as
SNAP-encapsulated packets, and treated 0x2000 as an Ethertype, but we
now treat only encapsulated-Ethernet and Apple packets as
SNAP-encapsulated (and arguably we should handle Apple separately).

svn path=/trunk/; revision=1452
This commit is contained in:
Guy Harris 2000-01-12 19:37:24 +00:00
parent bd7c6bda88
commit 3db486ab74
2 changed files with 24 additions and 3 deletions

3
oui.h
View File

@ -2,7 +2,7 @@
* Definitions of OUIs
* Gilbert Ramirez <gramirez@tivoli.com>
*
* $Id: oui.h,v 1.2 2000/01/07 22:05:28 guy Exp $
* $Id: oui.h,v 1.3 2000/01/12 19:37:24 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@ -25,6 +25,7 @@
*/
#define OUI_ENCAP_ETHER 0x000000 /* encapsulated Ethernet */
#define OUI_CISCO 0x00000C /* Cisco */
#define OUI_ATM_FORUM 0x00A03E /* ATM Forum */
#define OUI_APPLE_ATALK 0x080007 /* Appletalk */

View File

@ -2,7 +2,7 @@
* Routines for IEEE 802.2 LLC layer
* Gilbert Ramirez <gramirez@tivoli.com>
*
* $Id: packet-llc.c,v 1.37 2000/01/07 22:05:32 guy Exp $
* $Id: packet-llc.c,v 1.38 2000/01/12 19:37:23 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@ -156,7 +156,7 @@ const value_string oui_vals[] = {
/*
http://www.cisco.com/univercd/cc/td/doc/product/software/ios113ed/113ed_cr/ibm_r/brprt1/brsrb.htm
*/
{ 0x00000c, "Cisco" },
{ OUI_CISCO, "Cisco" },
{ 0x0000f8, "Cisco 90-Compatible" },
{ 0x0080c2, "Bridged Frame-Relay" }, /* RFC 2427 */
{ OUI_ATM_FORUM, "ATM Forum" },
@ -369,6 +369,26 @@ dissect_llc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
fd, tree, llc_tree, hf_llc_type);
break;
case OUI_CISCO:
/* So are all CDP packets LLC packets
with an OUI of OUI_CISCO and a
protocol ID of 0x2000, or
are some of them raw or encapsulated
Ethernet? */
switch (etype) {
case 0x2000:
if (tree) {
proto_tree_add_item(llc_tree,
hf_llc_pid, offset+6,
2, etype);
}
dissect_cdp(pd, offset+8, fd, tree);
break;
}
break;
default:
proto_tree_add_item(llc_tree, hf_llc_pid,
offset+6, 2, etype);