- @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.
-*/
-autoreply define bind_uri {
- u32 client_index;
- u32 context;
- u32 accept_cookie;
- u8 uri[128];
-};
-
-/** \brief Unbind a given URI
- ### WILL BE DEPRECATED POST 20.01 ###
- @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
- ### WILL BE DEPRECATED POST 20.01 ###
- @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 bidirectional disconnect API
- ### WILL BE DEPRECATED POST 20.01 ###
- @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
- ### WILL BE DEPRECATED POST 20.01 ###
- @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 Bind to an ip:port pair for a given transport protocol
- ### WILL BE DEPRECATED POST 20.01 ###
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param wrk_index - index of worker requesting the bind
- @param vrf - bind namespace
- @param is_ip4 - flag that is 1 if ip address family is IPv4
- @param ip - ip address
- @param port - port
- @param proto - protocol 0 - TCP 1 - UDP
- @param options - socket options, fifo sizes, etc.
-*/
-autoreply define bind_sock {
- u32 client_index;
- u32 context;
- u32 wrk_index;
- u32 vrf;
- u8 is_ip4;
- u8 ip[16];
- u16 port;
- u8 proto;
- u64 options[16];
-};
-
-/** \brief Unbind
- ### WILL BE DEPRECATED POST 20.01 ###s
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param wrk_index - index of worker requesting the bind
- @param handle - bind handle obtained from bind reply
-*/
-autoreply define unbind_sock {
- u32 client_index;
- u32 context;
- u32 wrk_index;
- u64 handle;
-};
-
-/** \brief Connect to a remote peer
- ### WILL BE DEPRECATED POST 20.01 ###
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param wrk_index - worker that requests the connect
- @param client_queue_address - client's API queue address. Non-zero when
- used to perform redirects
- @param options - socket options, fifo sizes, etc. when doing redirects
- @param vrf - connection namespace
- @param is_ip4 - flag that is 1 if ip address family is IPv4
- @param ip - ip address
- @param port - port
- @param proto - protocol 0 - TCP 1 - UDP
- @param hostname-len - length of hostname
- @param hostname - destination's hostname. If present, used by protocols
- like tls.
- @param parent_handle - handle of parent session (e.g. for opening quic streams).
-*/
-autoreply define connect_sock {
- u32 client_index;
- u32 context;
- u32 wrk_index;
- u64 client_queue_address;
- u64 options[16];
- u32 vrf;
- u8 is_ip4;
- u8 ip[16];
- u16 port;
- u8 proto;
- u8 hostname_len;
- u8 hostname[hostname_len];
- u64 parent_handle;
-};
-
-/** \brief ask app to add a new cut-through registration
- ### WILL BE DEPRECATED POST 20.01 ###
- @param client_index - opaque cookie to identify the sender
- client to vpp direction only
- @param context - sender context, to match reply w/ request
- @param evt_q_address - address of the mq in ssvm segment
- @param peer_evt_q_address - address of peer's mq in ssvm segment
- @param wrk_index - index of worker to receive the registration
- @param n_fds - number of fds exchanged
- @param fd_flags - flag indicating the fds that will be exchanged over
- api socket