FD.io VPP  v17.04-9-g99c0734
Vector Packet Processing
acl.h File Reference
+ Include dependency graph for acl.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  address_t
 
struct  acl_rule_t
 
struct  macip_acl_rule_t
 
struct  acl_list_t
 
struct  macip_acl_list_t
 
struct  acl_main_t
 

Macros

#define ACL_PLUGIN_VERSION_MAJOR   1
 
#define ACL_PLUGIN_VERSION_MINOR   2
 
#define ACL_FA_DEFAULT_MAX_DELETED_SESSIONS_PER_INTERVAL   100
 
#define ACL_FA_DEFAULT_MIN_DELETED_SESSIONS_PER_INTERVAL   1
 
#define ACL_FA_DEFAULT_CLEANER_WAIT_TIME_INCREMENT   0.1
 
#define foreach_fa_cleaner_counter
 
#define foreach_acl_eh
 

Enumerations

enum  acl_timeout_e { ACL_TIMEOUT_UDP_IDLE = 0, ACL_TIMEOUT_TCP_IDLE, ACL_TIMEOUT_TCP_TRANSIENT, ACL_N_TIMEOUTS }
 
enum  address_e { IP4, IP6 }
 
enum  acl_eh_t { foreach_acl_eh }
 

Functions

void input_acl_packet_match (u32 sw_if_index, vlib_buffer_t *b0, u32 *nextp, u32 *acl_match_p, u32 *rule_match_p, u32 *trace_bitmap)
 
void output_acl_packet_match (u32 sw_if_index, vlib_buffer_t *b0, u32 *nextp, u32 *acl_match_p, u32 *rule_match_p, u32 *trace_bitmap)
 

Variables

vlib_node_registration_t acl_in_node
 (constructor) VLIB_REGISTER_NODE (acl_in_node) More...
 
vlib_node_registration_t acl_out_node
 (constructor) VLIB_REGISTER_NODE (acl_out_node) More...
 
acl_main_t acl_main
 

Macro Definition Documentation

#define ACL_FA_DEFAULT_CLEANER_WAIT_TIME_INCREMENT   0.1

Definition at line 208 of file acl.h.

#define ACL_FA_DEFAULT_MAX_DELETED_SESSIONS_PER_INTERVAL   100

Definition at line 197 of file acl.h.

#define ACL_FA_DEFAULT_MIN_DELETED_SESSIONS_PER_INTERVAL   1

Definition at line 205 of file acl.h.

#define ACL_PLUGIN_VERSION_MAJOR   1

Definition at line 30 of file acl.h.

#define ACL_PLUGIN_VERSION_MINOR   2

Definition at line 31 of file acl.h.

#define foreach_acl_eh
Value:
_(HOPBYHOP , 0 , "IPv6ExtHdrHopByHop") \
_(ROUTING , 43 , "IPv6ExtHdrRouting") \
_(DESTOPT , 60 , "IPv6ExtHdrDestOpt") \
_(FRAGMENT , 44 , "IPv6ExtHdrFragment") \
_(MOBILITY , 135, "Mobility Header") \
_(HIP , 139, "Experimental use Host Identity Protocol") \
_(SHIM6 , 140, "Shim6 Protocol") \
_(EXP1 , 253, "Use for experimentation and testing") \
_(EXP2 , 254, "Use for experimentation and testing")

Definition at line 237 of file acl.h.

#define foreach_fa_cleaner_counter
Value:
_(fa_cleaner_cnt_delete_by_sw_index, "delete_by_sw_index events") \
_(fa_cleaner_cnt_delete_by_sw_index_ok, "delete_by_sw_index handled ok") \
_(fa_cleaner_cnt_unknown_event, "unknown events received") \
_(fa_cleaner_cnt_deleted_sessions, "sessions deleted") \
_(fa_cleaner_cnt_timer_restarted, "session idle timers restarted") \
_(fa_cleaner_cnt_wait_with_timeout, "event wait with timeout called") \
_(fa_cleaner_cnt_wait_without_timeout, "event wait w/o timeout called") \
_(fa_cleaner_cnt_event_cycles, "total event cycles") \
_(fa_cleaner_cnt_already_deleted, "try to delete already deleted conn") \
/* end of counters */

Definition at line 217 of file acl.h.

Enumeration Type Documentation

enum acl_eh_t
Enumerator
foreach_acl_eh 

Definition at line 269 of file acl.h.

Enumerator
ACL_TIMEOUT_UDP_IDLE 
ACL_TIMEOUT_TCP_IDLE 
ACL_TIMEOUT_TCP_TRANSIENT 
ACL_N_TIMEOUTS 

Definition at line 39 of file acl.h.

enum address_e
Enumerator
IP4 
IP6 

Definition at line 47 of file acl.h.

Function Documentation

void input_acl_packet_match ( u32  sw_if_index,
vlib_buffer_t b0,
u32 nextp,
u32 acl_match_p,
u32 rule_match_p,
u32 trace_bitmap 
)

Definition at line 905 of file acl.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void output_acl_packet_match ( u32  sw_if_index,
vlib_buffer_t b0,
u32 nextp,
u32 acl_match_p,
u32 rule_match_p,
u32 trace_bitmap 
)

Definition at line 941 of file acl.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

Initial value:
=
{
.function = acl_in_node_fn,.name = "acl-plugin-in",.vector_size =
sizeof (u32),.format_trace = format_acl_in_trace,.type =
ARRAY_LEN (acl_in_error_strings),.error_strings =
.next_nodes =
{
[ACL_IN_ERROR_DROP] = "error-drop",
[ACL_IN_ETHERNET_INPUT] = "ethernet-input",
[ACL_IN_L2S_INPUT_IP4_ADD] = "aclp-l2s-input-ip4-add",
[ACL_IN_L2S_INPUT_IP6_ADD] = "aclp-l2s-input-ip6-add",}
,}
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static uword acl_in_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node_in.c:67
static char * acl_in_error_strings[]
Definition: node_in.c:60
static u8 * format_acl_in_trace(u8 *s, va_list *args)
Definition: node_in.c:33

(constructor) VLIB_REGISTER_NODE (acl_in_node)

Definition at line 154 of file node_in.c.

acl_main_t acl_main

Definition at line 39 of file jvpp_acl.h.

Initial value:
=
{
.function = acl_out_node_fn,.name = "acl-plugin-out",.vector_size =
sizeof (u32),.format_trace = format_acl_out_trace,.type =
ARRAY_LEN (acl_out_error_strings),.error_strings =
.next_nodes =
{
[ACL_OUT_ERROR_DROP] = "error-drop",
[ACL_OUT_INTERFACE_OUTPUT] = "interface-output",
[ACL_OUT_L2S_OUTPUT_IP4_ADD] = "aclp-l2s-output-ip4-add",
[ACL_OUT_L2S_OUTPUT_IP6_ADD] = "aclp-l2s-output-ip6-add",}
,}
static uword acl_out_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node_out.c:67
static u8 * format_acl_out_trace(u8 *s, va_list *args)
Definition: node_out.c:34
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static char * acl_out_error_strings[]
Definition: node_out.c:60

(constructor) VLIB_REGISTER_NODE (acl_out_node)

Definition at line 155 of file node_out.c.