aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ip.c
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 /epan/dissectors/packet-ip.c
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>
Diffstat (limited to 'epan/dissectors/packet-ip.c')
-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,