summaryrefslogtreecommitdiffstats
path: root/plugins/epan/profinet/packet-pn-mrp.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/epan/profinet/packet-pn-mrp.c')
-rw-r--r--plugins/epan/profinet/packet-pn-mrp.c134
1 files changed, 62 insertions, 72 deletions
diff --git a/plugins/epan/profinet/packet-pn-mrp.c b/plugins/epan/profinet/packet-pn-mrp.c
index 9efafe72..e522de2e 100644
--- a/plugins/epan/profinet/packet-pn-mrp.c
+++ b/plugins/epan/profinet/packet-pn-mrp.c
@@ -23,34 +23,34 @@ void proto_reg_handoff_pn_mrp(void);
static dissector_handle_t mrp_handle;
-static int proto_pn_mrp = -1;
-
-static int hf_pn_mrp_type = -1;
-static int hf_pn_mrp_length = -1;
-static int hf_pn_mrp_version = -1;
-static int hf_pn_mrp_sequence_id = -1;
-static int hf_pn_mrp_sa = -1;
-static int hf_pn_mrp_prio = -1;
-static int hf_pn_mrp_port_role = -1;
-static int hf_pn_mrp_ring_state = -1;
-static int hf_pn_mrp_interval = -1;
-static int hf_pn_mrp_transition = -1;
-static int hf_pn_mrp_time_stamp = -1;
-static int hf_pn_mrp_blocked = -1;
-static int hf_pn_mrp_domain_uuid = -1;
-static int hf_pn_mrp_oui = -1;
-static int hf_pn_mrp_ed1type = -1;
-static int hf_pn_mrp_ed1_manufacturer_data = -1;
-static int hf_pn_mrp_sub_tlv_header_type = -1;
-static int hf_pn_mrp_sub_tlv_header_length = -1;
-static int hf_pn_mrp_sub_option2 = -1;
-static int hf_pn_mrp_other_mrm_prio = -1;
-static int hf_pn_mrp_other_mrm_sa = -1;
-static int hf_pn_mrp_manufacturer_data = -1;
-
-static gint ett_pn_mrp = -1;
-static gint ett_pn_mrp_type = -1;
-static gint ett_pn_sub_tlv = -1;
+static int proto_pn_mrp;
+
+static int hf_pn_mrp_type;
+static int hf_pn_mrp_length;
+static int hf_pn_mrp_version;
+static int hf_pn_mrp_sequence_id;
+static int hf_pn_mrp_sa;
+static int hf_pn_mrp_prio;
+static int hf_pn_mrp_port_role;
+static int hf_pn_mrp_ring_state;
+static int hf_pn_mrp_interval;
+static int hf_pn_mrp_transition;
+static int hf_pn_mrp_time_stamp;
+static int hf_pn_mrp_blocked;
+static int hf_pn_mrp_domain_uuid;
+static int hf_pn_mrp_oui;
+static int hf_pn_mrp_ed1type;
+static int hf_pn_mrp_ed1_manufacturer_data;
+static int hf_pn_mrp_sub_tlv_header_type;
+static int hf_pn_mrp_sub_tlv_header_length;
+static int hf_pn_mrp_sub_option2;
+static int hf_pn_mrp_other_mrm_prio;
+static int hf_pn_mrp_other_mrm_sa;
+static int hf_pn_mrp_manufacturer_data;
+
+static int ett_pn_mrp;
+static int ett_pn_mrp_type;
+static int ett_pn_sub_tlv;
static const value_string pn_mrp_block_type_vals[] = {
{ 0x00, "MRP_End" },
@@ -69,15 +69,6 @@ static const value_string pn_mrp_block_type_vals[] = {
{ 0, NULL },
};
-static const value_string pn_mrp_oui_vals[] = {
- { OUI_PROFINET, "PROFINET" },
- { OUI_SIEMENS, "SIEMENS" },
-
- { 0, NULL }
-};
-
-
-
static const value_string pn_mrp_port_role_vals[] = {
{ 0x0000, "Primary ring port" },
{ 0x0001, "Secondary ring port"},
@@ -143,7 +134,7 @@ static int
dissect_PNMRP_Common(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, proto_item *item _U_)
{
- guint16 sequence_id;
+ uint16_t sequence_id;
e_guid_t uuid;
@@ -161,10 +152,10 @@ static int
dissect_PNMRP_Link(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, proto_item *item _U_)
{
- guint8 mac[6];
- guint16 port_role;
- guint16 interval;
- guint16 blocked;
+ uint8_t mac[6];
+ uint16_t port_role;
+ uint16_t interval;
+ uint16_t blocked;
proto_item *sub_item;
/* MRP_SA */
@@ -202,7 +193,7 @@ dissect_PNMRP_Link(tvbuff_t *tvb, int offset,
return offset;
}
-static const char * mrp_Prio2msg(guint16 prio)
+static const char * mrp_Prio2msg(uint16_t prio)
{
if (prio == 0x0000)
@@ -229,12 +220,12 @@ static int
dissect_PNMRP_Test(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, proto_item *item _U_)
{
- guint16 prio;
- guint8 mac[6];
- guint16 port_role;
- guint16 ring_state;
- guint16 transition;
- guint32 time_stamp;
+ uint16_t prio;
+ uint8_t mac[6];
+ uint16_t port_role;
+ uint16_t ring_state;
+ uint16_t transition;
+ uint32_t time_stamp;
proto_item *sub_item;
@@ -270,9 +261,9 @@ static int
dissect_PNMRP_TopologyChange(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, proto_item *item _U_)
{
- guint16 prio;
- guint8 mac[6];
- guint16 interval;
+ uint16_t prio;
+ uint8_t mac[6];
+ uint16_t interval;
proto_item *sub_item;
@@ -302,9 +293,9 @@ dissect_PNMRP_TopologyChange(tvbuff_t *tvb, int offset,
static int
dissect_PNMRP_Ed1ManufacturerData(tvbuff_t *tvb, int offset,
-packet_info *pinfo, proto_tree *tree, guint8 *pLength)
+packet_info *pinfo, proto_tree *tree, uint8_t *pLength)
{
- guint16 u16MrpEd1ManufacturerData;
+ uint16_t u16MrpEd1ManufacturerData;
offset = dissect_pn_uint16(tvb, offset, pinfo, tree, hf_pn_mrp_ed1_manufacturer_data,
&u16MrpEd1ManufacturerData);
*pLength -= 2;
@@ -315,14 +306,14 @@ static int
dissect_PNMRP_SubOption2(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree)
{
- guint8 u8SubType;
- guint8 u8Sublength;
+ uint8_t u8SubType;
+ uint8_t u8Sublength;
proto_item *sub_item;
proto_tree *sub_tree;
- guint16 u16Prio;
- guint16 u16OtherPrio;
- guint8 mac[6];
- guint8 otherMac[6];
+ uint16_t u16Prio;
+ uint16_t u16OtherPrio;
+ uint8_t mac[6];
+ uint8_t otherMac[6];
sub_item = proto_tree_add_item(tree, hf_pn_mrp_sub_option2, tvb, offset, 0, ENC_NA);
sub_tree = proto_item_add_subtree(sub_item, ett_pn_sub_tlv);
@@ -379,19 +370,19 @@ packet_info *pinfo, proto_tree *tree)
static int
dissect_PNMRP_Option(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, proto_item *item, guint8 length)
+ packet_info *pinfo, proto_tree *tree, proto_item *item, uint8_t length)
{
- guint32 oui;
- guint8 u8MrpEd1Type;
+ uint32_t oui;
+ uint8_t u8MrpEd1Type;
/* OUI (organizational unique id) */
offset = dissect_pn_oid(tvb, offset, pinfo,tree, hf_pn_mrp_oui, &oui);
+ length -= 3;
switch (oui)
{
case OUI_SIEMENS:
proto_item_append_text(item, "(SIEMENS)");
- length -= 3;
offset = dissect_pn_uint8(tvb, offset, pinfo, tree, hf_pn_mrp_ed1type, &u8MrpEd1Type);
length -= 1;
switch (u8MrpEd1Type)
@@ -435,10 +426,10 @@ static int
dissect_PNMRP_PDU(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, proto_item *item)
{
- guint16 version;
- guint8 type;
- guint8 length;
- gint i;
+ uint16_t version;
+ uint8_t type;
+ uint8_t length;
+ int i;
tvbuff_t *new_tvb;
proto_item *sub_item;
proto_tree *sub_tree;
@@ -476,7 +467,6 @@ dissect_PNMRP_PDU(tvbuff_t *tvb, int offset,
case 0x00:
/* no content */
return offset;
- break;
case 0x01:
offset = dissect_PNMRP_Common(new_tvb, offset, pinfo, sub_tree, sub_item);
break;
@@ -510,7 +500,7 @@ dissect_PNMRP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U
proto_item *ti = NULL;
proto_tree *mrp_tree = NULL;
- guint32 offset = 0;
+ uint32_t offset = 0;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "PN-MRP");
@@ -599,7 +589,7 @@ proto_register_pn_mrp (void)
{ &hf_pn_mrp_oui,
{ "MRP_ManufacturerOUI", "pn_mrp.oui",
- FT_UINT24, BASE_HEX, VALS(pn_mrp_oui_vals), 0x0,
+ FT_UINT24, BASE_OUI, NULL, 0x0,
NULL, HFILL }},
{ &hf_pn_mrp_ed1type,
@@ -642,7 +632,7 @@ proto_register_pn_mrp (void)
NULL, HFILL }}
};
- static gint *ett[] = {
+ static int *ett[] = {
&ett_pn_mrp,
&ett_pn_mrp_type,
&ett_pn_sub_tlv