aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-llrp.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-llrp.c')
-rw-r--r--epan/dissectors/packet-llrp.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/epan/dissectors/packet-llrp.c b/epan/dissectors/packet-llrp.c
index aa420e58e0..ce8d3ebd07 100644
--- a/epan/dissectors/packet-llrp.c
+++ b/epan/dissectors/packet-llrp.c
@@ -2594,8 +2594,8 @@ dissect_llrp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
/* Code to actually dissect the packets */
-static void
-dissect_llrp_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static int
+dissect_llrp_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
proto_item *ti;
proto_tree *llrp_tree;
@@ -2638,6 +2638,8 @@ dissect_llrp_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (try_val_to_str_ext(type, &message_types_ext))
dissect_llrp_message(tvb, pinfo, llrp_tree, type, offset);
+
+ return tvb_length(tvb);
}
/* Determine length of LLRP message */
@@ -2649,11 +2651,12 @@ get_llrp_message_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
}
/* The main dissecting routine */
-static void
-dissect_llrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static int
+dissect_llrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
{
tcp_dissect_pdus(tvb, pinfo, tree, TRUE, LLRP_HEADER_LENGTH,
- get_llrp_message_len, dissect_llrp_packet);
+ get_llrp_message_len, dissect_llrp_packet, data);
+ return tvb_length(tvb);
}
void
@@ -3725,7 +3728,7 @@ proto_reg_handoff_llrp(void)
{
dissector_handle_t llrp_handle;
- llrp_handle = create_dissector_handle(dissect_llrp, proto_llrp);
+ llrp_handle = new_create_dissector_handle(dissect_llrp, proto_llrp);
dissector_add_uint("tcp.port", LLRP_PORT, llrp_handle);
}