aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ip.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-ip.c')
-rw-r--r--epan/dissectors/packet-ip.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c
index 98e447ab1a..0032133070 100644
--- a/epan/dissectors/packet-ip.c
+++ b/epan/dissectors/packet-ip.c
@@ -451,14 +451,13 @@ static dissector_handle_t tapa_handle;
/*
* defragmentation of IPv4
*/
-static GHashTable *ip_fragment_table = NULL;
-static GHashTable *ip_reassembled_table = NULL;
+static reassembly_table ip_reassembly_table;
static void
ip_defragment_init(void)
{
- fragment_table_init(&ip_fragment_table);
- reassembled_table_init(&ip_reassembled_table);
+ reassembly_table_init(&ip_reassembly_table,
+ &addresses_reassembly_table_functions);
}
void
@@ -2340,9 +2339,10 @@ dissect_ip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
if (ip_defragment && (iph->ip_off & (IP_MF|IP_OFFSET)) &&
tvb_bytes_exist(tvb, offset, pinfo->iplen - pinfo->iphdrlen) &&
ipsum == 0) {
- ipfd_head = fragment_add_check(tvb, offset, pinfo,
+ ipfd_head = fragment_add_check(&ip_reassembly_table, tvb, offset,
+ pinfo,
iph->ip_p ^ iph->ip_id ^ src32 ^ dst32,
- ip_fragment_table, ip_reassembled_table,
+ NULL,
(iph->ip_off & IP_OFFSET) * 8,
pinfo->iplen - pinfo->iphdrlen,
iph->ip_off & IP_MF);