FD.io VPP  v18.07-rc0-415-g6c78436
Vector Packet Processing
ip_punt_drop.h File Reference
+ Include dependency graph for ip_punt_drop.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ip_punt_policer_t_
 IP4 punt policer configuration we police the punt rate to prevent overloading the host. More...
 
struct  ip_punt_policer_trace_t_
 
struct  ip_punt_redirect_rx_t_
 IP4 punt redirect per-rx interface configuration redirect punted traffic to another location. More...
 
struct  ip_punt_redirect_t_
 IP punt redirect configuration. More...
 
struct  ip4_punt_redirect_trace_t_
 IP Punt redirect trace. More...
 

Macros

#define foreach_ip_punt_policer_error   _(DROP, "ip punt policer drop")
 

Typedefs

typedef struct ip_punt_policer_t_ ip_punt_policer_t
 IP4 punt policer configuration we police the punt rate to prevent overloading the host. More...
 
typedef enum ip_punt_policer_next_t_ ip_punt_policer_next_t
 
typedef struct ip_punt_policer_trace_t_ ip_punt_policer_trace_t
 
typedef struct ip_punt_redirect_rx_t_ ip_punt_redirect_rx_t
 IP4 punt redirect per-rx interface configuration redirect punted traffic to another location. More...
 
typedef struct ip_punt_redirect_t_ ip_punt_redirect_t
 IP punt redirect configuration. More...
 
typedef enum ip_punt_redirect_next_t_ ip_punt_redirect_next_t
 IP punt redirect next nodes. More...
 
typedef struct ip4_punt_redirect_trace_t_ ip_punt_redirect_trace_t
 IP Punt redirect trace. More...
 

Enumerations

enum  ip_punt_policer_next_t_ { IP_PUNT_POLICER_NEXT_DROP, IP_PUNT_POLICER_N_NEXT }
 
enum  ip_punt_policer_error_t { IP4_PUNT_POLICER_N_ERROR }
 
enum  ip_punt_redirect_next_t_ { IP_PUNT_REDIRECT_NEXT_DROP, IP_PUNT_REDIRECT_NEXT_TX, IP_PUNT_REDIRECT_NEXT_ARP, IP_PUNT_REDIRECT_N_NEXT }
 IP punt redirect next nodes. More...
 

Functions

u8format_ip_punt_policer_trace (u8 *s, va_list *args)
 
static uword ip_punt_policer (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 arc_index, u32 policer_index)
 IP punt policing node function. More...
 
void ip_punt_redirect_add (ip_punt_redirect_t *cfg, u32 rx_sw_if_index, ip_punt_redirect_rx_t *redirect, fib_protocol_t fproto, vnet_link_t linkt)
 Add a punt redirect entry. More...
 
void ip_punt_redirect_del (ip_punt_redirect_t *cfg, u32 rx_sw_if_index)
 
u8format_ip_punt_redirect (u8 *s, va_list *args)
 
u8format_ip_punt_redirect_trace (u8 *s, va_list *args)
 
static u32 ip_punt_redirect_tx_via_adj (vlib_buffer_t *b0, adj_index_t ai)
 
static uword ip_punt_redirect (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 arc_index, ip_punt_redirect_t *redirect)
 
static uword ip_drop_or_punt (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 arc_index)
 

Macro Definition Documentation

#define foreach_ip_punt_policer_error   _(DROP, "ip punt policer drop")

Definition at line 44 of file ip_punt_drop.h.

Typedef Documentation

IP4 punt policer configuration we police the punt rate to prevent overloading the host.

IP punt redirect next nodes.

IP4 punt redirect per-rx interface configuration redirect punted traffic to another location.

IP punt redirect configuration.

IP Punt redirect trace.

Enumeration Type Documentation

Enumerator
IP4_PUNT_POLICER_N_ERROR 

Definition at line 47 of file ip_punt_drop.h.

Enumerator
IP_PUNT_POLICER_NEXT_DROP 
IP_PUNT_POLICER_N_NEXT 

Definition at line 32 of file ip_punt_drop.h.

IP punt redirect next nodes.

Enumerator
IP_PUNT_REDIRECT_NEXT_DROP 
IP_PUNT_REDIRECT_NEXT_TX 
IP_PUNT_REDIRECT_NEXT_ARP 
IP_PUNT_REDIRECT_N_NEXT 

Definition at line 231 of file ip_punt_drop.h.

Function Documentation

u8* format_ip_punt_policer_trace ( u8 s,
va_list *  args 
)

Definition at line 36 of file ip4_punt_drop.c.

+ Here is the call graph for this function:

u8* format_ip_punt_redirect ( u8 s,
va_list *  args 
)

Definition at line 491 of file ip4_punt_drop.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_ip_punt_redirect_trace ( u8 s,
va_list *  args 
)

Definition at line 91 of file ip4_punt_drop.c.

+ Here is the call graph for this function:

static uword ip_drop_or_punt ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
u8  arc_index 
)
inlinestatic

Definition at line 367 of file ip_punt_drop.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword ip_punt_policer ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
u8  arc_index,
u32  policer_index 
)
inlinestatic

IP punt policing node function.

Definition at line 61 of file ip_punt_drop.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword ip_punt_redirect ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
u8  arc_index,
ip_punt_redirect_t redirect 
)
inlinestatic

Definition at line 286 of file ip_punt_drop.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ip_punt_redirect_add ( ip_punt_redirect_t cfg,
u32  rx_sw_if_index,
ip_punt_redirect_rx_t redirect,
fib_protocol_t  fproto,
vnet_link_t  linkt 
)

Add a punt redirect entry.

Definition at line 342 of file ip4_punt_drop.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ip_punt_redirect_del ( ip_punt_redirect_t cfg,
u32  rx_sw_if_index 
)

Definition at line 368 of file ip4_punt_drop.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 ip_punt_redirect_tx_via_adj ( vlib_buffer_t b0,
adj_index_t  ai 
)
inlinestatic

Definition at line 262 of file ip_punt_drop.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: