aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rsvp.c
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2014-12-24 16:16:26 +0100
committerAnders Broman <a.broman58@gmail.com>2014-12-24 17:42:37 +0000
commit762bb18b9dd7bc5499db2b715c2854b5f401fab4 (patch)
treef53d700290bc90d66aa95a8f47392ca07836d43b /epan/dissectors/packet-rsvp.c
parent04a1f332b175f7e9858cb5df06b7518a0f873975 (diff)
RSVP: Conversations / Endpoint: wrong filter when select a RSVP conversations / endpoint (INVALID == a.x.y.z ...)
Change-Id: I70f6afd41eefddb42829c3d5f890ea67dcd65537 Reviewed-on: https://code.wireshark.org/review/6037 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-rsvp.c')
-rw-r--r--epan/dissectors/packet-rsvp.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/epan/dissectors/packet-rsvp.c b/epan/dissectors/packet-rsvp.c
index 66a7a6db81..a18946be9d 100644
--- a/epan/dissectors/packet-rsvp.c
+++ b/epan/dissectors/packet-rsvp.c
@@ -1907,9 +1907,17 @@ rsvp_init_protocol(void)
rsvp_request_hash = g_hash_table_new(rsvp_hash, rsvp_equal);
}
-static const char* rsvp_conv_get_filter_type(conv_item_t* conv _U_, conv_filter_type_e filter _U_)
+static const char* rsvp_conv_get_filter_type(conv_item_t* conv, conv_filter_type_e filter _U_)
{
- /* XXX - Not sure about this */
+ if ((filter == CONV_FT_SRC_ADDRESS) && (conv->src_address.type == AT_IPv4))
+ return "ip.src";
+
+ if ((filter == CONV_FT_DST_ADDRESS) && (conv->dst_address.type == AT_IPv4))
+ return "ip.dst";
+
+ if ((filter == CONV_FT_ANY_ADDRESS) && (conv->src_address.type == AT_IPv4))
+ return "ip.addr";
+
return CONV_FILTER_INVALID;
}
@@ -1929,7 +1937,10 @@ rsvp_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
static const char* rsvp_host_get_filter_type(hostlist_talker_t* host _U_, conv_filter_type_e filter)
{
- return rsvp_conv_get_filter_type(NULL, filter);
+ if ((filter == CONV_FT_ANY_ADDRESS) && (host->myaddress.type == AT_IPv4))
+ return "ip.addr";
+
+ return CONV_FILTER_INVALID;
}
static hostlist_dissector_info_t rsvp_host_dissector_info = {&rsvp_host_get_filter_type};