Introduce l{2,3,4}_hdr_offset fields in the buffer metadata 72/7572/4
authorDamjan Marion <damarion@cisco.com>
Thu, 13 Jul 2017 16:53:27 +0000 (18:53 +0200)
committerDave Barach <openvpp@barachs.net>
Fri, 14 Jul 2017 15:39:24 +0000 (15:39 +0000)
commit072401e8096c648b91f958bd911f64ce24fecff9
tree5ef774bbcf5e9c072b8795d39115b012015e05f1
parent0f09b77778644577545235156a2ea2798ec9ee6c
Introduce l{2,3,4}_hdr_offset fields in the buffer metadata

To save space in the first cacheline following is changed:

- total_length_not_including_first_buffer moved to the 2nd cacheline.
This field is used only when VLIB_BUFFER_TOTAL_LENGTH_VALID and
VLIB_BUFFER_NEXT_PRESENT are both set.

- free_list_index is now stored in 4bits inside flags, which
allows up to 16 free lists. In case we need more we can store index
in the 2nd cachelin

Change-Id: Ic8521350819391af470d31d3fa1013e67ecb7681
Signed-off-by: Damjan Marion <damarion@cisco.com>
16 files changed:
src/plugins/dpdk/device/node.c
src/vlib/buffer.c
src/vlib/buffer.h
src/vlib/buffer_funcs.h
src/vnet/bfd/bfd_udp.c
src/vnet/buffer.h
src/vnet/dhcp/dhcp4_proxy_node.c
src/vnet/dhcp/dhcp6_proxy_node.c
src/vnet/ethernet/ethernet.h
src/vnet/ethernet/node.c
src/vnet/ip/ip4_forward.c
src/vnet/ip/ip6_forward.c
src/vnet/ip/ip6_neighbor.c
src/vnet/l2/l2_bvi.h
src/vnet/lisp-cp/control.c
src/vnet/replication.c