On Mon, Jul 02, 2018 at 07:42:11PM +0300, Alex Kiselev wrote: > There are two major problems with the library: > first, there is no need to rebuild the whole LPM tree > when a rule is deleted and second, due to the current > rules algorithm with complexity O(n) it's almost > impossible to deal with large rule sets (50k or so rules). > This patch addresses those two issues. > > Signed-off-by: Alex Kiselev <a...@therouter.net> > --- > lib/librte_lpm/rte_lpm6.c | 1073 > ++++++++++++++++++++++++++++++++++----------- > 1 file changed, 816 insertions(+), 257 deletions(-) >
I get a compiler error with gcc8 after this patch: /home/bruce/dpdk.org/lib/librte_lpm/rte_lpm6.c: In function ‘rte_lpm6_add_v1705’: /home/bruce/dpdk.org/lib/librte_lpm/rte_lpm6.c:748:18: error: ‘tbl_next_num’ may be used uninitialized in this function [-Werror=maybe-uninitialized] lpm->tbl8_hdrs[tbl_ind].ref_cnt++; ^ "check-git-log.sh" and "checkpatches.sh" are also reporting issues with this patch. Please check these too. Some code review comments to follow. Regards, /Bruce