acl-plugin: change the src/dst L3 info in 5tuple struct to be always contiguous with... 08/13008/2
authorAndrew Yourtchenko <ayourtch@gmail.com>
Tue, 12 Jun 2018 13:15:49 +0000 (15:15 +0200)
committerDamjan Marion <dmarion@me.com>
Wed, 13 Jun 2018 12:13:11 +0000 (12:13 +0000)
commitc7d50970d4ed8a4889b4374e6a1559aef7d3dcc0
tree1fc664442e2e94cac0edffe73d24e76367fc417e
parenteaba9340dab289109106bed3a0d4c76496e496e5
acl-plugin: change the src/dst L3 info in 5tuple struct to be always contiguous with L4 data

Using ip46_address_t was convenient from operational point of view but created
some difficulties dealing with IPv4 addresses - the extra 3x of u32 padding
are costly, and the "holes" mean we can not use the smaller key-value
data structures for the lookup.

This commit changes the 5tuple layout for the IPv4 case, such that
the src/dst addresses directly precede the L4 information.
That will allow to treat the same data within 40x8 key-value
structure as a 16x8 key-value structure starting with 24 byte offset.

Change-Id: Ifea8d266ca0b9c931d44440bf6dc62446c1a83ec
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
src/plugins/acl/dataplane_node.c
src/plugins/acl/fa_node.h
src/plugins/acl/hash_lookup.c
src/plugins/acl/public_inlines.h
src/plugins/acl/sess_mgmt_node.c
src/plugins/acl/session_inlines.h