-#include <vnet/ip/ip.h>
-#include <vppinfra/bihash_16_8.h>
-#include <vppinfra/bihash_48_8.h>
-#include <vnet/tcp/tcp_debug.h>
-/*
- * Protocol independent transport properties associated to a session
- */
-typedef struct _transport_connection
-{
- ip46_address_t rmt_ip; /**< Remote IP */
- ip46_address_t lcl_ip; /**< Local IP */
- u16 lcl_port; /**< Local port */
- u16 rmt_port; /**< Remote port */
- u8 proto; /**< Transport protocol id (also session type) */
-
- u32 s_index; /**< Parent session index */
- u32 c_index; /**< Connection index in transport pool */
- u8 is_ip4; /**< Flag if IP4 connection */
- u32 thread_index; /**< Worker-thread index */
-
-#if TRANSPORT_DEBUG
- elog_track_t elog_track; /**< Event logging */
-#endif
-
- /** Macros for 'derived classes' where base is named "connection" */
-#define c_lcl_ip connection.lcl_ip
-#define c_rmt_ip connection.rmt_ip
-#define c_lcl_ip4 connection.lcl_ip.ip4
-#define c_rmt_ip4 connection.rmt_ip.ip4
-#define c_lcl_ip6 connection.lcl_ip.ip6
-#define c_rmt_ip6 connection.rmt_ip.ip6
-#define c_lcl_port connection.lcl_port
-#define c_rmt_port connection.rmt_port
-#define c_proto connection.proto
-#define c_state connection.state
-#define c_s_index connection.s_index
-#define c_c_index connection.c_index
-#define c_is_ip4 connection.is_ip4
-#define c_thread_index connection.thread_index
-#define c_elog_track connection.elog_track
-} transport_connection_t;