26                            ip46_address_t * ip, 
u16 port)
    31   kv.
key[0] = ip->as_u64[0];
    32   kv.
key[1] = ip->as_u64[1];
    35   rv = clib_bihash_search_inline_24_8 (ht, &kv);
    48   kv.
key[0] = te->ip.as_u64[0];
    49   kv.
key[1] = te->ip.as_u64[1];
    53   clib_bihash_add_del_24_8 (ht, &kv, 1);
    62   kv.
key[0] = te->ip.as_u64[0];
    63   kv.
key[1] = te->ip.as_u64[1];
    66   clib_bihash_add_del_24_8 (ht, &kv, 0);
    87                                        vft->tx_fifo_offset != 0);
 #define vec_validate(V, I)
Make sure vector is long enough for given index (no header, unspecified alignment) ...
void session_register_transport(transport_proto_t transport_proto, u8 is_ip4, const transport_proto_vft_t *vft)
Register transport virtual function table. 
struct _transport_proto_vft transport_proto_vft_t
u32 transport_endpoint_lookup(transport_endpoint_table_t *ht, ip46_address_t *ip, u16 port)
clib_bihash_24_8_t transport_endpoint_table_t
void transport_endpoint_table_add(transport_endpoint_table_t *ht, transport_endpoint_t *te, u32 value)
#define TRANSPORT_ENDPOINT_INVALID_INDEX
void transport_endpoint_table_del(transport_endpoint_table_t *ht, transport_endpoint_t *te)
static void session_manager_set_transport_rx_fn(u8 type, u8 is_peek)
session_type_t session_type_from_proto_and_ip(transport_proto_t proto, u8 is_ip4)
enum _transport_proto transport_proto_t
transport_proto_vft_t * session_get_transport_vft(u8 session_type)
Get transport virtual function table. 
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant) 
transport_proto_vft_t * tp_vfts
Per-type vector of transport protocol virtual function tables. 
struct _transport_endpoint transport_endpoint_t