X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fapplication_local.h;h=7b937d32f0b5237e66f3b9ea42c6b9a76a405c11;hb=45b7973dddc9f1b50d7f20cc1abe150b2ad9931f;hp=70bb23e057cd1baa21d537dbedd6da4a07cbe62b;hpb=ba7d8f5a3d4078d673486fbb91fe0ce87dfe7230;p=vpp.git diff --git a/src/vnet/session/application_local.h b/src/vnet/session/application_local.h index 70bb23e057c..7b937d32f0b 100644 --- a/src/vnet/session/application_local.h +++ b/src/vnet/session/application_local.h @@ -18,64 +18,27 @@ #define SRC_VNET_SESSION_APPLICATION_LOCAL_H_ #include +#include -local_session_t *application_local_listen_session_alloc (application_t * app); -void application_local_listen_session_free (application_t * app, - local_session_t * ll); -void application_local_listener_session_endpoint (local_session_t * ll, - session_endpoint_t * sep); - -local_session_t *app_worker_local_session_alloc (app_worker_t * app_wrk); -void app_worker_local_session_free (app_worker_t * app_wrk, - local_session_t * s); -local_session_t *app_worker_get_local_session (app_worker_t * app_wrk, - u32 session_index); -local_session_t *app_worker_get_local_session_from_handle (session_handle_t - handle); - -void app_worker_local_sessions_free (app_worker_t * app_wrk); -int app_worker_local_session_cleanup (app_worker_t * client_wrk, - app_worker_t * server_wrk, - local_session_t * ls); - -int app_worker_local_session_connect_notify (local_session_t * ls); -int app_worker_local_session_connect (app_worker_t * client, - app_worker_t * server, - local_session_t * ls, u32 opaque); -int app_worker_local_session_disconnect (u32 app_or_wrk, - local_session_t * ls); -int app_worker_local_session_disconnect_w_index (u32 app_or_wrk, - u32 ls_index); - -void app_worker_format_local_sessions (app_worker_t * app_wrk, int verbose); -void app_worker_format_local_connects (app_worker_t * app, int verbose); - -void mq_send_local_session_disconnected_cb (u32 app_or_wrk, - local_session_t * ls); - -always_inline local_session_t * -application_get_local_listen_session (application_t * app, u32 session_index) -{ - return pool_elt_at_index (app->local_listen_sessions, session_index); -} - -always_inline local_session_t * -application_get_local_listener_w_handle (session_handle_t handle) -{ - u32 server_index, session_index; - application_t *app; - local_session_parse_handle (handle, &server_index, &session_index); - app = application_get (server_index); - return application_get_local_listen_session (app, session_index); -} - -always_inline u8 -application_local_session_listener_has_transport (local_session_t * ls) +typedef struct ct_connection_ { - transport_proto_t tp; - tp = session_type_transport_proto (ls->listener_session_type); - return (tp != TRANSPORT_PROTO_NONE); -} + transport_connection_t connection; + u32 client_wrk; + u32 server_wrk; + u32 transport_listener_index; + transport_proto_t actual_tp; + u32 client_opaque; + u32 peer_index; + u64 segment_handle; + svm_fifo_t *client_rx_fifo; + svm_fifo_t *client_tx_fifo; + u8 is_client; +} ct_connection_t; + +session_t *ct_session_get_peer (session_t * s); +void ct_session_endpoint (session_t * ll, session_endpoint_t * sep); +int ct_session_connect_notify (session_t * ls); +int ct_session_tx (session_t * s); #endif /* SRC_VNET_SESSION_APPLICATION_LOCAL_H_ */