FD.io VPP  v19.04.3-1-gdfec10d13
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 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 TRANSPORT_CONNECTION_F_IS_TX_PACED   1 << 0
 
#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 struct _transport_stats transport_stats_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 }
 

Functions

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)
 
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)
 

Macro Definition Documentation

◆ c_c_index

#define c_c_index   connection.c_index

Definition at line 110 of file transport_types.h.

◆ c_cc_stat_tstamp

#define c_cc_stat_tstamp   connection.cc_stat_tstamp

Definition at line 114 of file transport_types.h.

◆ c_elog_track

#define c_elog_track   connection.elog_track

Definition at line 113 of file transport_types.h.

◆ c_fib_index

#define c_fib_index   connection.fib_index

Definition at line 108 of file transport_types.h.

◆ c_flags

#define c_flags   connection.flags

Definition at line 120 of file transport_types.h.

◆ c_is_ip4

#define c_is_ip4   connection.is_ip4

Definition at line 111 of file transport_types.h.

◆ c_lcl_ip

#define c_lcl_ip   connection.lcl_ip

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

Definition at line 99 of file transport_types.h.

◆ c_lcl_ip4

#define c_lcl_ip4   connection.lcl_ip.ip4

Definition at line 101 of file transport_types.h.

◆ c_lcl_ip6

#define c_lcl_ip6   connection.lcl_ip.ip6

Definition at line 103 of file transport_types.h.

◆ c_lcl_port

#define c_lcl_port   connection.lcl_port

Definition at line 105 of file transport_types.h.

◆ c_opaque_id

#define c_opaque_id   connection.opaque_conn_id

Definition at line 117 of file transport_types.h.

◆ c_pacer

#define c_pacer   connection.pacer

Definition at line 119 of file transport_types.h.

◆ c_proto

#define c_proto   connection.proto

Definition at line 107 of file transport_types.h.

◆ c_rmt_dpo

#define c_rmt_dpo   connection.rmt_dpo

Definition at line 116 of file transport_types.h.

◆ c_rmt_fei

#define c_rmt_fei   connection.rmt_fei

Definition at line 115 of file transport_types.h.

◆ c_rmt_ip

#define c_rmt_ip   connection.rmt_ip

Definition at line 100 of file transport_types.h.

◆ c_rmt_ip4

#define c_rmt_ip4   connection.rmt_ip.ip4

Definition at line 102 of file transport_types.h.

◆ c_rmt_ip6

#define c_rmt_ip6   connection.rmt_ip.ip6

Definition at line 104 of file transport_types.h.

◆ c_rmt_port

#define c_rmt_port   connection.rmt_port

Definition at line 106 of file transport_types.h.

◆ c_s_index

#define c_s_index   connection.s_index

Definition at line 109 of file transport_types.h.

◆ c_stats

#define c_stats   connection.stats

Definition at line 118 of file transport_types.h.

◆ c_thread_index

#define c_thread_index   connection.thread_index

Definition at line 112 of file transport_types.h.

◆ ENDPOINT_INVALID_INDEX

#define ENDPOINT_INVALID_INDEX   ((u32)~0)

Definition at line 173 of file transport_types.h.

◆ foreach_transport_endpoint_cfg_fields

#define foreach_transport_endpoint_cfg_fields
Value:
foreach_transport_endpoint_fields \

Definition at line 160 of file transport_types.h.

◆ foreach_transport_endpoint_fields

#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)
u32 sw_if_index
Definition: ipsec_gre.api:37
unsigned char u8
Definition: types.h:56
unsigned int u32
Definition: types.h:88
unsigned short u16
Definition: types.h:57

fib table endpoint is associated with

Definition at line 145 of file transport_types.h.

◆ TRANSPORT_CONNECTION_F_IS_TX_PACED

#define TRANSPORT_CONNECTION_F_IS_TX_PACED   1 << 0

Definition at line 123 of file transport_types.h.

◆ TRANSPORT_MAX_HDRS_LEN

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

Definition at line 23 of file transport_types.h.

Typedef Documentation

◆ spacer_t

typedef struct _spacer spacer_t

◆ transport_connection_t

typedef struct _transport_connection transport_connection_t

◆ transport_endpoint_cfg_t

◆ transport_endpoint_t

◆ transport_endpoint_table_t

typedef clib_bihash_24_8_t transport_endpoint_table_t

Definition at line 171 of file transport_types.h.

◆ transport_proto_t

typedef enum _transport_proto transport_proto_t

◆ transport_service_type_t

◆ transport_stats_t

typedef struct _transport_stats transport_stats_t

◆ transport_tx_fn_type_t

Enumeration Type Documentation

◆ transport_dequeue_type_

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.

◆ transport_service_type_

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

◆ format_transport_connection()

u8* format_transport_connection ( u8 s,
va_list *  args 
)

Definition at line 105 of file transport.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_transport_half_open_connection()

u8* format_transport_half_open_connection ( u8 s,
va_list *  args 
)

Definition at line 146 of file transport.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_transport_listen_connection()

u8* format_transport_listen_connection ( u8 s,
va_list *  args 
)

Definition at line 132 of file transport.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_transport_proto()

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:

◆ format_transport_proto_short()

u8* format_transport_proto_short ( u8 s,
va_list *  args 
)

Definition at line 80 of file transport.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ transport_connection_fib_proto()

static u8 transport_connection_fib_proto ( transport_connection_t tc)
inlinestatic

Definition at line 176 of file transport_types.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ transport_endpoint_fib_proto()

static u8 transport_endpoint_fib_proto ( transport_endpoint_t tep)
inlinestatic

Definition at line 182 of file transport_types.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ transport_protocol_is_cl()

u8 transport_protocol_is_cl ( transport_proto_t  tp)

Definition at line 317 of file transport.c.

+ Here is the caller graph for this function:

◆ transport_protocol_service_type()

transport_service_type_t transport_protocol_service_type ( transport_proto_t  )

Definition at line 274 of file transport.c.

+ Here is the caller graph for this function:

◆ transport_protocol_tx_fn_type()

transport_tx_fn_type_t transport_protocol_tx_fn_type ( transport_proto_t  tp)

Definition at line 280 of file transport.c.

+ Here is the caller graph for this function:

◆ unformat_transport_proto()

uword unformat_transport_proto ( unformat_input_t input,
va_list *  args 
)

Definition at line 161 of file transport.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: