From 3fda200c4c7c44cd0706e57e0b88254571ef196f Mon Sep 17 00:00:00 2001 From: Vijayabhaskar Katamreddy Date: Mon, 16 May 2022 22:18:37 +0000 Subject: ip: reassembly - increasing the nbuckets for reass Type: fix as number of reass contexts increasing based on workers, increasing the number of nbuckets for bihash Signed-off-by: Vijayabhaskar Katamreddy Change-Id: I83d061a709ecb8845ce745b18d03fdefc795787f --- src/vnet/ip/reass/ip4_full_reass.c | 4 +++- src/vnet/ip/reass/ip6_full_reass.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/vnet') diff --git a/src/vnet/ip/reass/ip4_full_reass.c b/src/vnet/ip/reass/ip4_full_reass.c index f0e1753cf2d..2493fae434a 100644 --- a/src/vnet/ip/reass/ip4_full_reass.c +++ b/src/vnet/ip/reass/ip4_full_reass.c @@ -1481,7 +1481,9 @@ ip4_full_reass_get_nbuckets () u32 nbuckets; u8 i; - nbuckets = (u32) (rm->max_reass_n / IP4_REASS_HT_LOAD_FACTOR); + /* need more mem with more workers */ + nbuckets = (u32) (rm->max_reass_n * (vlib_num_workers () + 1) / + IP4_REASS_HT_LOAD_FACTOR); for (i = 0; i < 31; i++) if ((1 << i) >= nbuckets) diff --git a/src/vnet/ip/reass/ip6_full_reass.c b/src/vnet/ip/reass/ip6_full_reass.c index 4a6c6a106f0..ff877ca7567 100644 --- a/src/vnet/ip/reass/ip6_full_reass.c +++ b/src/vnet/ip/reass/ip6_full_reass.c @@ -1410,7 +1410,9 @@ ip6_full_reass_get_nbuckets () u32 nbuckets; u8 i; - nbuckets = (u32) (rm->max_reass_n / IP6_FULL_REASS_HT_LOAD_FACTOR); + /* need more mem with more workers */ + nbuckets = (u32) (rm->max_reass_n * (vlib_num_workers () + 1) / + IP6_FULL_REASS_HT_LOAD_FACTOR); for (i = 0; i < 31; i++) if ((1 << i) >= nbuckets) -- cgit 1.2.3-korg