FD.io VPP  v19.08-27-gf4dcae4
Vector Packet Processing
VOM::ACL::l3_list Class Reference

An L3 ACL list comprises a set of match actions rules to be applied to packets. More...

+ Inheritance diagram for VOM::ACL::l3_list:
+ Collaboration diagram for VOM::ACL::l3_list:

Public Types

typedef std::string key_t
 The KEY can be used to uniquely identify the ACL. More...
 
typedef std::multiset< l3_rulerules_t
 The rule container type. More...
 

Public Member Functions

 l3_list (const key_t &key)
 Construct a new object matching the desried state. More...
 
 l3_list (const handle_t &hdl, const key_t &key)
 
 l3_list (const key_t &key, const rules_t &rules)
 
 l3_list (const l3_list &o)
 Copy Constructor. More...
 
 ~l3_list ()
 Destructor. More...
 
std::shared_ptr< l3_listsingular () const
 Return the 'sigular instance' of the ACL that matches this object. More...
 
std::string to_string () const
 convert to string format for debug purposes More...
 
void insert (const l3_rule &rule)
 Insert priority sorted a rule into the list. More...
 
void remove (const l3_rule &rule)
 Remove a rule from the list. More...
 
const handle_thandle () const
 Return the VPP assign handle. More...
 
const key_tkey () const
 
const rules_trules () const
 
bool operator== (const l3_list &l) const
 Comparison operator - for UT. More...
 

Static Public Member Functions

static void dump (std::ostream &os)
 Dump all ACLs into the stream provided. More...
 
static std::shared_ptr< l3_listfind (const handle_t &handle)
 
static std::shared_ptr< l3_listfind (const key_t &key)
 
static void add (const key_t &key, const HW::item< handle_t > &item)
 
static void remove (const HW::item< handle_t > &item)
 

Friends

class VOM::OM
 
class singular_db< key_t, l3_list >
 It's the VOM::singular_db class that calls replay() More...
 

Additional Inherited Members

- Protected Member Functions inherited from VOM::object_base
 object_base ()=default
 Constructable by derived classes only. More...
 
virtual ~object_base ()=default
 Destructor. More...
 

Detailed Description

An L3 ACL list comprises a set of match actions rules to be applied to packets.

A list is bound to a given interface.

Definition at line 35 of file acl_l3_list.hpp.

Member Typedef Documentation

typedef std::string VOM::ACL::l3_list::key_t

The KEY can be used to uniquely identify the ACL.

(other choices for keys, like the summation of the properties of the rules, are rather too cumbersome to use

Definition at line 43 of file acl_l3_list.hpp.

typedef std::multiset<l3_rule> VOM::ACL::l3_list::rules_t

The rule container type.

Definition at line 48 of file acl_l3_list.hpp.

Constructor & Destructor Documentation

VOM::ACL::l3_list::l3_list ( const key_t key)

Construct a new object matching the desried state.

Definition at line 42 of file acl_l3_list.cpp.

VOM::ACL::l3_list::l3_list ( const handle_t hdl,
const key_t key 
)

Definition at line 48 of file acl_l3_list.cpp.

VOM::ACL::l3_list::l3_list ( const key_t key,
const rules_t rules 
)

Definition at line 54 of file acl_l3_list.cpp.

VOM::ACL::l3_list::l3_list ( const l3_list o)

Copy Constructor.

Definition at line 61 of file acl_l3_list.cpp.

VOM::ACL::l3_list::~l3_list ( )

Destructor.

Definition at line 68 of file acl_l3_list.cpp.

Member Function Documentation

void VOM::ACL::l3_list::add ( const key_t key,
const HW::item< handle_t > &  item 
)
static

Definition at line 150 of file acl_l3_list.cpp.

+ Here is the call graph for this function:

void VOM::ACL::l3_list::dump ( std::ostream &  os)
static

Dump all ACLs into the stream provided.

Definition at line 84 of file acl_l3_list.cpp.

+ Here is the call graph for this function:

std::shared_ptr< l3_list > VOM::ACL::l3_list::find ( const handle_t handle)
static

Definition at line 126 of file acl_l3_list.cpp.

+ Here is the caller graph for this function:

std::shared_ptr< l3_list > VOM::ACL::l3_list::find ( const key_t key)
static

Definition at line 132 of file acl_l3_list.cpp.

+ Here is the call graph for this function:

const handle_t & VOM::ACL::l3_list::handle ( ) const

Return the VPP assign handle.

Definition at line 120 of file acl_l3_list.cpp.

+ Here is the call graph for this function:

void VOM::ACL::l3_list::insert ( const l3_rule rule)

Insert priority sorted a rule into the list.

Definition at line 108 of file acl_l3_list.cpp.

+ Here is the caller graph for this function:

const l3_list::key_t & VOM::ACL::l3_list::key ( ) const

Definition at line 166 of file acl_l3_list.cpp.

+ Here is the caller graph for this function:

bool VOM::ACL::l3_list::operator== ( const l3_list l) const

Comparison operator - for UT.

Definition at line 178 of file acl_l3_list.cpp.

+ Here is the call graph for this function:

void VOM::ACL::l3_list::remove ( const l3_rule rule)

Remove a rule from the list.

Definition at line 114 of file acl_l3_list.cpp.

void VOM::ACL::l3_list::remove ( const HW::item< handle_t > &  item)
static

Definition at line 160 of file acl_l3_list.cpp.

+ Here is the call graph for this function:

const l3_list::rules_t & VOM::ACL::l3_list::rules ( ) const

Definition at line 172 of file acl_l3_list.cpp.

+ Here is the caller graph for this function:

std::shared_ptr< l3_list > VOM::ACL::l3_list::singular ( ) const

Return the 'sigular instance' of the ACL that matches this object.

Definition at line 75 of file acl_l3_list.cpp.

+ Here is the caller graph for this function:

std::string VOM::ACL::l3_list::to_string ( void  ) const
virtual

convert to string format for debug purposes

Implements VOM::object_base.

Definition at line 93 of file acl_l3_list.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class singular_db< key_t, l3_list >
friend

It's the VOM::singular_db class that calls replay()

Definition at line 180 of file acl_l3_list.hpp.

friend class VOM::OM
friend

Definition at line 175 of file acl_l3_list.hpp.


The documentation for this class was generated from the following files: