16 #ifndef SRC_VNET_SESSION_SESSION_RULES_TABLE_H_ 17 #define SRC_VNET_SESSION_SESSION_RULES_TABLE_H_ 39 }) session_mask_or_match_4_t;
54 }) session_mask_or_match_6_t;
57 #define SESSION_RULE_TAG_MAX_LEN 64 58 #define SESSION_RULES_TABLE_INVALID_INDEX MMA_TABLE_INVALID_INDEX 59 #define SESSION_RULES_TABLE_ACTION_DROP (MMA_TABLE_INVALID_INDEX - 1) 60 #define SESSION_RULES_TABLE_ACTION_ALLOW (MMA_TABLE_INVALID_INDEX - 2) 62 typedef struct _session_rules_table_add_del_args
73 typedef struct _rule_tag
78 typedef struct _session_rules_table_t
83 mma_rules_table_16_t session_rules_tables_16;
84 mma_rules_table_40_t session_rules_tables_40;
104 ip6_address_t * lcl_ip,
105 ip6_address_t * rmt_ip,
u16 lcl_port,
111 ip46_address_t * lcl_ip,
u16 lcl_port,
112 ip46_address_t * rmt_ip,
u16 rmt_port,
struct _session_rules_table_t session_rules_table_t
u32 session_rules_table_lookup4(session_rules_table_t *srt, ip4_address_t *lcl_ip, ip4_address_t *rmt_ip, u16 lcl_port, u16 rmt_port)
Aggregate type for a prefix.
void session_rules_table_cli_dump(vlib_main_t *vm, session_rules_table_t *srt, u8 fib_proto)
int session_rules_table_add_del(session_rules_table_t *srt, session_rule_table_add_del_args_t *args)
Add/delete session rule.
struct _rule_tag session_rule_tag_t
typedef CLIB_PACKED(struct { union { struct { ip4_address_t rmt_ip;ip4_address_t lcl_ip;u16 rmt_port;u16 lcl_port;};u64 as_u64[2];};}) session_mask_or_match_4_t
void session_rules_table_show_rule(vlib_main_t *vm, session_rules_table_t *srt, ip46_address_t *lcl_ip, u16 lcl_port, ip46_address_t *rmt_ip, u16 rmt_port, u8 is_ip4)
void session_rules_table_init(session_rules_table_t *srt)
struct _session_rules_table_add_del_args session_rule_table_add_del_args_t
u32 session_rules_table_lookup6(session_rules_table_t *srt, ip6_address_t *lcl_ip, ip6_address_t *rmt_ip, u16 lcl_port, u16 rmt_port)
u8 * session_rules_table_rule_tag(session_rules_table_t *srt, u32 ri, u8 is_ip4)