X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvcl%2Fvcl_private.h;h=fdc4ff8cdbd6a09520cf8da5ebe1b1966e9b06c1;hb=fa3884f8a1cf5493dd7733404811b63ee9c1e4d9;hp=5b19f946fe78a56788850a62dc783ac38517cf93;hpb=55c952ed5f56a1a478f03f8458e82530478c4359;p=vpp.git diff --git a/src/vcl/vcl_private.h b/src/vcl/vcl_private.h index 5b19f946fe7..fdc4ff8cdbd 100644 --- a/src/vcl/vcl_private.h +++ b/src/vcl/vcl_private.h @@ -85,6 +85,8 @@ typedef struct #define VEP_DEFAULT_ET_MASK (EPOLLIN|EPOLLOUT) #define VEP_UNSUPPORTED_EVENTS (EPOLLONESHOT|EPOLLEXCLUSIVE) u32 et_mask; + u32 lt_next; + u32 lt_prev; } vppcom_epoll_t; /* Select uses the vcl_si_set as if a clib_bitmap. Make sure they are the @@ -253,6 +255,9 @@ typedef struct vcl_worker_ /** Per worker buffer for receiving mq epoll events */ struct epoll_event *mq_events; + /** Next session to be lt polled */ + u32 ep_lt_current; + /** Hash table for disconnect processing */ uword *session_index_by_vpp_handles; @@ -724,6 +729,8 @@ int vcl_segment_discover_mqs (uword segment_handle, int *fds, u32 n_fds); svm_fifo_chunk_t *vcl_segment_alloc_chunk (uword segment_handle, u32 slice_index, u32 size, uword *offset); +int vcl_session_share_fifos (vcl_session_t *s, svm_fifo_t *rxf, + svm_fifo_t *txf); /* * VCL Binary API