16 #ifndef __VOM_GBP_ENDPOINT_H__ 17 #define __VOM_GBP_ENDPOINT_H__ 41 typedef std::pair<interface::key_t, boost::asio::ip::address>
key_t;
47 const boost::asio::ip::address& ip_addr,
63 const key_t
key()
const;
73 std::shared_ptr<gbp_endpoint>
singular()
const;
78 static std::shared_ptr<gbp_endpoint>
find(
const key_t& k);
83 static void dump(std::ostream& os);
103 virtual ~event_handler() =
default;
113 void handle_replay();
118 void show(std::ostream& os);
129 static event_handler m_evh;
139 static std::shared_ptr<gbp_endpoint> find_or_add(
const gbp_endpoint& temp);
164 std::shared_ptr<interface> m_itf;
169 boost::asio::ip::address m_ip_addr;
std::pair< interface::key_t, boost::asio::ip::address > key_t
The key for a GBP endpoint; interface and IP.
const key_t key() const
Return the object's key.
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
uint32_t epg_id_t
EPG IDs are 32 bit integers.
std::shared_ptr< gbp_endpoint > singular() const
Return the matching 'singular instance'.
~gbp_endpoint()
Destructor.
A entry in the ARP termination table of a Bridge Domain.
A Database to store the unique 'singular' instances of a single object type.
static void dump(std::ostream &os)
Dump all bridge_domain-doamin into the stream provided.
A representation of an interface in VPP.
Class definition for listeners to OM events.
inspect command handler Handler
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.
void replay(void)
replay the object to create it in hardware
gbp_endpoint(const interface &itf, const boost::asio::ip::address &ip_addr, epg_id_t epg_id)
Construct a GBP endpoint.
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.
static std::shared_ptr< gbp_endpoint > find(const key_t &k)
Find the instnace of the bridge_domain domain in the OM.
bool operator==(const gbp_endpoint &bdae) const
comparison operator