16 #ifndef SRC_VNET_SESSION_SESSION_LOOKUP_H_ 17 #define SRC_VNET_SESSION_SESSION_LOOKUP_H_ 23 #define HALF_OPEN_LOOKUP_INVALID_VALUE ((u64)~0) 101 typedef enum _session_rule_scope
107 typedef struct _session_rule_add_del_args
session_t * session_lookup_listener_wildcard(u32 table_index, session_endpoint_t *sep)
Lookup listener wildcard match.
u64 session_lookup_local_endpoint(u32 table_index, session_endpoint_t *sep)
Look up endpoint in local session table.
int session_lookup_del_half_open(transport_connection_t *tc)
session_t * session_lookup_listener4(u32 fib_index, ip4_address_t *lcl, u16 lcl_port, u8 proto, u8 use_wildcard)
int session_lookup_del_connection(transport_connection_t *tc)
Delete transport connection from session table.
transport_connection_t * session_lookup_connection6(u32 fib_index, ip6_address_t *lcl, ip6_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto)
Lookup connection with ip6 and transport layer information.
enum session_lookup_result_ session_lookup_result_t
session_t * session_lookup_global_session_endpoint(session_endpoint_t *)
void session_lookup_show_table_entries(vlib_main_t *vm, session_table_t *table, u8 type, u8 is_local)
void session_lookup_dump_local_rules_table(u32 fib_index, u8 fib_proto, u8 transport_proto)
session_t * session_lookup_safe6(u32 fib_index, ip6_address_t *lcl, ip6_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto)
Lookup session with ip6 and transport layer information.
int session_lookup_del_session_endpoint(u32 table_index, session_endpoint_t *sep)
vl_api_fib_path_type_t type
void session_lookup_dump_rules_table(u32 fib_index, u8 fib_proto, u8 transport_proto)
struct _session_rule_add_del_args session_rule_add_del_args_t
void session_lookup_set_tables_appns(app_namespace_t *app_ns)
Mark (global) tables as pertaining to app ns.
transport_connection_t * session_lookup_half_open_connection(u64 handle, u8 proto, u8 is_ip4)
int session_lookup_del_session(session_t *s)
u32 session_lookup_get_index_for_fib(u32 fib_proto, u32 fib_index)
transport_connection_t * session_lookup_connection_wt6(u32 fib_index, ip6_address_t *lcl, ip6_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto, u32 thread_index, u8 *is_filtered)
Lookup connection with ip6 and transport layer information.
struct _transport_connection transport_connection_t
int vnet_session_rule_add_del(session_rule_add_del_args_t *args)
session_t * session_lookup_listener(u32 table_index, session_endpoint_t *sep)
Lookup listener, exact or proxy (inaddr_any:0) match.
struct _app_namespace app_namespace_t
transport_connection_t * session_lookup_connection_wt4(u32 fib_index, ip4_address_t *lcl, ip4_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto, u32 thread_index, u8 *is_filtered)
Lookup connection with ip4 and transport layer information.
transport_connection_t * session_lookup_connection4(u32 fib_index, ip4_address_t *lcl, ip4_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto)
Lookup connection with ip4 and transport layer information.
session_t * session_lookup_safe4(u32 fib_index, ip4_address_t *lcl, ip4_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto)
Lookup session with ip4 and transport layer information.
u64 session_lookup_endpoint_listener(u32 table_index, session_endpoint_t *sepi, u8 use_rules)
Lookup listener for session endpoint in table.
session_t * session_lookup_listener6(u32 fib_index, ip6_address_t *lcl, u16 lcl_port, u8 proto, u8 use_wildcard)
enum _session_rule_scope session_rule_scope_e
int session_lookup_add_connection(transport_connection_t *tc, u64 value)
Add transport connection to a session table.
struct _session_lookup_table session_table_t
struct _session_rules_table_add_del_args session_rule_table_add_del_args_t
int session_lookup_add_half_open(transport_connection_t *tc, u64 value)
u64 session_lookup_half_open_handle(transport_connection_t *tc)
struct _session_endpoint session_endpoint_t
void session_lookup_init(void)
int session_lookup_add_session_endpoint(u32 table_index, session_endpoint_t *sep, u64 value)