table: support selector table
authorCristian Dumitrescu <cristian.dumitrescu@intel.com>
Fri, 2 Jul 2021 22:46:05 +0000 (23:46 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 9 Jul 2021 21:31:54 +0000 (23:31 +0200)
commitf7598a62d114ea6801c1dd1dd84c70c544332485
tree1a5c6f8eee9265fbdfaea82450d42de7b09c9781
parent75129ceb1e8b21369db2fcb4426790b8a9e0b9e6
table: support selector table

A selector table is made up of groups of weighted members, with a
given member potentially part of several groups. The select operation
returns a member ID by first selecting a group based on an input group
ID and then selecting a member within that group based on hashing one
or several input header/meta-data fields. It is very useful for
implementing an ECMP/WCMP-enabled FIB or a load balancer. It is part
of the action selector described by the P4 Portable Switch
Architecture (PSA) specification.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
lib/table/meson.build
lib/table/rte_swx_table_selector.c [new file with mode: 0644]
lib/table/rte_swx_table_selector.h [new file with mode: 0644]
lib/table/version.map