Go to the source code of this file.
|
static u64 | abf_itf_attach_mk_key (u32 abf_index, u32 sw_if_index) |
|
static abf_itf_attach_t * | abf_itf_attach_db_find (u32 abf_index, u32 sw_if_index) |
|
static void | abf_itf_attach_db_add (u32 abf_index, u32 sw_if_index, abf_itf_attach_t *aia) |
|
static void | abf_itf_attach_db_del (u32 abf_index, u32 sw_if_index) |
|
static void | abf_itf_attach_stack (abf_itf_attach_t *aia) |
|
static int | abf_cmp_attach_for_sort (void *v1, void *v2) |
|
void | abf_setup_acl_lc (fib_protocol_t fproto, u32 sw_if_index) |
|
int | abf_itf_attach (fib_protocol_t fproto, u32 policy_id, u32 priority, u32 sw_if_index) |
|
int | abf_itf_detach (fib_protocol_t fproto, u32 policy_id, u32 sw_if_index) |
|
static u8 * | format_abf_intf_attach (u8 *s, va_list *args) |
|
static clib_error_t * | abf_itf_attach_cmd (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | abf_show_attach_cmd (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
void | abf_itf_attach_walk (abf_itf_attach_walk_cb_t cb, void *ctx) |
|
static uword | abf_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, fib_protocol_t fproto) |
|
static uword | abf_input_ip4 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | abf_input_ip6 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static u8 * | format_abf_input_trace (u8 *s, va_list *args) |
|
| VNET_FEATURE_INIT (abf_ip4_feat, static) |
|
| VNET_FEATURE_INIT (abf_ip6_feat, static) |
|
static fib_node_t * | abf_itf_attach_get_node (fib_node_index_t index) |
|
static abf_itf_attach_t * | abf_itf_attach_get_from_node (fib_node_t *node) |
|
static void | abf_itf_attach_last_lock_gone (fib_node_t *node) |
|
static fib_node_back_walk_rc_t | abf_itf_attach_back_walk_notify (fib_node_t *node, fib_node_back_walk_ctx_t *ctx) |
|
static clib_error_t * | abf_itf_bond_init (vlib_main_t *vm) |
|
◆ abf_error [1/2]
#define abf_error |
( |
|
n, |
|
|
|
s |
|
) |
| ABF_ERROR_##n, |
◆ abf_error [2/2]
#define abf_error |
( |
|
n, |
|
|
|
s |
|
) |
| s, |
◆ abf_input_trace_t
◆ abf_next_t
◆ abf_error_t
◆ abf_next_t_
◆ abf_cmp_attach_for_sort()
static int abf_cmp_attach_for_sort |
( |
void * |
v1, |
|
|
void * |
v2 |
|
) |
| |
|
static |
◆ abf_input_inline()
◆ abf_input_ip4()
◆ abf_input_ip6()
◆ abf_itf_attach()
◆ abf_itf_attach_back_walk_notify()
◆ abf_itf_attach_cmd()
◆ abf_itf_attach_db_add()
◆ abf_itf_attach_db_del()
static void abf_itf_attach_db_del |
( |
u32 |
abf_index, |
|
|
u32 |
sw_if_index |
|
) |
| |
|
static |
◆ abf_itf_attach_db_find()
◆ abf_itf_attach_get_from_node()
◆ abf_itf_attach_get_node()
◆ abf_itf_attach_last_lock_gone()
static void abf_itf_attach_last_lock_gone |
( |
fib_node_t * |
node | ) |
|
|
static |
◆ abf_itf_attach_mk_key()
static u64 abf_itf_attach_mk_key |
( |
u32 |
abf_index, |
|
|
u32 |
sw_if_index |
|
) |
| |
|
static |
◆ abf_itf_attach_stack()
◆ abf_itf_attach_walk()
◆ abf_itf_bond_init()
◆ abf_itf_detach()
◆ abf_setup_acl_lc()
◆ abf_show_attach_cmd()
◆ format_abf_input_trace()
static u8* format_abf_input_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ format_abf_intf_attach()
static u8* format_abf_intf_attach |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ VNET_FEATURE_INIT() [1/2]
VNET_FEATURE_INIT |
( |
abf_ip4_feat |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [2/2]
VNET_FEATURE_INIT |
( |
abf_ip6_feat |
, |
|
|
static |
|
|
) |
| |
◆ abf_acl_user_id
ABF ACL module user id returned during the initialization.
Definition at line 49 of file abf_itf_attach.c.
◆ abf_alctx_per_itf
Per interface values of ACL lookup context IDs.
used in the data-plane
Definition at line 44 of file abf_itf_attach.c.
◆ abf_error_strings
char* abf_error_strings[] |
|
static |
◆ abf_ip4_node
Initial value:=
{
.name = "abf-input-ip4",
.vector_size =
sizeof (
u32),
.n_errors = ABF_N_ERROR,
.next_nodes =
{
}
}
static char * abf_error_strings[]
vl_api_fib_path_type_t type
static u8 * format_abf_input_trace(u8 *s, va_list *args)
static uword abf_input_ip4(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Forward declarations;.
(constructor) VLIB_REGISTER_NODE (abf_ip4_node)
Definition at line 660 of file abf_itf_attach.c.
◆ abf_ip6_node
Initial value:=
{
.name = "abf-input-ip6",
.vector_size =
sizeof (
u32),
.n_errors = 0,
.next_nodes =
{
}
}
vl_api_fib_path_type_t type
static u8 * format_abf_input_trace(u8 *s, va_list *args)
static uword abf_input_ip6(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
(constructor) VLIB_REGISTER_NODE (abf_ip6_node)
Definition at line 676 of file abf_itf_attach.c.
◆ abf_itf_attach_cmd_node
Initial value:= {
.path = "abf attach",
.short_help = "abf attach <ip4|ip6> [del] policy <value> <interface>",
}
static clib_error_t * abf_itf_attach_cmd(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Attach an ABF policy to an interface.
(constructor) VLIB_CLI_COMMAND (abf_itf_attach_cmd_node)
Definition at line 406 of file abf_itf_attach.c.
◆ abf_itf_attach_db
A DB of attachments; key={abf_index,sw_if_index}.
Definition at line 59 of file abf_itf_attach.c.
◆ abf_itf_attach_fib_node_type
◆ abf_itf_attach_pool
◆ abf_itf_attach_vft
Initial value:= {
}
static fib_node_back_walk_rc_t abf_itf_attach_back_walk_notify(fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
static fib_node_t * abf_itf_attach_get_node(fib_node_index_t index)
static void abf_itf_attach_last_lock_gone(fib_node_t *node)
Definition at line 753 of file abf_itf_attach.c.
◆ abf_per_itf
A per interface vector of attached policies.
used in the data-plane
Definition at line 39 of file abf_itf_attach.c.
◆ abf_show_attach_cmd_node
Initial value:= {
.path = "show abf attach",
.short_help = "show abf attach <interface>",
.is_mp_safe = 1,
}
static clib_error_t * abf_show_attach_cmd(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (abf_show_attach_cmd_node)
Definition at line 461 of file abf_itf_attach.c.
◆ acl_plugin