ip: reassembly: LRU algorithm should eliminate the longest unused nodes 09/27209/5
authorzhengdelun <xszhengdelun@gmail.com>
Fri, 22 May 2020 07:42:28 +0000 (15:42 +0800)
committerDave Barach <openvpp@barachs.net>
Wed, 10 Jun 2020 11:09:59 +0000 (11:09 +0000)
Type: fix

Signed-off-by: zhengdelun <xszhengdelun@gmail.com>
Change-Id: I3f6240b4c0798f85960acc55a193a0cbf0c67ea4

src/vnet/ip/reass/ip4_sv_reass.c
src/vnet/ip/reass/ip6_sv_reass.c

index b41498e..e7effb8 100644 (file)
@@ -331,7 +331,7 @@ ip4_sv_reass_find_or_create (vlib_main_t * vm, ip4_sv_reass_main_t * rm,
 
   if (rt->reass_n >= rm->max_reass_n && rm->max_reass_n)
     {
-      reass = pool_elt_at_index (rt->pool, rt->lru_last);
+      reass = pool_elt_at_index (rt->pool, rt->lru_first);
       ip4_sv_reass_free (vm, rm, rt, reass);
     }
 
index 6d707af..7c13f4b 100644 (file)
@@ -329,7 +329,7 @@ ip6_sv_reass_find_or_create (vlib_main_t * vm, vlib_node_runtime_t * node,
 
   if (rt->reass_n >= rm->max_reass_n)
     {
-      reass = pool_elt_at_index (rt->pool, rt->lru_last);
+      reass = pool_elt_at_index (rt->pool, rt->lru_first);
       ip6_sv_reass_free (vm, rm, rt, reass);
     }