X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fstream_session.h;h=34f122f24c34e863a3ddc683e6f80d5f7d51a846;hb=697faeace706337eddf0407e4e28e0bb8d39c20e;hp=6f6dce6604023eca029a56f4454d7d047dc45113;hpb=371ca50a74a9c4f1b74c4c1b65c6fdec610fcfc3;p=vpp.git diff --git a/src/vnet/session/stream_session.h b/src/vnet/session/stream_session.h index 6f6dce66040..34f122f24c3 100644 --- a/src/vnet/session/stream_session.h +++ b/src/vnet/session/stream_session.h @@ -16,7 +16,6 @@ #ifndef SRC_VNET_SESSION_STREAM_SESSION_H_ #define SRC_VNET_SESSION_STREAM_SESSION_H_ -#include #include #include @@ -31,30 +30,20 @@ typedef enum SESSION_STATE_CONNECTING, SESSION_STATE_ACCEPTING, SESSION_STATE_READY, - SESSION_STATE_CONNECTING_READY, + SESSION_STATE_OPENED, + SESSION_STATE_CLOSING, SESSION_STATE_CLOSED, SESSION_STATE_N_STATES, } stream_session_state_t; -/* TODO convert to macro once cleanup completed */ -typedef struct app_session_ +typedef struct generic_session_ { - /** fifo pointers. Once allocated, these do not move */ - svm_fifo_t *server_rx_fifo; - svm_fifo_t *server_tx_fifo; - - /** Type */ - session_type_t session_type; - - /** State */ - volatile u8 session_state; - - /** Session index in owning pool */ - u32 session_index; - - /** Application index */ - u32 app_index; -} app_session_t; + svm_fifo_t *rx_fifo; /**< rx fifo */ + svm_fifo_t *tx_fifo; /**< tx fifo */ + session_type_t session_type; /**< session type */ + volatile u8 session_state; /**< session state */ + u32 session_index; /**< index in owning pool */ +} generic_session_t; typedef struct _stream_session_t { @@ -141,7 +130,6 @@ typedef struct local_session_ #define foreach_session_endpoint_fields \ foreach_transport_connection_fields \ _(u8, transport_proto) \ - _(u8, app_proto) \ typedef struct _session_endpoint { @@ -157,6 +145,7 @@ typedef struct _session_endpoint_extended #undef _ u32 app_index; u32 opaque; + u8 *hostname; } session_endpoint_extended_t; #define SESSION_IP46_ZERO \ @@ -173,7 +162,18 @@ typedef struct _session_endpoint_extended .is_ip4 = 0, \ .port = 0, \ .transport_proto = 0, \ - .app_proto = 0, \ +} +#define SESSION_ENDPOINT_EXT_NULL \ +{ \ + .sw_if_index = ENDPOINT_INVALID_INDEX, \ + .ip = SESSION_IP46_ZERO, \ + .fib_index = ENDPOINT_INVALID_INDEX, \ + .is_ip4 = 0, \ + .port = 0, \ + .transport_proto = 0, \ + .app_index = ENDPOINT_INVALID_INDEX, \ + .opaque = ENDPOINT_INVALID_INDEX, \ + .hostname = 0, \ } #define session_endpoint_to_transport(_sep) ((transport_endpoint_t *)_sep)