FD.io VPP  v19.04.4-rc0-5-ge88582fac
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...
 
struct  ip_punt_redirect_detail_t_
 

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...
 
typedef struct ip_punt_redirect_detail_t_ ip_punt_redirect_detail_t
 

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)
 
ip_punt_redirect_detail_tip4_punt_redirect_entries (u32 sw_if_index)
 
ip_punt_redirect_detail_tip6_punt_redirect_entries (u32 sw_if_index)
 
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

◆ foreach_ip_punt_policer_error

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

Definition at line 44 of file ip_punt_drop.h.

Typedef Documentation

◆ ip_punt_policer_next_t

◆ ip_punt_policer_t

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

◆ ip_punt_policer_trace_t

◆ ip_punt_redirect_detail_t

◆ ip_punt_redirect_next_t

IP punt redirect next nodes.

◆ ip_punt_redirect_rx_t

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

◆ ip_punt_redirect_t

IP punt redirect configuration.

◆ ip_punt_redirect_trace_t

IP Punt redirect trace.

Enumeration Type Documentation

◆ ip_punt_policer_error_t

Enumerator
IP4_PUNT_POLICER_N_ERROR 

Definition at line 47 of file ip_punt_drop.h.

◆ ip_punt_policer_next_t_

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_t_

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

◆ format_ip_punt_policer_trace()

u8* format_ip_punt_policer_trace ( u8 s,
va_list *  args 
)

Definition at line 41 of file ip4_punt_drop.c.

+ Here is the call graph for this function:

◆ format_ip_punt_redirect()

u8* format_ip_punt_redirect ( u8 s,
va_list *  args 
)

Definition at line 490 of file ip4_punt_drop.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_ip_punt_redirect_trace()

u8* format_ip_punt_redirect_trace ( u8 s,
va_list *  args 
)

Definition at line 94 of file ip4_punt_drop.c.

+ Here is the call graph for this function:

◆ ip4_punt_redirect_entries()

ip_punt_redirect_detail_t* ip4_punt_redirect_entries ( u32  sw_if_index)

Definition at line 524 of file ip4_punt_drop.c.

+ Here is the caller graph for this function:

◆ ip6_punt_redirect_entries()

ip_punt_redirect_detail_t* ip6_punt_redirect_entries ( u32  sw_if_index)

Definition at line 398 of file ip6_punt_drop.c.

+ Here is the caller graph for this function:

◆ ip_drop_or_punt()

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 382 of file ip_punt_drop.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip_punt_policer()

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:

◆ ip_punt_redirect()

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 301 of file ip_punt_drop.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip_punt_redirect_add()

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 339 of file ip4_punt_drop.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip_punt_redirect_del()

void ip_punt_redirect_del ( ip_punt_redirect_t cfg,
u32  rx_sw_if_index 
)

Definition at line 365 of file ip4_punt_drop.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip_punt_redirect_tx_via_adj()

static u32 ip_punt_redirect_tx_via_adj ( vlib_buffer_t b0,
adj_index_t  ai 
)
inlinestatic

Definition at line 277 of file ip_punt_drop.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: