aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-icmpv6.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-09-22 21:57:50 -0400
committerMichael Mann <mmann78@netscape.net>2017-09-23 03:42:14 +0000
commite7cc0279ab9a11319de521dfdf25057d1ff7ab7f (patch)
tree3607326ca0c45da15f84cb2f7e60c9042b254eb1 /epan/dissectors/packet-icmpv6.c
parent3c8750dfb3b9cef1af2e29159782b443dfcd32ff (diff)
Have sequence analysis properly use filters from taps.
Sequence analysis has its own "filtering" system that required its tap functions to look for some "filter flags". register_tap_listener() already comes with a filter argument, so use that to simplify logic of tap functions in dissectors. Also have Qt GUI for Flow Graph look like other dialogs that have a "Limit to display filter" checkbox. Change-Id: I91d9d9599309786892f5b50c98692e52651e7174 Reviewed-on: https://code.wireshark.org/review/23659 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-icmpv6.c')
-rw-r--r--epan/dissectors/packet-icmpv6.c39
1 files changed, 18 insertions, 21 deletions
diff --git a/epan/dissectors/packet-icmpv6.c b/epan/dissectors/packet-icmpv6.c
index 10ef72d888..5a948727c1 100644
--- a/epan/dissectors/packet-icmpv6.c
+++ b/epan/dissectors/packet-icmpv6.c
@@ -1309,37 +1309,34 @@ static gboolean
icmpv6_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *dummy _U_)
{
seq_analysis_info_t *sainfo = (seq_analysis_info_t *) ptr;
+ seq_analysis_item_t *sai = sequence_analysis_create_sai_with_addresses(pinfo, sainfo);
- if ((sainfo->all_packets) || (pinfo->fd->flags.passed_dfilter == 1)) {
+ if (!sai)
+ return FALSE;
- seq_analysis_item_t *sai = sequence_analysis_create_sai_with_addresses(pinfo, sainfo);
- if (!sai)
- return FALSE;
+ sai->frame_number = pinfo->num;
- sai->frame_number = pinfo->num;
+ sequence_analysis_use_color_filter(pinfo, sai);
- sequence_analysis_use_color_filter(pinfo, sai);
+ sai->port_src=pinfo->srcport;
+ sai->port_dst=pinfo->destport;
- sai->port_src=pinfo->srcport;
- sai->port_dst=pinfo->destport;
+ sequence_analysis_use_col_info_as_label_comment(pinfo, sai);
- sequence_analysis_use_col_info_as_label_comment(pinfo, sai);
+ if (pinfo->ptype == PT_NONE) {
+ icmp_info_t *p_icmp_info = (icmp_info_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_icmpv6, 0);
- if (pinfo->ptype == PT_NONE) {
- icmp_info_t *p_icmp_info = (icmp_info_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_icmpv6, 0);
-
- if (p_icmp_info != NULL) {
- sai->port_src = 0;
- sai->port_dst = p_icmp_info->type * 256 + p_icmp_info->code;
- }
+ if (p_icmp_info != NULL) {
+ sai->port_src = 0;
+ sai->port_dst = p_icmp_info->type * 256 + p_icmp_info->code;
}
+ }
- sai->line_style = 1;
- sai->conv_num = 0;
- sai->display = TRUE;
+ sai->line_style = 1;
+ sai->conv_num = 0;
+ sai->display = TRUE;
- g_queue_push_tail(sainfo->items, sai);
- }
+ g_queue_push_tail(sainfo->items, sai);
return TRUE;
}