X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession.h;h=e85637283a7dfbf2a9e986cc2cdeffcaa44ba1e4;hb=f22f4e562e1b922cff036ef628b77fd2d479d015;hp=e239818caf9ca5cd7a2260049d5e6add7a6d146f;hpb=31bd035621bdc57deb757613b534bd6c2b032814;p=vpp.git diff --git a/src/vnet/session/session.h b/src/vnet/session/session.h index e239818caf9..e85637283a7 100644 --- a/src/vnet/session/session.h +++ b/src/vnet/session/session.h @@ -286,22 +286,10 @@ session_evt_alloc_old (session_worker_t * wrk) return elt; } -always_inline u8 -session_is_valid (u32 si, u8 thread_index) -{ - session_t *s; - s = pool_elt_at_index (session_main.wrk[thread_index].sessions, si); - if (s->session_state == SESSION_STATE_CLOSED) - return 1; - - if (s->thread_index != thread_index || s->session_index != si) - return 0; - return 1; -} - session_t *session_alloc (u32 thread_index); void session_free (session_t * s); void session_free_w_fifos (session_t * s); +u8 session_is_valid (u32 si, u8 thread_index); always_inline session_t * session_get (u32 si, u32 thread_index) @@ -504,14 +492,14 @@ always_inline u32 transport_rx_fifo_size (transport_connection_t * tc) { session_t *s = session_get (tc->s_index, tc->thread_index); - return s->rx_fifo->nitems; + return svm_fifo_size (s->rx_fifo); } always_inline u32 transport_tx_fifo_size (transport_connection_t * tc) { session_t *s = session_get (tc->s_index, tc->thread_index); - return s->tx_fifo->nitems; + return svm_fifo_size (s->tx_fifo); } always_inline u8 @@ -610,7 +598,7 @@ session_main_get_worker (u32 thread_index) static inline session_worker_t * session_main_get_worker_if_valid (u32 thread_index) { - if (pool_is_free_index (session_main.wrk, thread_index)) + if (thread_index > vec_len (session_main.wrk)) return 0; return &session_main.wrk[thread_index]; }