aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Mayer <jmayer@loplof.de>2019-11-07 18:35:32 +0100
committerJörg Mayer <jmayer@loplof.de>2019-11-07 17:37:39 +0000
commit59b5bff2d187d175493d4c4ddec0fd43d303c501 (patch)
tree31b2bc518b259cbcb498e5687cc29fb9073815a6
parent2ff32787c5a53ed7b3f8645ae11c15e1390c4fc3 (diff)
lldp: Add aggregation status bits to LACP TLV
Change-Id: Ia83c64dfc4a99e6e13ff807f2c0bfdb09d83a94e Reviewed-on: https://code.wireshark.org/review/35027 Reviewed-by: Jörg Mayer <jmayer@loplof.de>
-rw-r--r--epan/dissectors/packet-lldp.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/epan/dissectors/packet-lldp.c b/epan/dissectors/packet-lldp.c
index eb13eca187..2b889473a3 100644
--- a/epan/dissectors/packet-lldp.c
+++ b/epan/dissectors/packet-lldp.c
@@ -169,6 +169,7 @@ static int hf_ieee_802_1_proto_id = -1;
static int hf_ieee_802_1_aggregation_status = -1;
static int hf_ieee_802_1_aggregation_status_cap = -1;
static int hf_ieee_802_1_aggregation_status_enabled = -1;
+static int hf_ieee_802_1_aggregation_status_porttype = -1;
static int hf_ieee_802_1_aggregated_port_id = -1;
static int hf_ieee_8021qau_cnpv_prio0 = -1;
static int hf_ieee_8021qau_cnpv_prio1 = -1;
@@ -575,6 +576,14 @@ static const value_string chassis_id_subtypes[] = {
{ 0, NULL}
};
+static const value_string porttype_values[] = {
+ { 0, "Not specified"},
+ { 1, "From aggregation port"},
+ { 2, "From aggregator"},
+ { 3, "From single-port aggregator"},
+ { 0, NULL}
+};
+
static const value_string port_id_subtypes[] = {
{ 0, "Reserved"},
{ 1, "Interface alias"},
@@ -2236,6 +2245,7 @@ dissect_ieee_802_1_tlv(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
mac_phy_flags = proto_item_add_subtree(tf, ett_802_1_aggregation);
proto_tree_add_item(mac_phy_flags, hf_ieee_802_1_aggregation_status_cap, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(mac_phy_flags, hf_ieee_802_1_aggregation_status_enabled, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(mac_phy_flags, hf_ieee_802_1_aggregation_status_porttype, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
@@ -4906,6 +4916,10 @@ proto_register_lldp(void)
{ "Aggregation Status", "lldp.ieee.802_1.aggregation_status.enabled", FT_BOOLEAN, 8,
TFS(&tfs_enabled_disabled), 0x02, NULL, HFILL }
},
+ { &hf_ieee_802_1_aggregation_status_porttype,
+ { "Aggregation Status", "lldp.ieee.802_1.aggregation_status.porttype", FT_UINT8, BASE_DEC,
+ VALS(porttype_values), 0x0c, NULL, HFILL }
+ },
{ &hf_ieee_802_1_aggregated_port_id,
{ "Aggregated Port Id", "lldp.ieee.802_1.aggregated_port_id", FT_UINT32, BASE_DEC,
NULL, 0, NULL, HFILL }