aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-lldp.c
diff options
context:
space:
mode:
authorulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>2006-11-17 22:38:34 +0000
committerulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>2006-11-17 22:38:34 +0000
commit6df5108670132c147573d93f5697f1d3d9495a58 (patch)
tree761c4a0c252950904ebfc9282c28c46472638f5c /epan/dissectors/packet-lldp.c
parent69e11fd3f7609f1ad4449eed0304bfdc61392a8c (diff)
add dissection for PROFINET "PTCP Status"
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19922 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-lldp.c')
-rw-r--r--epan/dissectors/packet-lldp.c35
1 files changed, 33 insertions, 2 deletions
diff --git a/epan/dissectors/packet-lldp.c b/epan/dissectors/packet-lldp.c
index 6460c28cac..725ed52bc8 100644
--- a/epan/dissectors/packet-lldp.c
+++ b/epan/dissectors/packet-lldp.c
@@ -97,6 +97,9 @@ static int hf_profinet_cable_delay_local = -1;
static int hf_profinet_mrp_domain_uuid = -1;
static int hf_profinet_mrrt_port_status = -1;
static int hf_profinet_cm_mac = -1;
+static int hf_profinet_master_source_address = -1;
+static int hf_profinet_subdomain_uuid = -1;
+static int hf_profinet_ir_data_uuid = -1;
static int hf_unknown_subtype = -1;
/* Initialize the subtree pointers */
@@ -238,6 +241,7 @@ static const value_string profinet_subtypes[] = {
{ 3, "Alias" },
{ 4, "MRP Port Status" },
{ 5, "Chassis MAC" },
+ { 6, "PTCP Status" },
{ 0, NULL }
};
@@ -2155,8 +2159,24 @@ dissect_profinet_tlv(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, gu
offset += 6;
break;
}
+ case 6: /* PTCP status */
+ {
+ /* MasterSourceAddress */
+ proto_tree_add_ether(tree, hf_profinet_master_source_address, tvb, offset, 6, mac_addr);
+ offset += 6;
+ /* SubdomainUUID */
+ tvb_get_ntohguid (tvb, offset, (e_guid_t *) &uuid);
+ proto_tree_add_guid(tree, hf_profinet_subdomain_uuid, tvb, offset, 16, (e_guid_t *) &uuid);
+ offset += 16;
+ /* IRDataUUID */
+ tvb_get_ntohguid (tvb, offset, (e_guid_t *) &uuid);
+ proto_tree_add_guid(tree, hf_profinet_ir_data_uuid, tvb, offset, 16, (e_guid_t *) &uuid);
+ offset += 16;
+
+ break;
+ }
default:
- proto_tree_add_item(tree, hf_unknown_subtype, tvb, offset, tlvLen2, FALSE);
+ proto_tree_add_item(tree, hf_unknown_subtype, tvb, offset, tlvLen2-1, FALSE);
}
}
@@ -2534,7 +2554,18 @@ proto_register_lldp(void)
{ "CMMacAdd", "lldp.profinet.rtc3_port_status", FT_ETHER, BASE_NONE,
NULL, 0x0, "CMResponderMacAdd or CMInitiatorMacAdd", HFILL }
},
-
+ { &hf_profinet_master_source_address,
+ { "MasterSourceAddress", "lldp.profinet.master_source_address", FT_ETHER, BASE_NONE,
+ NULL, 0x0, "", HFILL }
+ },
+ { &hf_profinet_subdomain_uuid,
+ { "SubdomainUUID", "lldp.profinet.subdomain_uuid", FT_GUID, BASE_NONE,
+ NULL, 0x0, "", HFILL }
+ },
+ { &hf_profinet_ir_data_uuid,
+ { "IRDataUUID", "lldp.profinet.ir_data_uuid", FT_GUID, BASE_NONE,
+ NULL, 0x0, "", HFILL }
+ },
{ &hf_unknown_subtype,
{ "Unknown Subtype Content","lldp.unknown_subtype", FT_BYTES, BASE_HEX,
NULL, 0x0, "", HFILL }