|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
58 u32 ip4_table_index,
u32 ip6_table_index,
59 u32 l2_table_index,
u32 is_add)
76 return VNET_API_ERROR_NO_SUCH_TABLE;
87 (
"Non-existent intf_idx=%d with table_index=%d for delete",
89 return VNET_API_ERROR_NO_SUCH_TABLE;
116 u32 ip4_table_index = ~0;
117 u32 ip6_table_index = ~0;
118 u32 l2_table_index = ~0;
128 else if (
unformat (input,
"ip4-table %d", &ip4_table_index))
130 else if (
unformat (input,
"ip6-table %d", &ip6_table_index))
132 else if (
unformat (input,
"l2-table %d", &l2_table_index))
150 ip6_table_index, l2_table_index,
158 case VNET_API_ERROR_NO_MATCHING_INTERFACE:
161 case VNET_API_ERROR_NO_SUCH_ENTRY:
169 .path =
"set policer classify",
171 "set policer classify interface <int> [ip4-table <index>]\n"
172 " [ip6-table <index>] [l2-table <index>] [del]",
236 .path =
"show classify policer",
237 .short_help =
"show classify policer type [ip4|ip6|l2]",
vnet_config_main_t config_main
@ POLICER_CLASSIFY_N_TABLES
policer_classify_table_id_t
#define clib_error_return(e, args...)
@ POLICER_CLASSIFY_TABLE_IP6
static uword unformat_table_type(unformat_input_t *input, va_list *va)
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
vnet_hw_if_output_node_runtime_t * r
#define pool_is_free_index(P, I)
Use free bitmap to query whether given index is free.
#define vec_elt(v, i)
Get vector value at index i.
@ POLICER_CLASSIFY_TABLE_L2
u32 * classify_table_index_by_sw_if_index[POLICER_CLASSIFY_N_TABLES]
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
vnet_main_t * vnet_get_main(void)
static vlib_cli_command_t set_policer_classify_command
(constructor) VLIB_CLI_COMMAND (set_policer_classify_command)
static void vnet_policer_classify_feature_enable(vlib_main_t *vnm, policer_classify_main_t *pcm, u32 sw_if_index, policer_classify_table_id_t tid, int feature_enable)
int vnet_set_policer_classify_intfc(vlib_main_t *vm, u32 sw_if_index, u32 ip4_table_index, u32 ip6_table_index, u32 l2_table_index, u32 is_add)
static vlib_cli_command_t show_policer_classify_command
(constructor) VLIB_CLI_COMMAND (show_policer_classify_command)
sll srl srl sll sra u16x4 i
#define VLIB_CLI_COMMAND(x,...)
vnet_classify_main_t * vnet_classify_main
policer_classify_main_t policer_classify_main
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
static clib_error_t * show_policer_classify_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
static clib_error_t * set_policer_classify_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
format_function_t format_vnet_sw_if_index_name
unformat_function_t unformat_vnet_sw_interface
#define vec_validate_init_empty(V, I, INIT)
Make sure vector is long enough for given index and initialize empty space (no header,...
struct _vnet_classify_main vnet_classify_main_t
int vnet_feature_enable_disable(const char *arc_name, const char *node_name, u32 sw_if_index, int enable_disable, void *feature_config, u32 n_feature_config_bytes)
static vnet_feature_config_main_t * vnet_get_feature_arc_config_main(u8 arc_index)
#define clib_warning(format, args...)
vnet_config_main_t * vnet_config_main[POLICER_CLASSIFY_N_TABLES]
@ POLICER_CLASSIFY_TABLE_IP4
u8 vnet_get_feature_arc_index(const char *s)
vl_api_interface_index_t sw_if_index
vl_api_fib_path_type_t type