16 #ifndef __VOM_VXLAN_TUNNEL_H__ 17 #define __VOM_VXLAN_TUNNEL_H__ 90 mode_t(
int v,
const std::string s);
130 std::shared_ptr<vxlan_tunnel>
singular()
const;
165 void handle_replay();
170 void show(std::ostream& os);
192 std::shared_ptr<interface> singular_i()
const;
197 static std::shared_ptr<vxlan_tunnel> find_or_add(
const vxlan_tunnel& temp);
233 std::shared_ptr<interface> m_mcast_itf;
238 std::shared_ptr<const route_domain> m_rd;
A representation of a VXLAN Tunnel in VPP.
static std::shared_ptr< vxlan_tunnel > find(const interface::key_t &k)
Fond the singular instance of the interface in the DB by key.
A template base class for all enum types.
Combaintion of attributes that are a unique key for a VXLAN tunnel.
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
boost::asio::ip::address dst
The destination IP address of the endpoint.
static const mode_t GBP_L3
A Database to store the unique 'singular' instances of a single object type.
A representation of an interface in VPP.
const handle_t & handle() const
Return VPP's handle to this object.
Class definition for listeners to OM events.
inspect command handler Handler
A type declaration of an interface handle in VPP.
vl_api_vxlan_gbp_api_tunnel_mode_t mode
endpoint_t()
Default constructor.
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.
std::ostream & operator<<(std::ostream &os, const std::pair< direction_t, interface::key_t > &key)
static const mode_t STANDARD
bool operator==(const endpoint_t &o) const
Comparison operator.
The VPP Object Model (VOM) library.
std::shared_ptr< vxlan_tunnel > singular() const
Return the matching 'singular instance'.
uint32_t vni
The VNI of the endpoint.
static const mode_t GBP_L2
std::string to_string() const
Debug print function.
const key_t & key() const
Return the interface type.
std::string key_t
The key for interface's key.
vxlan_tunnel(const boost::asio::ip::address &src, const boost::asio::ip::address &dst, uint32_t vni, const mode_t &mode=mode_t::STANDARD)
Construct a new object matching the desried state.
boost::asio::ip::address src
The src IP address of the endpoint.