X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession.api;h=58054ae4ba2faa4250781ca559d0bc4935eee7d5;hb=99368315;hp=336b51cd333c3cd5dd9333b22b9f80c2c6057257;hpb=371ca50a74a9c4f1b74c4c1b65c6fdec610fcfc3;p=vpp.git diff --git a/src/vnet/session/session.api b/src/vnet/session/session.api index 336b51cd333..58054ae4ba2 100644 --- a/src/vnet/session/session.api +++ b/src/vnet/session/session.api @@ -13,7 +13,7 @@ * limitations under the License. */ -option version = "1.0.1"; +option version = "1.1.0"; /** \brief client->vpp, attach application to session layer @param client_index - opaque cookie to identify the sender @@ -38,6 +38,9 @@ option version = "1.0.1"; @param retval - return code for the request @param app_event_queue_address - vpp event queue address or 0 if this connection shouldn't send events + @param n_fds - number of fds exchanged + @param fd_flags - set of flags that indicate which fds are to be expected + over the socket (set only if socket transport available) @param segment_size - size of first shm segment @param segment_name_length - length of segment name @param segment_name - name of segment client needs to attach to @@ -46,6 +49,8 @@ define application_attach_reply { u32 context; i32 retval; u64 app_event_queue_address; + u8 n_fds; + u8 fd_flags; u32 segment_size; u8 segment_name_length; u8 segment_name[128]; @@ -91,11 +96,16 @@ autoreply define application_detach { /** \brief vpp->client, please map an additional shared memory segment @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request - @param segment_name - + @param fd_flags - set of flags that indicate which, if any, fds are + to be expected over the socket. This is set only if + socket transport available + @param segment_size - size of the segment to be mapped + @param segment_name - name of the segment to be mapped */ autoreply define map_another_segment { u32 client_index; u32 context; + u8 fd_flags; u32 segment_size; u8 segment_name[128]; }; @@ -119,13 +129,25 @@ autoreply define unmap_segment { "tcp://::/0/80" [ipv6] etc. @param options - socket options, fifo sizes, etc. */ -autoreply define bind_uri { +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 @@ -292,6 +314,9 @@ autoreply define unbind_sock { @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. */ autoreply define connect_sock { u32 client_index; @@ -303,14 +328,20 @@ autoreply define connect_sock { u8 ip[16]; u16 port; u8 proto; + u8 hostname_len; + u8 hostname[hostname_len]; }; /** \brief Bind reply @param context - sender context, to match reply w/ request @param handle - bind handle @param retval - return code for the request - @param event_queue_address - vpp event queue address or 0 if this - connection shouldn't send events + @param lcl_is_ip4 - local ip address type + @param lcl_ip6 - local ip address + @param lcl_port - local port + @param rx_fifo - rx fifo address if allocated (connectionless) + @param tx_fifo - tx fifo address if allocated (connectionless) + @param vpp_evt_q - vpp event queue address (connectionless) @param segment_name_length - length of segment name @param segment_name - name of segment client needs to attach to */ @@ -318,10 +349,12 @@ define bind_sock_reply { u32 context; u64 handle; i32 retval; - u64 server_event_queue_address; u8 lcl_is_ip4; u8 lcl_ip[16]; u16 lcl_port; + u64 rx_fifo; + u64 tx_fifo; + u64 vpp_evt_q; u32 segment_size; u8 segment_name_length; u8 segment_name[128]; @@ -368,6 +401,26 @@ define connect_session_reply { u16 lcl_port; }; +/** \brief ask app to add a new cut-through registration + @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 n_fds - number of fds exchanged + @param fd_flags - flag indicating the fds that will be exchanged over + api socket +*/ +autoreply define app_cut_through_registration_add +{ + u32 client_index; + u32 context; + u64 evt_q_address; + u64 peer_evt_q_address; + u8 n_fds; + u8 fd_flags; +}; + /** \brief enable/disable session layer @param client_index - opaque cookie to identify the sender client to vpp direction only