session: avoid rx notifications on accepting sessions
[vpp.git] / src / vnet / session / session_types.h
index ca5dcc1..784312d 100644 (file)
@@ -309,9 +309,21 @@ session_parse_handle (session_handle_t handle, u32 * index,
 }
 
 static inline session_handle_t
-session_make_handle (u32 session_index, u32 thread_index)
+session_make_handle (u32 session_index, u32 data)
 {
-  return (((u64) thread_index << 32) | (u64) session_index);
+  return (((u64) data << 32) | (u64) session_index);
+}
+
+always_inline u32
+session_handle_index (session_handle_t ho_handle)
+{
+  return (ho_handle & 0xffffffff);
+}
+
+always_inline u32
+session_handle_data (session_handle_t ho_handle)
+{
+  return (ho_handle >> 32);
 }
 
 typedef enum
@@ -440,15 +452,21 @@ STATIC_ASSERT (sizeof (session_dgram_hdr_t) == (SESSION_CONN_ID_LEN + 8),
   _(REFUSED, "refused")                                                        \
   _(TIMEDOUT, "timedout")                                              \
   _(ALLOC, "obj/memory allocation error")                              \
+  _(OWNER, "object not owned by application")                          \
   _(NOROUTE, "no route")                                               \
   _(NOINTF, "no resolving interface")                                  \
   _(NOIP, "no ip for lcl interface")                                   \
   _(NOPORT, "no lcl port")                                             \
   _(NOSUPPORT, "not supported")                                                \
+  _(NOLISTEN, "not listening")                                         \
+  _(NOSESSION, "session does not exist")                               \
+  _(NOAPP, "app not attached")                                         \
   _(PORTINUSE, "lcl port in use")                                      \
   _(IPINUSE, "ip in use")                                              \
   _(ALREADY_LISTENING, "ip port pair already listened on")             \
   _(INVALID_RMT_IP, "invalid remote ip")                               \
+  _(INVALID_APPWRK, "invalid app worker")                              \
+  _(INVALID_NS, "invalid namespace")                                   \
   _(SEG_NO_SPACE, "Couldn't allocate a fifo pair")                     \
   _(SEG_NO_SPACE2, "Created segment, couldn't allocate a fifo pair")   \
   _(SEG_CREATE, "Couldn't create a new segment")                       \