16 #ifndef __VOM_L2_XCONNECT_H__ 17 #define __VOM_L2_XCONNECT_H__ 37 typedef std::pair<interface::key_t, interface::key_t>
key_t;
57 const key_t
key()
const;
68 std::shared_ptr<l2_xconnect>
singular()
const;
78 static void dump(std::ostream& os);
83 static std::shared_ptr<l2_xconnect>
find(
const key_t&
key);
103 void handle_replay();
108 void show(std::ostream& os);
129 static std::shared_ptr<l2_xconnect> find_or_add(
const l2_xconnect& temp);
156 const std::shared_ptr<interface> m_east_itf;
163 const std::shared_ptr<interface> m_west_itf;
static std::shared_ptr< l2_xconnect > find(const key_t &key)
Static function to find the bridge_domain in the model.
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
A Class representing the cross connnect of an L2 interface with another l2 interface.
std::shared_ptr< l2_xconnect > singular() const
Return the 'singular instance' of the L2 config that matches this object.
const key_t key() const
Return the xconnect's key.
bool operator==(const l2_xconnect &l) const
Comparison operator - for UT.
A Database to store the unique 'singular' instances of a single object type.
static void dump(std::ostream &os)
Dump all l2_xconnects into the stream provided.
A representation of an interface in VPP.
Class definition for listeners to OM events.
inspect command handler Handler
std::string to_string() const
convert to string format for debug purposes
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 ...
l2_xconnect(const interface &east_itf, const interface &west_itf)
Construct a new object matching the desried state.
std::pair< interface::key_t, interface::key_t > key_t
Key type for an L2 xconnect in the singular DB.
The interface to writing objects into VPP OM.
~l2_xconnect()
Destructor.
A base class for all object_base in the VPP object_base-Model.
std::ostream & operator<<(std::ostream &os, const std::pair< direction_t, interface::key_t > &key)
The VPP Object Model (VOM) library.