vcl: fix duplicated key of session_index_to_vlsh_table in multiple
threads vcl workers scenario
Type: fix
In multiple threads vcl workers scenario, multiple vcl workes can create
sessions with same index. Because only one vls worker created, key of
session_index_to_vlsh_table is duplicated.
Signed-off-by: hanlin <hanlin_wang@163.com>
Change-Id: I7e1f5bc471adc5378194452aef85e611f5d0df1d
diff --git a/src/vcl/vcl_private.h b/src/vcl/vcl_private.h
index 231d7eb..c930803 100644
--- a/src/vcl/vcl_private.h
+++ b/src/vcl/vcl_private.h
@@ -404,6 +404,13 @@
}
static inline vcl_session_handle_t
+vcl_session_handle_from_wrk_session_index (u32 session_index, u32 wrk_index)
+{
+ ASSERT (session_index < 2 << 24);
+ return (wrk_index << 24 | session_index);
+}
+
+static inline vcl_session_handle_t
vcl_session_handle_from_index (u32 session_index)
{
ASSERT (session_index < 2 << 24);