FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Definitions for punt infrastructure. More...
Go to the source code of this file.
Data Structures | |
struct | punt_l4_t_ |
struct | punt_ip_proto_t_ |
struct | punt_exception_t_ |
struct | punt_union_t_ |
struct | punt_reg_t_ |
A registration, by a client, to direct punted traffic to a given node. More... | |
struct | punt_packetdesc_t |
struct | punt_client_t |
struct | punt_client_db_t_ |
struct | punt_thread_data_t_ |
struct | punt_main_t |
Macros | |
#define | foreach_vnet_punt_reason_flag |
#define | foreach_punt_type |
#define | PUNT_PACKETDESC_VERSION 1 |
Typedefs | |
typedef enum vnet_punt_reason_flag_t_ | vnet_punt_reason_flag_t |
typedef enum punt_type_t_ | punt_type_t |
typedef struct punt_l4_t_ | punt_l4_t |
typedef struct punt_ip_proto_t_ | punt_ip_proto_t |
typedef struct punt_exception_t_ | punt_exception_t |
typedef struct punt_union_t_ | punt_union_t |
typedef struct punt_reg_t_ | punt_reg_t |
typedef struct punt_client_db_t_ | punt_client_db_t |
typedef struct punt_thread_data_t_ | punt_thread_data_t |
typedef walk_rc_t(* | punt_client_walk_cb_t) (const punt_client_t *pc, void *ctx) |
Enumerations | |
enum | vnet_punt_reason_flag_t_ { foreach_vnet_punt_reason_flag } |
enum | vnet_punt_reason_flag_mask_t_ { foreach_vnet_punt_reason_flag } |
enum | punt_type_t_ { foreach_punt_type } |
enum | punt_action_e { PUNT_L2 = 0, PUNT_IP4_ROUTED, PUNT_IP6_ROUTED } |
Functions | |
clib_error_t * | vnet_punt_add_del (vlib_main_t *vm, const punt_reg_t *pr, bool is_add) |
clib_error_t * | vnet_punt_socket_add (vlib_main_t *vm, u32 header_version, const punt_reg_t *pr, char *client_pathname) |
clib_error_t * | vnet_punt_socket_del (vlib_main_t *vm, const punt_reg_t *pr) |
char * | vnet_punt_get_server_pathname (void) |
void | punt_client_walk (punt_type_t pt, punt_client_walk_cb_t cb, void *ctx) |
u8 * | format_vnet_punt_reason_flags (u8 *s, va_list *args) |
static_always_inline u32 | punt_client_l4_mk_key (ip_address_family_t af, u16 port) |
static_always_inline punt_client_t * | punt_client_l4_get (ip_address_family_t af, u16 port) |
static_always_inline u32 | punt_client_ip_proto_mk_key (ip_address_family_t af, ip_protocol_t proto) |
static_always_inline punt_client_t * | punt_client_ip_proto_get (ip_address_family_t af, ip_protocol_t proto) |
static_always_inline punt_client_t * | punt_client_exception_get (vlib_punt_reason_t reason) |
Variables | |
punt_main_t | punt_main |
vlib_node_registration_t | udp4_punt_node |
(constructor) VLIB_REGISTER_NODE (udp4_punt_node) More... | |
vlib_node_registration_t | udp6_punt_node |
(constructor) VLIB_REGISTER_NODE (udp6_punt_node) More... | |
vlib_node_registration_t | udp4_punt_socket_node |
(constructor) VLIB_REGISTER_NODE (udp4_punt_socket_node) More... | |
vlib_node_registration_t | udp6_punt_socket_node |
(constructor) VLIB_REGISTER_NODE (udp6_punt_socket_node) More... | |
vlib_node_registration_t | ip4_proto_punt_socket_node |
(constructor) VLIB_REGISTER_NODE (ip4_proto_punt_socket_node) More... | |
vlib_node_registration_t | ip6_proto_punt_socket_node |
(constructor) VLIB_REGISTER_NODE (ip6_proto_punt_socket_node) More... | |
vlib_node_registration_t | punt_socket_rx_node |
(constructor) VLIB_REGISTER_NODE (punt_socket_rx_node) More... | |
Definitions for punt infrastructure.
Definition in file punt.h.
#define foreach_punt_type |
foreach_vnet_punt_reason_flag |
typedef struct punt_client_db_t_ punt_client_db_t |
typedef walk_rc_t(* punt_client_walk_cb_t) (const punt_client_t *pc, void *ctx) |
typedef struct punt_exception_t_ punt_exception_t |
typedef struct punt_ip_proto_t_ punt_ip_proto_t |
typedef struct punt_l4_t_ punt_l4_t |
typedef struct punt_reg_t_ punt_reg_t |
typedef struct punt_thread_data_t_ punt_thread_data_t |
typedef enum punt_type_t_ punt_type_t |
typedef struct punt_union_t_ punt_union_t |
typedef enum vnet_punt_reason_flag_t_ vnet_punt_reason_flag_t |
enum punt_action_e |
enum punt_type_t_ |
static_always_inline punt_client_t* punt_client_exception_get | ( | vlib_punt_reason_t | reason | ) |
static_always_inline punt_client_t* punt_client_ip_proto_get | ( | ip_address_family_t | af, |
ip_protocol_t | proto | ||
) |
static_always_inline u32 punt_client_ip_proto_mk_key | ( | ip_address_family_t | af, |
ip_protocol_t | proto | ||
) |
static_always_inline punt_client_t* punt_client_l4_get | ( | ip_address_family_t | af, |
u16 | port | ||
) |
static_always_inline u32 punt_client_l4_mk_key | ( | ip_address_family_t | af, |
u16 | port | ||
) |
void punt_client_walk | ( | punt_type_t | pt, |
punt_client_walk_cb_t | cb, | ||
void * | ctx | ||
) |
clib_error_t* vnet_punt_add_del | ( | vlib_main_t * | vm, |
const punt_reg_t * | pr, | ||
bool | is_add | ||
) |
char* vnet_punt_get_server_pathname | ( | void | ) |
clib_error_t* vnet_punt_socket_add | ( | vlib_main_t * | vm, |
u32 | header_version, | ||
const punt_reg_t * | pr, | ||
char * | client_pathname | ||
) |
clib_error_t* vnet_punt_socket_del | ( | vlib_main_t * | vm, |
const punt_reg_t * | pr | ||
) |
vlib_node_registration_t ip4_proto_punt_socket_node |
(constructor) VLIB_REGISTER_NODE (ip4_proto_punt_socket_node)
Definition at line 458 of file punt_node.c.
vlib_node_registration_t ip6_proto_punt_socket_node |
(constructor) VLIB_REGISTER_NODE (ip6_proto_punt_socket_node)
Definition at line 468 of file punt_node.c.
punt_main_t punt_main |
vlib_node_registration_t punt_socket_rx_node |
(constructor) VLIB_REGISTER_NODE (punt_socket_rx_node)
Definition at line 618 of file punt_node.c.
vlib_node_registration_t udp4_punt_node |
(constructor) VLIB_REGISTER_NODE (udp4_punt_node)
Definition at line 186 of file punt_node.c.
vlib_node_registration_t udp4_punt_socket_node |
(constructor) VLIB_REGISTER_NODE (udp4_punt_socket_node)
Definition at line 439 of file punt_node.c.
vlib_node_registration_t udp6_punt_node |
(constructor) VLIB_REGISTER_NODE (udp6_punt_node)
Definition at line 202 of file punt_node.c.
vlib_node_registration_t udp6_punt_socket_node |
(constructor) VLIB_REGISTER_NODE (udp6_punt_socket_node)
Definition at line 449 of file punt_node.c.