diff options
Diffstat (limited to 'src/vcl/vcl_private.h')
-rw-r--r-- | src/vcl/vcl_private.h | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/vcl/vcl_private.h b/src/vcl/vcl_private.h index 1cde85027a5..c61bb0b9247 100644 --- a/src/vcl/vcl_private.h +++ b/src/vcl/vcl_private.h @@ -63,14 +63,15 @@ typedef enum typedef enum { - STATE_START = 0x01, - STATE_CONNECT = 0x02, - STATE_LISTEN = 0x04, - STATE_ACCEPT = 0x08, - STATE_VPP_CLOSING = 0x10, - STATE_DISCONNECT = 0x20, - STATE_FAILED = 0x40, - STATE_UPDATED = 0x80, + STATE_START = 0, + STATE_CONNECT = 0x01, + STATE_LISTEN = 0x02, + STATE_ACCEPT = 0x04, + STATE_VPP_CLOSING = 0x08, + STATE_DISCONNECT = 0x10, + STATE_FAILED = 0x20, + STATE_UPDATED = 0x40, + STATE_LISTEN_NO_MQ = 0x80, } session_state_t; #define SERVER_STATE_OPEN (STATE_ACCEPT|STATE_VPP_CLOSING) @@ -491,7 +492,7 @@ vcl_session_table_lookup_listener (vcl_worker_t * wrk, u64 listener_handle) } session = pool_elt_at_index (wrk->sessions, p[0]); - ASSERT (session->session_state & STATE_LISTEN); + ASSERT (session->session_state & (STATE_LISTEN | STATE_LISTEN_NO_MQ)); return session; } @@ -566,6 +567,12 @@ vcl_worker_get_current (void) return vcl_worker_get (vcl_get_worker_index ()); } +static inline u8 +vcl_n_workers (void) +{ + return pool_elts (vcm->workers); +} + static inline svm_msg_q_t * vcl_session_vpp_evt_q (vcl_worker_t * wrk, vcl_session_t * s) { @@ -588,7 +595,7 @@ void vppcom_app_send_detach (void); void vppcom_send_connect_sock (vcl_session_t * session); void vppcom_send_disconnect_session (u64 vpp_handle); void vppcom_send_bind_sock (vcl_session_t * session); -void vppcom_send_unbind_sock (u64 vpp_handle); +void vppcom_send_unbind_sock (vcl_worker_t * wrk, u64 vpp_handle); void vppcom_api_hookup (void); void vppcom_send_application_tls_cert_add (vcl_session_t * session, char *cert, u32 cert_len); |