b8d5dfd4a5
Right now reassembly code relies on src_dst[] being all zeroes to
determine is it free/occupied entry in the fragments table.
This is suboptimal and error prone - user can crash DPDK ip_reassembly
app by something like the following scapy script:
x=Ether(src=...,dst=...)/IP(dst='0.0.0.0',src='0.0.0.0',id=0)/('X'*1000)
frags=fragment(x, fragsize=500)
sendp(frags, iface=...)
To overcome that issue and reduce overhead of
'key invalidate' and 'key is empty' operations -
add key_len into keys comparision procedure.
Fixes:
|
||
---|---|---|
.. | ||
ip_frag_common.h | ||
ip_frag_internal.c | ||
Makefile | ||
meson.build | ||
rte_ip_frag_common.c | ||
rte_ip_frag_version.map | ||
rte_ip_frag.h | ||
rte_ipv4_fragmentation.c | ||
rte_ipv4_reassembly.c | ||
rte_ipv6_fragmentation.c | ||
rte_ipv6_reassembly.c |