16 #ifndef __VOM_GBP_ENDPOINT_H__ 17 #define __VOM_GBP_ENDPOINT_H__ 36 typedef std::pair<interface::key_t, mac_address_t>
key_t;
42 const std::vector<boost::asio::ip::address>& ip_addr,
59 const key_t
key()
const;
69 std::shared_ptr<gbp_endpoint>
singular()
const;
74 static std::shared_ptr<gbp_endpoint>
find(
const key_t& k);
79 static void dump(std::ostream& os);
109 void handle_replay();
114 void show(std::ostream& os);
135 static std::shared_ptr<gbp_endpoint> find_or_add(
const gbp_endpoint& temp);
160 std::shared_ptr<interface> m_itf;
165 std::vector<boost::asio::ip::address> m_ips;
175 std::shared_ptr<gbp_endpoint_group> m_epg;
std::shared_ptr< gbp_endpoint > singular() const
Return the matching 'singular instance'.
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
gbp_endpoint(const interface &itf, const std::vector< boost::asio::ip::address > &ip_addr, const mac_address_t &mac, const gbp_endpoint_group &epg)
Construct a GBP endpoint.
std::pair< interface::key_t, mac_address_t > key_t
The key for a GBP endpoint; interface and IP.
~gbp_endpoint()
Destructor.
const key_t key() const
Return the object's key.
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.
std::string to_string() const
Convert to string for debugging.
bool operator==(const gbp_endpoint &bdae) const
comparison operator
A representation of an interface in VPP.
A entry in the ARP termination table of a Bridge Domain.
Class definition for listeners to OM events.
inspect command handler Handler
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.
void replay(void)
replay the object to create it in hardware
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.
static std::shared_ptr< gbp_endpoint > find(const key_t &k)
Find the instnace of the bridge_domain domain in the OM.
Type def of a Ethernet address.