numam-dpdk/lib/librte_lpm
Ruifeng Wang 8a9f8564e9 lpm: implement RCU rule reclamation
Currently, the tbl8 group is freed even though the readers might be
using the tbl8 group entries. The freed tbl8 group can be reallocated
quickly. This results in incorrect lookup results.

RCU QSBR process is integrated for safe tbl8 group reclaim.
Refer to RCU documentation to understand various aspects of
integrating RCU library into other libraries.

To avoid ABI breakage, a struct __rte_lpm is created for lpm library
internal use. This struct wraps rte_lpm that has been exposed and
also includes members that don't need to be exposed such as RCU related
config.

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
2020-07-10 13:41:29 +02:00
..
Makefile lpm: implement RCU rule reclamation 2020-07-10 13:41:29 +02:00
meson.build lpm: implement RCU rule reclamation 2020-07-10 13:41:29 +02:00
rte_lpm6.c lpm6: fix comments spelling 2020-04-24 19:29:02 +02:00
rte_lpm6.h lpm6: make IPv6 address immutable 2020-03-31 21:45:43 +02:00
rte_lpm_altivec.h replace license text with SPDX tag on PPC files 2019-08-05 17:17:09 +02:00
rte_lpm_neon.h lpm: replace license text with SPDX tag 2019-07-29 13:31:45 +02:00
rte_lpm_sse.h lpm: remove recursively included header file 2019-01-28 01:47:23 +01:00
rte_lpm_version.map lpm: implement RCU rule reclamation 2020-07-10 13:41:29 +02:00
rte_lpm.c lpm: implement RCU rule reclamation 2020-07-10 13:41:29 +02:00
rte_lpm.h lpm: implement RCU rule reclamation 2020-07-10 13:41:29 +02:00