FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
abf_policy.h File Reference
+ Include dependency graph for abf_policy.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  abf_policy_t_
 An ACL based Forwarding 'policy'. More...
 

Macros

#define ABF_PLUGIN_VERSION_MAJOR   1
 
#define ABF_PLUGIN_VERSION_MINOR   0
 

Typedefs

typedef struct abf_policy_t_ abf_policy_t
 An ACL based Forwarding 'policy'. More...
 
typedef int(* abf_policy_walk_cb_t) (index_t index, void *ctx)
 Callback function invoked during a walk of all policies. More...
 

Functions

abf_policy_tabf_policy_get (index_t index)
 Get an ABF object from its VPP index. More...
 
index_t abf_policy_find (u32 policy_id)
 Find a ABF object from the client's policy ID. More...
 
int abf_policy_update (u32 policy_id, u32 acl_index, const fib_route_path_t *rpaths)
 Create or update an ABF Policy. More...
 
int abf_policy_delete (u32 policy_id, const fib_route_path_t *rpaths)
 Delete paths from an ABF Policy. More...
 
void abf_policy_walk (abf_policy_walk_cb_t cb, void *ctx)
 Walk/visit each of the ABF policies. More...
 

Variables

fib_node_type_t abf_policy_fib_node_type
 The FIB node type for ABF policies. More...
 

Macro Definition Documentation

◆ ABF_PLUGIN_VERSION_MAJOR

#define ABF_PLUGIN_VERSION_MAJOR   1

Definition at line 21 of file abf_policy.h.

◆ ABF_PLUGIN_VERSION_MINOR

#define ABF_PLUGIN_VERSION_MINOR   0

Definition at line 22 of file abf_policy.h.

Typedef Documentation

◆ abf_policy_t

typedef struct abf_policy_t_ abf_policy_t

An ACL based Forwarding 'policy'.

This comprises the ACL index to match against and the forwarding path to take if the match is successful.

ABF policies are then 'attached' to interfaces. An input feature will run through the list of policies a match will divert the packet, if all miss then we continues down the interface's feature arc

◆ abf_policy_walk_cb_t

typedef int(* abf_policy_walk_cb_t) (index_t index, void *ctx)

Callback function invoked during a walk of all policies.

Definition at line 102 of file abf_policy.h.

Function Documentation

◆ abf_policy_delete()

int abf_policy_delete ( u32  policy_id,
const fib_route_path_t rpaths 
)

Delete paths from an ABF Policy.

If no more paths exist, the policy is deleted.

Parameters
policy_idUser defined Policy ID
rpathsThe set of paths to forward remove

Definition at line 181 of file abf_policy.c.

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

◆ abf_policy_find()

index_t abf_policy_find ( u32  policy_id)

Find a ABF object from the client's policy ID.

Parameters
policy_idClient's defined policy ID
Returns
VPP's object index

Definition at line 66 of file abf_policy.c.

+ Here is the caller graph for this function:

◆ abf_policy_get()

abf_policy_t* abf_policy_get ( index_t  index)

Get an ABF object from its VPP index.

Definition at line 41 of file abf_policy.c.

+ Here is the caller graph for this function:

◆ abf_policy_update()

int abf_policy_update ( u32  policy_id,
u32  acl_index,
const fib_route_path_t rpaths 
)

Create or update an ABF Policy.

Parameters
policy_idUser defined Policy ID
acl_indexThe ACL the policy with match on
rpathsThe set of paths to add to the forwarding set
Returns
error code

Definition at line 80 of file abf_policy.c.

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

◆ abf_policy_walk()

void abf_policy_walk ( abf_policy_walk_cb_t  cb,
void *  ctx 
)

Walk/visit each of the ABF policies.

Definition at line 344 of file abf_policy.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ abf_policy_fib_node_type

fib_node_type_t abf_policy_fib_node_type

The FIB node type for ABF policies.

The FIB node type for ABF policies.

Definition at line 26 of file abf_policy.c.