X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fapplication_interface.h;h=9c48faa8abc022075ce2949493e7c3c36d32bd91;hb=30e79c2e388a98160a3660f4f03103890c9b1b7c;hp=dc4c46906c4edc86fb54f0c323b1781908973d21;hpb=178cf493d009995b28fdf220f04c98860ff79a9b;p=vpp.git diff --git a/src/vnet/session/application_interface.h b/src/vnet/session/application_interface.h index dc4c46906c4..9c48faa8abc 100644 --- a/src/vnet/session/application_interface.h +++ b/src/vnet/session/application_interface.h @@ -28,11 +28,13 @@ typedef struct _vnet_app_attach_args_t #undef _ ssvm_private_t * segment; svm_msg_q_t *app_evt_q; + u64 segment_handle; } vnet_app_attach_args_t; typedef struct _vnet_app_detach_args_t { u32 app_index; + u32 api_client_index; } vnet_app_detach_args_t; typedef struct _vnet_bind_args_t @@ -218,9 +220,9 @@ typedef struct session_bound_msg_ u8 lcl_is_ip4; u8 lcl_ip[16]; u16 lcl_port; - u64 rx_fifo; - u64 tx_fifo; - u64 vpp_evt_q; + uword rx_fifo; + uword tx_fifo; + uword vpp_evt_q; u32 segment_size; u8 segment_name_length; u8 segment_name[128]; @@ -231,11 +233,12 @@ typedef struct session_accepted_msg_ u32 context; u64 listener_handle; u64 handle; - u64 server_rx_fifo; - u64 server_tx_fifo; - u64 vpp_event_queue_address; - u64 server_event_queue_address; - u64 client_event_queue_address; + uword server_rx_fifo; + uword server_tx_fifo; + u64 segment_handle; + uword vpp_event_queue_address; + uword server_event_queue_address; + uword client_event_queue_address; u16 port; u8 is_ip4; u8 ip[16]; @@ -257,11 +260,12 @@ typedef struct session_connected_msg_ u32 context; i32 retval; u64 handle; - u64 server_rx_fifo; - u64 server_tx_fifo; - u64 vpp_event_queue_address; - u64 client_event_queue_address; - u64 server_event_queue_address; + uword server_rx_fifo; + uword server_tx_fifo; + u64 segment_handle; + uword vpp_event_queue_address; + uword client_event_queue_address; + uword server_event_queue_address; u32 segment_size; u8 segment_name_length; u8 segment_name[64]; @@ -293,12 +297,33 @@ typedef struct session_reset_msg_ typedef struct session_reset_reply_msg_ { - u32 client_index; u32 context; i32 retval; u64 handle; } __clib_packed session_reset_reply_msg_t; +typedef struct session_req_worker_update_msg_ +{ + u64 session_handle; +} __clib_packed session_req_worker_update_msg_t; + +/* NOTE: using u16 for wrk indices because message needs to fit in 18B */ +typedef struct session_worker_update_msg_ +{ + u32 client_index; + u16 wrk_index; + u16 req_wrk_index; + u64 handle; +} __clib_packed session_worker_update_msg_t; + +typedef struct session_worker_update_reply_msg_ +{ + u64 handle; + uword rx_fifo; + uword tx_fifo; + u64 segment_handle; +} __clib_packed session_worker_update_reply_msg_t; + typedef struct app_session_event_ { svm_msg_q_msg_t msg;