buffer chain linearization 66/17566/12
authorKlement Sekera <ksekera@cisco.com>
Wed, 13 Feb 2019 10:01:32 +0000 (11:01 +0100)
committerDamjan Marion <dmarion@me.com>
Mon, 25 Feb 2019 19:30:18 +0000 (19:30 +0000)
commitf883f6a1132ad4bb7aa9d9a79d420274fbcf3b64
treecf6867cd2eb1867a75cf2e5b4f27ab4f29e23b98
parentb0789106cb4f4c7ac529c02a5ff1ac346f0913dd
buffer chain linearization

Rewrite vlib_buffer_chain_linearize function so that it works as intended.
Linearize buffer chains coming out of reassembly to work around some
dpdk-tx issues. Note that this is not a complete workaround
as a sufficiently large packet will still cause the resulting chain to
be too long.

Drop features from reassembly code which relies on knowing which and how
many buffers were freed during linearization, buffer counts and tracing
capabilities for these cases.

Change-Id: Ic65de53ecb5c78cd96b178033f6a576ab4060ed1
Signed-off-by: Klement Sekera <ksekera@cisco.com>
src/vlib/buffer_funcs.h
src/vlib/physmem_funcs.h
src/vnet/dhcp/dhcp4_proxy_node.c
src/vnet/ip/ip4_error.h
src/vnet/ip/ip4_reassembly.c
src/vnet/ip/ip6_reassembly.c