FD.io VPP  v19.08-27-gf4dcae4
Vector Packet Processing
transport_types.h File Reference
+ Include dependency graph for transport_types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  transport_endpoint_
 
struct  transport_endpoint_pair_
 

Macros

#define TRANSPORT_MAX_HDRS_LEN   100 /* Max number of bytes for headers */
 
#define TRANSPORT_CONN_ID_LEN   44
 
#define c_lcl_ip   connection.lcl_ip
 Macros for 'derived classes' where base is named "connection". More...
 
#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_fib_index   connection.fib_index
 
#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
 
#define c_cc_stat_tstamp   connection.cc_stat_tstamp
 
#define c_rmt_fei   connection.rmt_fei
 
#define c_rmt_dpo   connection.rmt_dpo
 
#define c_opaque_id   connection.opaque_conn_id
 
#define c_stats   connection.stats
 
#define c_pacer   connection.pacer
 
#define c_flags   connection.flags
 
#define foreach_transport_endpoint_fields
 fib table endpoint is associated with More...
 
#define foreach_transport_endpoint_cfg_fields
 
#define ENDPOINT_INVALID_INDEX   ((u32)~0)
 

Typedefs

typedef enum transport_dequeue_type_ transport_tx_fn_type_t
 
typedef enum transport_service_type_ transport_service_type_t
 
typedef enum transport_connection_flags_ transport_connection_flags_t
 
typedef struct _spacer spacer_t
 
typedef struct _transport_connection transport_connection_t
 
typedef enum _transport_proto transport_proto_t
 
typedef struct transport_endpoint_ transport_endpoint_t
 
typedef struct transport_endpoint_pair_ transport_endpoint_cfg_t
 
typedef clib_bihash_24_8_t transport_endpoint_table_t
 

Enumerations

enum  transport_dequeue_type_ {
  TRANSPORT_TX_PEEK, TRANSPORT_TX_DEQUEUE, TRANSPORT_TX_INTERNAL, TRANSPORT_TX_DGRAM,
  TRANSPORT_TX_N_FNS
}
 
enum  transport_service_type_ { TRANSPORT_SERVICE_VC, TRANSPORT_SERVICE_CL, TRANSPORT_SERVICE_APP, TRANSPORT_N_SERVICES }
 
enum  transport_connection_flags_ { TRANSPORT_CONNECTION_F_IS_TX_PACED = 1 << 0, TRANSPORT_CONNECTION_F_NO_LOOKUP = 1 << 1 }
 

Functions

 STATIC_ASSERT (sizeof(transport_connection_t)<=128,"moved into 3rd cache line")
 
u8format_transport_proto (u8 *s, va_list *args)
 
u8format_transport_proto_short (u8 *s, va_list *args)
 
u8format_transport_connection (u8 *s, va_list *args)
 
u8format_transport_listen_connection (u8 *s, va_list *args)
 
u8format_transport_half_open_connection (u8 *s, va_list *args)
 
uword unformat_transport_proto (unformat_input_t *input, va_list *args)
 
static u8 transport_connection_fib_proto (transport_connection_t *tc)
 
static u8 transport_endpoint_fib_proto (transport_endpoint_t *tep)
 
u8 transport_protocol_is_cl (transport_proto_t tp)
 
u8 transport_half_open_has_fifos (transport_proto_t tp)
 
transport_service_type_t transport_protocol_service_type (transport_proto_t)
 
transport_tx_fn_type_t transport_protocol_tx_fn_type (transport_proto_t tp)
 

Variables

update conn id len
 

Macro Definition Documentation

#define c_c_index   connection.c_index

Definition at line 121 of file transport_types.h.

#define c_cc_stat_tstamp   connection.cc_stat_tstamp

Definition at line 125 of file transport_types.h.

#define c_elog_track   connection.elog_track

Definition at line 124 of file transport_types.h.

#define c_fib_index   connection.fib_index

Definition at line 119 of file transport_types.h.

#define c_flags   connection.flags

Definition at line 131 of file transport_types.h.

#define c_is_ip4   connection.is_ip4

Definition at line 122 of file transport_types.h.

#define c_lcl_ip   connection.lcl_ip

Macros for 'derived classes' where base is named "connection".

Definition at line 110 of file transport_types.h.

#define c_lcl_ip4   connection.lcl_ip.ip4

Definition at line 112 of file transport_types.h.

#define c_lcl_ip6   connection.lcl_ip.ip6

Definition at line 114 of file transport_types.h.

#define c_lcl_port   connection.lcl_port

Definition at line 116 of file transport_types.h.

#define c_opaque_id   connection.opaque_conn_id

Definition at line 128 of file transport_types.h.

#define c_pacer   connection.pacer

Definition at line 130 of file transport_types.h.

#define c_proto   connection.proto

Definition at line 118 of file transport_types.h.

#define c_rmt_dpo   connection.rmt_dpo

Definition at line 127 of file transport_types.h.

#define c_rmt_fei   connection.rmt_fei

Definition at line 126 of file transport_types.h.

#define c_rmt_ip   connection.rmt_ip

Definition at line 111 of file transport_types.h.

#define c_rmt_ip4   connection.rmt_ip.ip4

Definition at line 113 of file transport_types.h.

#define c_rmt_ip6   connection.rmt_ip.ip6

Definition at line 115 of file transport_types.h.

#define c_rmt_port   connection.rmt_port

Definition at line 117 of file transport_types.h.

#define c_s_index   connection.s_index

Definition at line 120 of file transport_types.h.

#define c_stats   connection.stats

Definition at line 129 of file transport_types.h.

#define c_thread_index   connection.thread_index

Definition at line 123 of file transport_types.h.

#define ENDPOINT_INVALID_INDEX   ((u32)~0)

Definition at line 190 of file transport_types.h.

#define foreach_transport_endpoint_cfg_fields
Value:
foreach_transport_endpoint_fields \

Definition at line 177 of file transport_types.h.

#define foreach_transport_endpoint_fields
Value:
_(ip46_address_t, ip) /**< ip address in net order */ \
_(u16, port) /**< port in net order */ \
_(u8, is_ip4) /**< set if ip4 */ \
_(u32, sw_if_index) /**< interface endpoint is associated with */ \
_(u32, fib_index)
unsigned char u8
Definition: types.h:56
vl_api_interface_index_t sw_if_index
Definition: gre.api:50
unsigned int u32
Definition: types.h:88
unsigned short u16
Definition: types.h:57
u16 port
Definition: punt.api:40
vl_api_address_t ip
Definition: l2.api:489

fib table endpoint is associated with

Definition at line 162 of file transport_types.h.

#define TRANSPORT_CONN_ID_LEN   44

Definition at line 57 of file transport_types.h.

#define TRANSPORT_MAX_HDRS_LEN   100 /* Max number of bytes for headers */

Definition at line 23 of file transport_types.h.

Typedef Documentation

typedef struct _spacer spacer_t
typedef struct _transport_connection transport_connection_t
typedef clib_bihash_24_8_t transport_endpoint_table_t

Definition at line 188 of file transport_types.h.

typedef enum _transport_proto transport_proto_t

Enumeration Type Documentation

Enumerator
TRANSPORT_CONNECTION_F_IS_TX_PACED 
TRANSPORT_CONNECTION_F_NO_LOOKUP 

Don't register connection in lookup Does not apply to local apps and transports using the network layer (udp/tcp)

Definition at line 42 of file transport_types.h.

Enumerator
TRANSPORT_TX_PEEK 

reliable transport protos

TRANSPORT_TX_DEQUEUE 

unreliable transport protos

TRANSPORT_TX_INTERNAL 

apps acting as transports

TRANSPORT_TX_DGRAM 

datagram mode

TRANSPORT_TX_N_FNS 

Definition at line 25 of file transport_types.h.

Enumerator
TRANSPORT_SERVICE_VC 

virtual circuit service

TRANSPORT_SERVICE_CL 

connectionless service

TRANSPORT_SERVICE_APP 

app transport service

TRANSPORT_N_SERVICES 

Definition at line 34 of file transport_types.h.

Function Documentation

u8* format_transport_connection ( u8 s,
va_list *  args 
)

Definition at line 123 of file transport.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_transport_half_open_connection ( u8 s,
va_list *  args 
)

Definition at line 164 of file transport.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_transport_listen_connection ( u8 s,
va_list *  args 
)

Definition at line 150 of file transport.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_transport_proto ( u8 s,
va_list *  args 
)

Definition at line 55 of file transport.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_transport_proto_short ( u8 s,
va_list *  args 
)

Definition at line 89 of file transport.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

STATIC_ASSERT ( sizeof(transport_connection_t)<=  128,
"moved into 3rd cache line"   
)
static u8 transport_connection_fib_proto ( transport_connection_t tc)
inlinestatic

Definition at line 193 of file transport_types.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 transport_endpoint_fib_proto ( transport_endpoint_t tep)
inlinestatic

Definition at line 199 of file transport_types.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 transport_half_open_has_fifos ( transport_proto_t  tp)

Definition at line 292 of file transport.c.

+ Here is the caller graph for this function:

u8 transport_protocol_is_cl ( transport_proto_t  tp)

Definition at line 341 of file transport.c.

+ Here is the caller graph for this function:

transport_service_type_t transport_protocol_service_type ( transport_proto_t  )

Definition at line 298 of file transport.c.

+ Here is the caller graph for this function:

transport_tx_fn_type_t transport_protocol_tx_fn_type ( transport_proto_t  tp)

Definition at line 304 of file transport.c.

+ Here is the caller graph for this function:

uword unformat_transport_proto ( unformat_input_t input,
va_list *  args 
)

Definition at line 179 of file transport.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

update conn id len

Definition at line 135 of file transport_types.h.