16 #ifndef __VOM_BRIDGE_DOMAIN_ENTRY_H__ 17 #define __VOM_BRIDGE_DOMAIN_ENTRY_H__ 33 typedef std::pair<bridge_domain::key_t, mac_address_t>
key_t;
60 const key_t
key()
const;
70 std::shared_ptr<bridge_domain_entry>
singular()
const;
75 static std::shared_ptr<bridge_domain_entry>
find(
const key_t& k);
80 static void dump(std::ostream& os);
110 void handle_replay();
115 void show(std::ostream& os);
136 static std::shared_ptr<bridge_domain_entry> find_or_add(
167 std::shared_ptr<bridge_domain> m_bd;
172 std::shared_ptr<interface> m_tx_itf;
~bridge_domain_entry()
Destructor.
void replay(void)
replay the object to create it in hardware
bool operator==(const bridge_domain_entry &be) const
comparison operator
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
static std::shared_ptr< bridge_domain_entry > find(const key_t &k)
Find the instnace of the bridge_domain domain in the OM.
static void dump(std::ostream &os)
Dump all bridge_domain-doamin into the stream provided.
std::shared_ptr< bridge_domain_entry > singular() const
Return the matching 'singular instance'.
bridge_domain_entry(const bridge_domain &bd, const mac_address_t &mac, const interface &tx_itf)
Construct a bridge_domain in the given bridge domain.
const key_t key() const
Return the object's key.
A Database to store the unique 'singular' instances of a single object type.
A MAC forwarding entry in the bridge-domain/L2-FIB.
A representation of an interface in VPP.
A base class for all object_base in the VPP object_base-Model.
Class definition for listeners to OM events.
inspect command handler Handler
std::pair< bridge_domain::key_t, mac_address_t > key_t
The key for a bridge_domain.
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.
std::string to_string() const
Convert to string for debugging.
std::ostream & operator<<(std::ostream &os, const std::pair< direction_t, interface::key_t > &key)
The VPP Object Model (VOM) library.
Type def of a Ethernet address.