- u8 segment_name[128];
-};
-
- /** \brief Bind to a given URI
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param accept_cookie - sender accept cookie, to identify this bind flavor
- @param uri - a URI, e.g. "tcp://0.0.0.0/0/80" [ipv4]
- "tcp://::/0/80" [ipv6] etc.
- @param options - socket options, fifo sizes, etc.
-*/
-define bind_uri {
- u32 client_index;
- u32 context;
- u32 accept_cookie;
- u8 uri[128];
-};
-
-define bind_uri_reply {
- u32 context;
- u64 handle;
- i32 retval;
- u64 rx_fifo;
- u64 tx_fifo;
- u8 lcl_is_ip4;
- u8 lcl_ip[16];
- u16 lcl_port;
- u64 vpp_evt_q;
-};
-
-/** \brief Unbind a given URI
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param uri - a URI, e.g. "tcp://0.0.0.0/0/80" [ipv4]
- "tcp://::/0/80" [ipv6], etc.
- @param options - socket options, fifo sizes, etc.
-*/
-autoreply define unbind_uri {
- u32 client_index;
- u32 context;
- u8 uri[128];
-};
-
-/** \brief Connect to a given URI
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param client_queue_address - binary API client queue address. Used by
- local server when connect was redirected.
- @param options - socket options, fifo sizes, etc. passed by vpp to the
- server when redirecting connects
- @param uri - a URI, e.g. "tcp4://0.0.0.0/0/80"
- "tcp6://::/0/80" [ipv6], etc.
-*/
-autoreply define connect_uri {
- u32 client_index;
- u32 context;
- u64 client_queue_address;
- u64 options[16];
- u8 uri[128];
-};
-
-/** \brief vpp->client, accept this session
- @param context - sender context, to match reply w/ request
- @param listener_handle - tells client which listener this pertains to
- @param handle - unique session identifier
- @param rx_fifo_address - rx (vpp -> vpp-client) fifo address
- @param tx_fifo_address - tx (vpp-client -> vpp) fifo address
- @param vpp_event_queue_address - vpp's event queue address or client's
- event queue for cut through
- @param server_event_queue_address - server's event queue address for
- cut through sessions
- @param port - remote port
- @param is_ip4 - 1 if the ip is ip4
- @param ip - remote ip
-*/
-define accept_session {
- u32 client_index;
- 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;
- u16 port;
- u8 is_ip4;
- u8 ip[16];
-};
-
-/** \brief client->vpp, reply to an accept message
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
- @param session_index - session index from accept_session / connect_reply
- @param session_thread_index - thread index from accept_session /
- connect_reply
-*/
-define accept_session_reply {
- u32 context;
- i32 retval;
- u64 handle;
-};
-
-/** \brief bidirectional disconnect API
- @param client_index - opaque cookie to identify the sender
- client to vpp direction only
- @param context - sender context, to match reply w/ request
- @param handle - session handle obtained from accept/connect
-*/
-define disconnect_session {
- u32 client_index;
- u32 context;
- u64 handle;
-};
-
-/** \brief bidirectional disconnect reply API
- @param client_index - opaque cookie to identify the sender
- client to vpp direction only
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
- @param handle - session handle
-*/
-define disconnect_session_reply {
- u32 context;
- i32 retval;
- u64 handle;
-};
-
-/** \brief vpp->client reset session API
- @param client_index - opaque cookie to identify the sender
- client to vpp direction only
- @param context - sender context, to match reply w/ request
- @param handle - session handle obtained via accept/connects
-*/
-define reset_session {
- u32 client_index;
- u32 context;
- u64 handle;