aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2017-08-30 17:21:12 +0100
committerJoão Valverde <j@v6e.pt>2017-08-30 17:28:38 +0000
commit541817f63ca3e57bc8b8302602c42d6b745d73ef (patch)
tree0f45121ae7b44152e535dbdbc494d92c88014563
parent63628636af9bf43291711d51e38dc6f5933291ef (diff)
IPv6: Undo 'ipv6_ws' tap change
Previously tapping data did not depend on ipv6_pinfo. Minor code cleanup. Follow up to 71697c5dab92e5be15180c6fb4420fd847e1e539. Change-Id: I2d8ef9603119ceada64a3c64d5f9d6dfffde399d Reviewed-on: https://code.wireshark.org/review/23312 Petri-Dish: João Valverde <j@v6e.pt> Reviewed-by: João Valverde <j@v6e.pt>
-rw-r--r--epan/dissectors/packet-ipv6.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c
index 5252e73475..7d17ef73f1 100644
--- a/epan/dissectors/packet-ipv6.c
+++ b/epan/dissectors/packet-ipv6.c
@@ -2395,18 +2395,19 @@ ipv6_dissect_next(guint nxt, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
return;
}
- /* Done with extension header chain */
- if (pinfo->dst.type == AT_IPv6 && ipv6_pinfo != NULL) {
- if (ipv6_pinfo->ipv6_tree != NULL) {
- /* Set IPv6 Header length */
- proto_item_set_len(proto_tree_get_parent(ipv6_pinfo->ipv6_tree), ipv6_pinfo->ipv6_item_len);
- ipv6_pinfo->ipv6_tree = NULL;
- }
+ /*
+ * Done with extension header chain
+ */
- if (iph != NULL) {
- iph->ip_nxt = nxt; /* upper-layer protocol more useful */
- tap_queue_packet(ipv6_ws_tap, pinfo, iph);
- }
+ if (ipv6_pinfo != NULL && ipv6_pinfo->ipv6_tree != NULL) {
+ /* Set IPv6 Header length */
+ proto_item_set_len(proto_tree_get_parent(ipv6_pinfo->ipv6_tree), ipv6_pinfo->ipv6_item_len);
+ ipv6_pinfo->ipv6_tree = NULL;
+ }
+
+ if (iph != NULL && iph->ip_ver == 6) {
+ iph->ip_nxt = nxt; /* upper-layer protocol more useful */
+ tap_queue_packet(ipv6_ws_tap, pinfo, iph);
}
if (nxt == IP_PROTO_NONE) {