16 #ifndef __VOM_VXLAN_TUNNEL_H__ 17 #define __VOM_VXLAN_TUNNEL_H__ 49 const boost::asio::ip::address&
dst,
70 boost::asio::ip::address
src;
75 boost::asio::ip::address
dst;
87 const boost::asio::ip::address&
dst,
95 const boost::asio::ip::address&
src,
96 const boost::asio::ip::address&
dst,
112 std::shared_ptr<vxlan_tunnel>
singular()
const;
127 static void dump(std::ostream& os);
137 virtual ~event_handler() =
default;
147 void handle_replay();
152 void show(std::ostream& os);
163 static event_handler m_evh;
174 std::shared_ptr<interface> singular_i()
const;
179 static std::shared_ptr<vxlan_tunnel> find_or_add(
const vxlan_tunnel& temp);
214 static std::string mk_name(
const boost::asio::ip::address&
src,
215 const boost::asio::ip::address&
dst,
std::string to_string() const
Debug print function.
A representation of a VXLAN Tunnel in VPP.
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 void dump(std::ostream &os)
Dump all L3Configs into the stream provided.
std::shared_ptr< vxlan_tunnel > singular() const
Return the matching 'singular instance'.
A Database to store the unique 'singular' instances of a single object type.
A representation of an interface in VPP.
Class definition for listeners to OM events.
inspect command handler Handler
A type declaration of an interface handle in VPP.
endpoint_t()
Default constructor.
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)
vxlan_tunnel(const boost::asio::ip::address &src, const boost::asio::ip::address &dst, uint32_t vni)
Construct a new object matching the desried state.
bool operator<(const endpoint_t &o) const
less-than operator for map storage
The VPP Object Model (VOM) library.
bool operator==(const endpoint_t &o) const
Comparison operator.
uint32_t vni
The VNI of the endpoint.
boost::asio::ip::address src
The src IP address of the endpoint.
const key_t & key() const
Return the interface type.
const handle_t & handle() const
Return VPP's handle to this object.