16 #ifndef __VOM_ACL_ETHERTYPE_H__ 17 #define __VOM_ACL_ETHERTYPE_H__ 120 const key_t& key()
const;
130 std::shared_ptr<acl_ethertype> singular()
const;
140 static void dump(std::ostream& os);
145 static std::shared_ptr<acl_ethertype> find(
const key_t& key);
165 void handle_replay();
170 void show(std::ostream& os);
191 static std::shared_ptr<acl_ethertype> find_or_add(
const acl_ethertype& temp);
218 const std::shared_ptr<interface> m_itf;
223 ethertype_rules_t m_le;
234 static
singular_db<interface::key_t, acl_ethertype> m_db;
ethertype_rule_t(const ethertype_t ð, const direction_t &dir)
Constructor.
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
A HW::item is data that is either to be written to or read from VPP/HW.
std::string key_t
The KEY can be used to uniquely identify the ACL ethertype.
An ACL ethertype list comprises a set of inbound ether types and out bound ether types to be applied ...
const direction_t & getDirection(void) const
get the direction
uint16_t getEthertype(void) const
get the ether value
A Database to store the unique 'singular' instances of a single object type.
std::multiset< ethertype_rule_t > ethertype_rules_t
The ethertype container.
A representation of an interface in VPP.
Class definition for listeners to OM events.
inspect command handler Handler
bool operator<(const ethertype_rule_t &other) const
comparision operator
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.
The VPP Object Model (VOM) library.
bool operator==(const ethertype_rule_t &other) const
comparision operator (for testing)
~ethertype_rule_t()=default
Destructor.
std::string to_string() const
convert to string