summaryrefslogtreecommitdiff
path: root/print-lldp.c
diff options
context:
space:
mode:
authorMoses Devadason <mosesdevadason@gmail.com>2020-06-28 11:07:54 +0530
committerfxlb <devel.fx.lebail@orange.fr>2020-06-30 20:12:31 +0000
commit1f9d3d622e419fcc44f1cd0f1e53f04004d98600 (patch)
treebe87df1dd6311acc31726aa1e822a97685891fe3 /print-lldp.c
parent8a33158e8896bcc38ceccf2d52c11af84dbfb971 (diff)
downloadtcpdump-1f9d3d622e419fcc44f1cd0f1e53f04004d98600.tar.gz
LLDP 8021 link aggregation TLV support
As per IEEE std 802.1-AB-2009, 802.3 link aggregation TLV has been deprecated and link aggregation TLV has been added as an 802.1 TLV. Support for this is given.
Diffstat (limited to 'print-lldp.c')
-rw-r--r--print-lldp.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/print-lldp.c b/print-lldp.c
index 54745e5b..358a31e1 100644
--- a/print-lldp.c
+++ b/print-lldp.c
@@ -136,6 +136,7 @@ static const struct tok lldp_cap_values[] = {
#define LLDP_PRIVATE_8021_SUBTYPE_PROTOCOL_VLAN_ID 2
#define LLDP_PRIVATE_8021_SUBTYPE_VLAN_NAME 3
#define LLDP_PRIVATE_8021_SUBTYPE_PROTOCOL_IDENTITY 4
+#define LLDP_PRIVATE_8021_SUBTYPE_LINKAGGR 7
#define LLDP_PRIVATE_8021_SUBTYPE_CONGESTION_NOTIFICATION 8
#define LLDP_PRIVATE_8021_SUBTYPE_ETS_CONFIGURATION 9
#define LLDP_PRIVATE_8021_SUBTYPE_ETS_RECOMMENDATION 10
@@ -149,6 +150,7 @@ static const struct tok lldp_8021_subtype_values[] = {
{ LLDP_PRIVATE_8021_SUBTYPE_PROTOCOL_VLAN_ID, "Port and Protocol VLAN ID"},
{ LLDP_PRIVATE_8021_SUBTYPE_VLAN_NAME, "VLAN name"},
{ LLDP_PRIVATE_8021_SUBTYPE_PROTOCOL_IDENTITY, "Protocol Identity"},
+ { LLDP_PRIVATE_8021_SUBTYPE_LINKAGGR, "Link aggregation"},
{ LLDP_PRIVATE_8021_SUBTYPE_CONGESTION_NOTIFICATION, "Congestion Notification"},
{ LLDP_PRIVATE_8021_SUBTYPE_ETS_CONFIGURATION, "ETS Configuration"},
{ LLDP_PRIVATE_8021_SUBTYPE_ETS_RECOMMENDATION, "ETS Recommendation"},
@@ -712,6 +714,16 @@ lldp_private_8021_print(netdissect_options *ndo,
ND_PRINT("\n\t protocol identity: ");
(void)nd_printzp(ndo, tptr + 5, sublen, NULL);
break;
+
+ case LLDP_PRIVATE_8021_SUBTYPE_LINKAGGR:
+ if (tlv_len < 9) {
+ return hexdump;
+ }
+ ND_PRINT("\n\t aggregation status [%s], aggregation port ID %u",
+ bittok2str(lldp_aggregation_values, "none", GET_U_1((tptr + 4))),
+ GET_BE_U_4(tptr + 5));
+ break;
+
case LLDP_PRIVATE_8021_SUBTYPE_CONGESTION_NOTIFICATION:
if(tlv_len<LLDP_PRIVATE_8021_SUBTYPE_CONGESTION_NOTIFICATION_LENGTH){
return hexdump;