examples/ip_pipeline: add rule list per table
authorCristian Dumitrescu <cristian.dumitrescu@intel.com>
Tue, 30 Oct 2018 17:36:41 +0000 (17:36 +0000)
committerCristian Dumitrescu <cristian.dumitrescu@intel.com>
Fri, 2 Nov 2018 11:24:43 +0000 (12:24 +0100)
commit35c10b587def1cb729954ddb0e96ff09cb230c25
treef7317d6c0f82af2c3d4ffbb8ebeb6a6e52b89401
parent69fd1729c63277758cc9d3706b2c9751b22d6da8
examples/ip_pipeline: add rule list per table

For each pipeline table, have the master thread maintain the list of
rules that are currently stored in the table. This list allows the
master thread to handle table queries with minimal impact for the
data plane threads: requests to read the current set of table rules
are fully handled by the master thread with no involvement from
data plane threads, requests to read the per table rule moving data
(such as stats counters or timestamp associated with specific
actions) are handled by the data plane threads through plain memory
reads rather than key lookup.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
examples/ip_pipeline/pipeline.c
examples/ip_pipeline/pipeline.h