FD.io VPP  v17.04-9-g99c0734
Vector Packet Processing
transport.h File Reference
+ Include dependency graph for transport.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#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_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
 
#define TRANSPORT_ENDPOINT_INVALID_INDEX   ((u32)~0)
 

Typedefs

typedef struct _transport_connection transport_connection_t
 
typedef struct _transport_proto_vft transport_proto_vft_t
 
typedef clib_bihash_kv_16_8_t session_kv4_t
 
typedef clib_bihash_kv_48_8_t session_kv6_t
 
typedef struct _transport_endpoint transport_endpoint_t
 
typedef clib_bihash_24_8_t transport_endpoint_table_t
 

Functions

typedef CLIB_PACKED (struct{union{struct{ip4_address_t src;ip4_address_t dst;u16 src_port;u16 dst_port;u32 proto;};u64 as_u64[2];};}) v4_connection_key_t
 
typedef CLIB_PACKED (struct{union{struct{ip6_address_t src;ip6_address_t dst;u16 src_port;u16 dst_port;u32 proto;u8 unused_for_now[8];};u64 as_u64[6];};}) v6_connection_key_t
 
static void make_v4_ss_kv (session_kv4_t *kv, ip4_address_t *lcl, ip4_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto)
 
static void make_v4_listener_kv (session_kv4_t *kv, ip4_address_t *lcl, u16 lcl_port, u8 proto)
 
static void make_v4_ss_kv_from_tc (session_kv4_t *kv, transport_connection_t *t)
 
static void make_v6_ss_kv (session_kv6_t *kv, ip6_address_t *lcl, ip6_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto)
 
static void make_v6_listener_kv (session_kv6_t *kv, ip6_address_t *lcl, u16 lcl_port, u8 proto)
 
static void make_v6_ss_kv_from_tc (session_kv6_t *kv, transport_connection_t *t)
 
u32 transport_endpoint_lookup (transport_endpoint_table_t *ht, ip46_address_t *ip, u16 port)
 
void transport_endpoint_table_add (transport_endpoint_table_t *ht, transport_endpoint_t *te, u32 value)
 
void transport_endpoint_table_del (transport_endpoint_table_t *ht, transport_endpoint_t *te)
 

Macro Definition Documentation

#define c_c_index   connection.c_index

Definition at line 56 of file transport.h.

#define c_elog_track   connection.elog_track

Definition at line 59 of file transport.h.

#define c_is_ip4   connection.is_ip4

Definition at line 57 of file transport.h.

#define c_lcl_ip   connection.lcl_ip

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

Definition at line 45 of file transport.h.

#define c_lcl_ip4   connection.lcl_ip.ip4

Definition at line 47 of file transport.h.

#define c_lcl_ip6   connection.lcl_ip.ip6

Definition at line 49 of file transport.h.

#define c_lcl_port   connection.lcl_port

Definition at line 51 of file transport.h.

#define c_proto   connection.proto

Definition at line 53 of file transport.h.

#define c_rmt_ip   connection.rmt_ip

Definition at line 46 of file transport.h.

#define c_rmt_ip4   connection.rmt_ip.ip4

Definition at line 48 of file transport.h.

#define c_rmt_ip6   connection.rmt_ip.ip6

Definition at line 50 of file transport.h.

#define c_rmt_port   connection.rmt_port

Definition at line 52 of file transport.h.

#define c_s_index   connection.s_index

Definition at line 55 of file transport.h.

#define c_state   connection.state

Definition at line 54 of file transport.h.

#define c_thread_index   connection.thread_index

Definition at line 58 of file transport.h.

#define TRANSPORT_ENDPOINT_INVALID_INDEX   ((u32)~0)

Definition at line 244 of file transport.h.

Typedef Documentation

Definition at line 133 of file transport.h.

Definition at line 134 of file transport.h.

typedef struct _transport_connection transport_connection_t
typedef struct _transport_endpoint transport_endpoint_t
typedef clib_bihash_24_8_t transport_endpoint_table_t

Definition at line 242 of file transport.h.

typedef struct _transport_proto_vft transport_proto_vft_t

Function Documentation

typedef CLIB_PACKED ( struct{union{struct{ip4_address_t src;ip4_address_t dst;u16 src_port;u16 dst_port;u32 proto;};u64 as_u64[2];};}  )
typedef CLIB_PACKED ( struct{union{struct{ip6_address_t src;ip6_address_t dst;u16 src_port;u16 dst_port;u32 proto;u8 unused_for_now[8];};u64 as_u64[6];};}  )
static void make_v4_listener_kv ( session_kv4_t kv,
ip4_address_t lcl,
u16  lcl_port,
u8  proto 
)
inlinestatic

Definition at line 155 of file transport.h.

+ Here is the caller graph for this function:

static void make_v4_ss_kv ( session_kv4_t kv,
ip4_address_t lcl,
ip4_address_t rmt,
u16  lcl_port,
u16  rmt_port,
u8  proto 
)
inlinestatic

Definition at line 137 of file transport.h.

+ Here is the caller graph for this function:

static void make_v4_ss_kv_from_tc ( session_kv4_t kv,
transport_connection_t t 
)
inlinestatic

Definition at line 173 of file transport.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void make_v6_listener_kv ( session_kv6_t kv,
ip6_address_t lcl,
u16  lcl_port,
u8  proto 
)
inlinestatic

Definition at line 204 of file transport.h.

+ Here is the caller graph for this function:

static void make_v6_ss_kv ( session_kv6_t kv,
ip6_address_t lcl,
ip6_address_t rmt,
u16  lcl_port,
u16  rmt_port,
u8  proto 
)
inlinestatic

Definition at line 180 of file transport.h.

+ Here is the caller graph for this function:

static void make_v6_ss_kv_from_tc ( session_kv6_t kv,
transport_connection_t t 
)
inlinestatic

Definition at line 228 of file transport.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 transport_endpoint_lookup ( transport_endpoint_table_t ht,
ip46_address_t *  ip,
u16  port 
)

Definition at line 19 of file transport.c.

+ Here is the caller graph for this function:

void transport_endpoint_table_add ( transport_endpoint_table_t ht,
transport_endpoint_t te,
u32  value 
)

Definition at line 37 of file transport.c.

+ Here is the caller graph for this function:

void transport_endpoint_table_del ( transport_endpoint_table_t ht,
transport_endpoint_t te 
)

Definition at line 51 of file transport.c.

+ Here is the caller graph for this function: