<snip> > > > > Hi, > > > > > > > > Lock-free mode is supported by hash library and LPM library. > > > Now we add an option for l3fwd example to enable the lock-free mode. > > > Necessary preparation steps are added to use lock-free LPM mode. > > > > Can I ask about the purpose of these changes? > > Right now in l3fwd both lpm and hash tables are static and hard-coded. > > we initialize them at startup and then just do read from them. > > Do you plan to enhance l3fwd with ability to dynamically update tables > > contents? > > Though fir that we first have to get rid of hard-coded values (config file > > or > so). > > Konstantin > > > Thanks for your questions. > Currently, we have no plan to enhance l3fwd with ability to dynamically > update table contents. > Lock-free method is being integrated into Hash library and LPM library. Lock- > free algorithms are not only about control plane (adding or deleting routes), > they affect the data path performance as well. > Since l3fwd application is showcasing data path performance, we need to > show the impact of including the quiescent state reporting on data path. > This change also serves as an example of using the RCU APIs. > Without the dynamic deletes the quiescent state reporting overhead is not captured completely. I suggest that we add and delete a small set of unrelated routes (the routes that are not used currently) on a regular basis.
> > > > > > Patch 2/2 has dependency on RCU QSBR integration with LPM library: > > > http://patches.dpdk.org/project/dpdk/list/?series=6288 > > > > > > > > > Ruifeng Wang (2): > > > examples/l3fwd: add lock-free option for l3fwd > > > examples/l3fwd: integrate RCU QSBR for LPM mode > > > > > > doc/guides/sample_app_ug/l3_forward.rst | 3 ++ > > > examples/l3fwd/Makefile | 1 + > > > examples/l3fwd/l3fwd.h | 4 +- > > > examples/l3fwd/l3fwd_em.c | 10 +++- > > > examples/l3fwd/l3fwd_lpm.c | 72 +++++++++++++++++++++++-- > > > examples/l3fwd/main.c | 27 ++++++++-- > > > examples/l3fwd/meson.build | 1 + > > > 7 files changed, 108 insertions(+), 10 deletions(-) > > > > > > -- > > > 2.17.1 >

