aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndersBroman <anders.broman@ericsson.com>2016-01-21 15:34:33 +0100
committerAnders Broman <a.broman58@gmail.com>2016-01-21 14:40:25 +0000
commit40951bf32e051ab7b408c123d181ba7bf2ddc06c (patch)
tree6033d4b9b59f41b4933717f6f7ae9ae49ca9cdda
parentdede3c826efc950fa219c346e7a6ca0f63ba5d5e (diff)
[IP] IP fragment reassembly gets thrown off if there is the same packets
with different VLAN Ids in the trace in some cases. Add VLAN Id to the ID used to identify fragments. As discussed in https://code.wireshark.org/review/#/c/13452/ this may not be a complete solution but fixes the emediate problem. Change-Id: Id418304268d2bf4d0af863de11c4db02dc0854db Reviewed-on: https://code.wireshark.org/review/13470 Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r--epan/dissectors/packet-ip.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c
index 55b974361f..e56e9953f9 100644
--- a/epan/dissectors/packet-ip.c
+++ b/epan/dissectors/packet-ip.c
@@ -2405,7 +2405,7 @@ dissect_ip_v4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
ipsum == 0) {
ipfd_head = fragment_add_check(&ip_reassembly_table, tvb, offset,
pinfo,
- iph->ip_p ^ iph->ip_id ^ src32 ^ dst32,
+ iph->ip_p ^ iph->ip_id ^ src32 ^ dst32 ^ pinfo->vlan_id,
NULL,
(iph->ip_off & IP_OFFSET) * 8,
iph->ip_len - hlen,