session: fix session node switching to interrupt mode failded if no user events 46/38546/3
authorXiaoming Jiang <jiangxiaoming@outlook.com>
Fri, 24 Mar 2023 02:33:00 +0000 (02:33 +0000)
committerxm j <jiangxiaoming@outlook.com>
Fri, 24 Mar 2023 02:53:17 +0000 (02:53 +0000)
wrk->event_elts has 5 elements if no user events

Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: Ib38fab422304efc470e20ccb7121442f05bf8bf3

src/vnet/session/session_node.c

index 6011704..b0f4a93 100644 (file)
@@ -1885,7 +1885,7 @@ session_wrk_update_state (session_worker_t *wrk)
 
   if (wrk->state == SESSION_WRK_POLLING)
     {
-      if (clib_llist_elts (wrk->event_elts) == 4 &&
+      if (clib_llist_elts (wrk->event_elts) == 5 &&
          vlib_last_vectors_per_main_loop (vm) < 1)
        {
          session_wrk_set_state (wrk, SESSION_WRK_INTERRUPT);
@@ -1895,7 +1895,7 @@ session_wrk_update_state (session_worker_t *wrk)
     }
   else if (wrk->state == SESSION_WRK_INTERRUPT)
     {
-      if (clib_llist_elts (wrk->event_elts) > 4 ||
+      if (clib_llist_elts (wrk->event_elts) > 5 ||
          vlib_last_vectors_per_main_loop (vm) > 1)
        {
          session_wrk_set_state (wrk, SESSION_WRK_POLLING);