Go to the source code of this file.
|
u8 * | format_vlib_punt_reason (u8 *s, va_list *args) |
| Format a punt reason. More...
|
|
vlib_punt_hdl_t | vlib_punt_client_register (const char *who) |
| Register a new clinet. More...
|
|
static int | punt_validate_client (vlib_punt_hdl_t client) |
|
static u64 | punt_reg_mk_key (vlib_punt_reason_t reason, u32 node_index) |
|
static u32 | punt_reg_find (vlib_punt_reason_t reason, u32 node_index) |
|
static void | punt_reg_add (const punt_reg_t *pr) |
|
static void | punt_reg_remove (const punt_reg_t *pr) |
|
static void | punt_reg_mk_dp (vlib_punt_reason_t reason) |
| reconstruct the DP per-reason DB More...
|
|
int | vlib_punt_register (vlib_punt_hdl_t client, vlib_punt_reason_t reason, const char *node_name) |
| Register a node to receive particular punted buffers. More...
|
|
int | vlib_punt_unregister (vlib_punt_hdl_t client, vlib_punt_reason_t reason, const char *node_name) |
|
int | vlib_punt_reason_alloc (vlib_punt_hdl_t client, const char *reason_name, vlib_punt_reason_t *reason) |
| Allocate a new punt reason. More...
|
|
uword | unformat_punt_client (unformat_input_t *input, va_list *args) |
|
u8 * | format_punt_reg (u8 *s, va_list *args) |
|
u8 * | format_punt_reason_data (u8 *s, va_list *args) |
|
u8 * | format_punt_client (u8 *s, va_list *args) |
|
static clib_error_t * | punt_client_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | punt_reason_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | punt_db_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | punt_stats_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | punt_init (vlib_main_t *vm) |
|
A client using the punt serivce and its registrations.
A registration, by a client, to direct punted traffic to a given node.
Enumerator |
---|
PUNT_FORMAT_FLAG_NONE |
|
PUNT_FORMAT_FLAG_DETAIL |
|
Definition at line 57 of file punt.c.
u8* format_punt_client |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
u8* format_punt_reason_data |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
u8* format_punt_reg |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
u8* format_vlib_punt_reason |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
Format a punt reason.
Definition at line 132 of file punt.c.
reconstruct the DP per-reason DB
Definition at line 213 of file punt.c.
static void punt_reg_remove |
( |
const punt_reg_t * |
pr | ) |
|
|
static |
Register a new clinet.
- Parameters
-
who | - The name of the client |
the handle the punt infra allocated for this client that must be used when the client wishes to use the infra
Definition at line 140 of file punt.c.
Allocate a new punt reason.
Definition at line 370 of file punt.c.
Register a node to receive particular punted buffers.
client - The registered client registering for the packets
- Parameters
-
reason | - The reason the packet was punted |
node | - The node to which the punted packets will be sent |
Definition at line 252 of file punt.c.
DB of clients key'd by their name.
Definition at line 129 of file punt.c.
Pool of clients.
Definition at line 124 of file punt.c.
Initial value:=
{
.path = "show punt client",
.short_help = "show client[s] registered with the punt infra",
}
static clib_error_t * punt_client_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (punt_client_show_command)
Definition at line 512 of file punt.c.
Initial value:= {
.name = "punt",
.stat_segment_name = "/net/punt",
}
Counters per punt-reason.
FOR USE IN THE DP ONLY.
Definition at line 26 of file punt.c.
Initial value:=
{
.path = "show punt db",
.short_help = "show the punt DB",
}
static clib_error_t * punt_db_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (punt_db_show_command)
Definition at line 578 of file punt.c.
A DB used in the DP per-reason to dispatch packets to the requested nodes.
FOR USE IN THE DP ONLY.
this is a vector of edges per-reason
Definition at line 103 of file punt.c.
data for each punt reason
Definition at line 55 of file punt.c.
The last allocated punt reason.
Definition at line 21 of file punt.c.
Initial value:=
{
.path = "show punt reasons",
.short_help = "show all punt reasons",
}
static clib_error_t * punt_reason_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (punt_reason_show_command)
Definition at line 535 of file punt.c.
A DB of all the register nodes against punt reason and node index.
Definition at line 97 of file punt.c.
Pool of registrations.
Definition at line 92 of file punt.c.
Initial value:=
{
.path = "show punt stats",
.short_help = "show the punt stats",
}
static clib_error_t * punt_stats_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (punt_stats_show_command)
Definition at line 605 of file punt.c.