16 #ifndef __VOM_ACL_L3_LIST_H__ 17 #define __VOM_ACL_L3_LIST_H__ 72 std::shared_ptr<l3_list>
singular()
const;
77 static void dump(std::ostream& os);
92 void remove(
const l3_rule& rule);
101 static std::shared_ptr<l3_list>
find(
const key_t&
key);
106 const key_t&
key()
const;
108 const rules_t&
rules()
const;
134 void handle_replay();
139 void show(std::ostream& os);
155 void update(
const l3_list& obj);
165 static std::shared_ptr<l3_list> find_or_add(
const l3_list& temp);
200 static std::map<handle_t, std::weak_ptr<l3_list>> m_hdl_db;
An L3 ACL list comprises a set of match actions rules to be applied to packets.
std::shared_ptr< l3_list > singular() const
Return the 'sigular instance' of the ACL that matches this object.
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
std::multiset< l3_rule > rules_t
The rule container type.
std::string to_string() const
convert to string format for debug purposes
std::string key_t
The KEY can be used to uniquely identify the ACL.
const rules_t & rules() const
static std::shared_ptr< l3_list > find(const handle_t &handle)
const key_t & key() const
static void add(const key_t &key, const HW::item< handle_t > &item)
A Database to store the unique 'singular' instances of a single object type.
Class definition for listeners to OM events.
static void dump(std::ostream &os)
Dump all ACLs into the stream provided.
inspect command handler Handler
A type declaration of an interface handle in VPP.
void event_handler(void *tls_async)
dependency_t
There needs to be a strict order in which object types are read from VPP (at boot time) and replayed ...
The interface to writing objects into VPP OM.
A base class for all object_base in the VPP object_base-Model.
void insert(const l3_rule &rule)
Insert priority sorted a rule into the list.
bool operator==(const l3_list &l) const
Comparison operator - for UT.
The VPP Object Model (VOM) library.
l3_list(const key_t &key)
Construct a new object matching the desried state.
An ACL rule is the building block of an ACL.
const handle_t & handle() const
Return the VPP assign handle.