From: Vincent Bernat Date: Wed, 17 Aug 2011 06:53:54 +0000 (+0200) Subject: cdp: Add CDP_CAP_HOST to outgoing CDP packets X-Git-Tag: 0.5.5~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e1933880be0db7a882ee350d3a0f951682abcf97;p=thirdparty%2Flldpd.git cdp: Add CDP_CAP_HOST to outgoing CDP packets --- diff --git a/src/cdp.c b/src/cdp.c index 063315fb..af4e552c 100644 --- a/src/cdp.c +++ b/src/cdp.c @@ -118,7 +118,8 @@ cdp_send(struct lldpd *global, if (chassis->c_cap_enabled & LLDP_CAP_ROUTER) cap |= CDP_CAP_ROUTER; if (chassis->c_cap_enabled & LLDP_CAP_BRIDGE) - cap |= CDP_CAP_BRIDGE; + cap |= CDP_CAP_SWITCH; + cap |= CDP_CAP_HOST; if (!( POKE_START_CDP_TLV(CDP_TLV_CAPABILITIES) && POKE_UINT32(cap) && diff --git a/src/cdp.h b/src/cdp.h index 904506da..1fe72c22 100644 --- a/src/cdp.h +++ b/src/cdp.h @@ -46,8 +46,13 @@ enum { #define CDP_ADDRESS_PROTO_IP 0xcc -#define CDP_CAP_ROUTER 1 -#define CDP_CAP_BRIDGE 8 +#define CDP_CAP_ROUTER 0x01 +#define CDP_CAP_TRANSPARENT_BRIDGE 0x02 +#define CDP_CAP_SOURCE_BRIDGE 0x04 +#define CDP_CAP_SWITCH 0x08 +#define CDP_CAP_HOST 0x10 +#define CDP_CAP_IGMP 0x20 +#define CDP_CAP_REPEATER 0x40 #endif /* _CDP_H */ diff --git a/tests/check_cdp.c b/tests/check_cdp.c index d2d775d3..f83117ba 100644 --- a/tests/check_cdp.c +++ b/tests/check_cdp.c @@ -32,7 +32,7 @@ Logical-Link Control Cisco Discovery Protocol Version: 1 TTL: 180 seconds - Checksum: 0x3b07 [correct] + Checksum: 0x3af7 [correct] [Good: True] [Bad : False] Device ID: First chassis @@ -56,12 +56,12 @@ Cisco Discovery Protocol Capabilities Type: Capabilities (0x0004) Length: 8 - Capabilities: 0x00000001 + Capabilities: 0x00000011 .... .... .... .... .... .... .... ...1 = Is a Router .... .... .... .... .... .... .... ..0. = Not a Transparent Bridge .... .... .... .... .... .... .... .0.. = Not a Source Route Bridge .... .... .... .... .... .... .... 0... = Not a Switch - .... .... .... .... .... .... ...0 .... = Not a Host + .... .... .... .... .... .... ...1 .... = Is a Host .... .... .... .... .... .... ..0. .... = Not IGMP capable .... .... .... .... .... .... .0.. .... = Not a Repeater Software Version @@ -77,14 +77,14 @@ Cisco Discovery Protocol 0x01, 0x00, 0x0c, 0xcc, 0xcc, 0xcc, 0x5e, 0x10, 0x8e, 0xe7, 0x84, 0xad, 0x00, 0x6a, 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x0c, 0x20, 0x00, 0x01, 0xb4, - 0x3b, 0x07, 0x00, 0x01, 0x00, 0x11, 0x46, 0x69, + 0x3a, 0xf7, 0x00, 0x01, 0x00, 0x11, 0x46, 0x69, 0x72, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0xcc, 0x00, 0x04, 0xac, 0x11, 0x8e, 0x25, 0x00, 0x03, 0x00, 0x14, 0x46, 0x61, 0x73, 0x74, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x31, 0x2f, 0x35, - 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x00, 0x05, 0x00, 0x17, 0x43, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x00, @@ -143,7 +143,7 @@ Logical-Link Control Cisco Discovery Protocol Version: 2 TTL: 180 seconds - Checksum: 0x6926 [correct] + Checksum: 0x5926 [correct] [Good: True] [Bad : False] Device ID: Second chassis @@ -167,12 +167,12 @@ Cisco Discovery Protocol Capabilities Type: Capabilities (0x0004) Length: 8 - Capabilities: 0x00000009 + Capabilities: 0x00000019 .... .... .... .... .... .... .... ...1 = Is a Router .... .... .... .... .... .... .... ..0. = Not a Transparent Bridge .... .... .... .... .... .... .... .0.. = Not a Source Route Bridge .... .... .... .... .... .... .... 1... = Is a Switch - .... .... .... .... .... .... ...0 .... = Not a Host + .... .... .... .... .... .... ...1 .... = Is a Host .... .... .... .... .... .... ..0. .... = Not IGMP capable .... .... .... .... .... .... .0.. .... = Not a Repeater Software Version @@ -188,7 +188,7 @@ Cisco Discovery Protocol 0x01, 0x00, 0x0c, 0xcc, 0xcc, 0xcc, 0x5e, 0x10, 0x8e, 0xe7, 0x84, 0xad, 0x00, 0x6f, 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x0c, 0x20, 0x00, 0x02, 0xb4, - 0x69, 0x26, 0x00, 0x01, 0x00, 0x12, 0x53, 0x65, + 0x59, 0x26, 0x00, 0x01, 0x00, 0x12, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0xcc, 0x00, @@ -196,7 +196,7 @@ Cisco Discovery Protocol 0x18, 0x47, 0x69, 0x67, 0x61, 0x62, 0x69, 0x74, 0x20, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x35, 0x2f, 0x38, 0x00, 0x04, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x05, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x19, 0x00, 0x05, 0x00, 0x17, 0x43, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x09, @@ -245,7 +245,7 @@ START_TEST (test_recv_cdpv1) 0x01, 0x01, 0xcc, 0x00, 0x04, 0xc0, 0xa8, 0x0a, 0x01, 0x00, 0x03, 0x00, 0x0d, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x30, 0x00, 0x04, - 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x00, 0x05, 0x00, 0xd8, 0x43, 0x69, 0x73, 0x63, 0x6f, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x4f, 0x70, 0x65, @@ -317,12 +317,12 @@ Cisco Discovery Protocol Capabilities Type: Capabilities (0x0004) Length: 8 - Capabilities: 0x00000001 + Capabilities: 0x00000011 .... .... .... .... .... .... .... ...1 = Is a Router .... .... .... .... .... .... .... ..0. = Not a Transparent Bridge .... .... .... .... .... .... .... .0.. = Not a Source Route Bridge .... .... .... .... .... .... .... 0... = Not a Switch - .... .... .... .... .... .... ...0 .... = Not a Host + .... .... .... .... .... .... ...1 .... = Is a Host .... .... .... .... .... .... ..0. .... = Not IGMP capable .... .... .... .... .... .... .0.. .... = Not a Repeater Software Version