FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
A representation of a VXLAN Tunnel in VPP. More...
Data Structures | |
struct | endpoint_t |
Combaintion of attributes that are a unique key for a VXLAN tunnel. More... | |
struct | mode_t |
mode for the tunnel More... | |
Public Member Functions | |
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. More... | |
vxlan_tunnel (const boost::asio::ip::address &src, const boost::asio::ip::address &dst, uint32_t vni, const interface &mcast_itf, const mode_t &mode=mode_t::STANDARD) | |
vxlan_tunnel (const boost::asio::ip::address &src, const boost::asio::ip::address &dst, uint32_t vni, const route_domain &rd, const mode_t &mode=mode_t::STANDARD) | |
~vxlan_tunnel () | |
vxlan_tunnel (const vxlan_tunnel &o) | |
Copy constructor. More... | |
bool | operator== (const vxlan_tunnel &vx) const |
comparison operator More... | |
std::shared_ptr< vxlan_tunnel > | singular () const |
Return the matching 'singular instance'. More... | |
virtual std::string | to_string () const |
Debug rpint function. More... | |
const handle_t & | handle () const |
Return VPP's handle to this object. More... | |
Public Member Functions inherited from VOM::interface | |
interface (const std::string &name, type_t type, admin_state_t state, const std::string &tag="") | |
Construct a new object matching the desried state. More... | |
interface (const std::string &name, type_t type, admin_state_t state, const route_domain &rd, const std::string &tag="") | |
Construct a new object matching the desried state mapped to a specific route_domain. More... | |
virtual | ~interface () |
Destructor. More... | |
interface (const interface &o) | |
Copy Constructor. More... | |
std::shared_ptr< interface > | singular () const |
Return the matching'singular' of the interface. More... | |
const handle_t & | handle () const |
Return VPP's handle to this object. More... | |
const type_t & | type () const |
Return the interface type. More... | |
const std::string & | name () const |
Return the interface type. More... | |
const key_t & | key () const |
Return the interface type. More... | |
const l2_address_t & | l2_address () const |
Return the L2 Address. More... | |
const admin_state_t & | admin_state () const |
Return the admin state. More... | |
void | set (const admin_state_t &state) |
Set the admin state of the interface. More... | |
void | set (const l2_address_t &addr) |
Set the L2 Address. More... | |
void | set (const oper_state_t &state) |
Set the operational state of the interface, as reported by VPP. More... | |
void | set (const std::string &tag) |
Set the tag to the interface. More... | |
const stats_t & | get_stats (void) const |
Get the interface stats. More... | |
virtual bool | operator== (const interface &i) const |
Comparison operator - only used for UT. More... | |
void | enable_stats (stat_listener *el, const stats_type_t &st=stats_type_t::NORMAL) |
Enable stats for this interface. More... | |
void | disable_stats () |
Disable stats for this interface. More... | |
Static Public Member Functions | |
static std::shared_ptr< vxlan_tunnel > | find (const interface::key_t &k) |
Fond the singular instance of the interface in the DB by key. More... | |
Static Public Member Functions inherited from VOM::interface | |
static const_iterator_t | cbegin () |
static const_iterator_t | cend () |
static std::shared_ptr< interface > | find (const handle_t &h) |
The the singular instance of the interface in the DB by handle. More... | |
static std::shared_ptr< interface > | find (const key_t &k) |
The the singular instance of the interface in the DB by key. More... | |
static void | dump (std::ostream &os) |
Dump all interfaces into the stream provided. More... | |
static void | enable_events (interface::event_listener &el) |
Enable the reception of events of all interfaces. More... | |
static void | disable_events () |
disable the reception of events of all interfaces More... | |
Friends | |
class | OM |
class | singular_db< endpoint_t, vxlan_tunnel > |
It's the singular_db class that calls replay() More... | |
Additional Inherited Members | |
Public Types inherited from VOM::interface | |
typedef std::string | key_t |
The key for interface's key. More... | |
typedef singular_db< const std::string, interface >::const_iterator | const_iterator_t |
The iterator type. More... | |
Protected Member Functions inherited from VOM::interface | |
void | set (const handle_t &handle) |
Set the handle of an interface object. More... | |
void | release () |
release/remove an interface form the singular store More... | |
virtual std::queue< cmd * > & | mk_create_cmd (std::queue< cmd * > &cmds) |
Virtual functions to construct an interface create commands. More... | |
virtual std::queue< cmd * > & | mk_delete_cmd (std::queue< cmd * > &cmds) |
Virtual functions to construct an interface delete commands. More... | |
Protected Member Functions inherited from VOM::object_base | |
object_base ()=default | |
Constructable by derived classes only. More... | |
virtual | ~object_base ()=default |
Destructor. More... | |
Static Protected Member Functions inherited from VOM::interface | |
static void | add (const key_t &name, const HW::item< handle_t > &item) |
Add an interface to the DB keyed on handle. More... | |
static void | remove (const HW::item< handle_t > &item) |
remove an interface from the DB keyed on handle More... | |
Protected Attributes inherited from VOM::interface | |
HW::item< handle_t > | m_hdl |
The SW interface handle VPP has asigned to the interface. More... | |
Static Protected Attributes inherited from VOM::interface | |
static singular_db< key_t, interface > | m_db |
A map of all interfaces key against the interface's name. More... | |
A representation of a VXLAN Tunnel in VPP.
Definition at line 32 of file vxlan_tunnel.hpp.
VOM::vxlan_tunnel::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.
Definition at line 84 of file vxlan_tunnel.cpp.
VOM::vxlan_tunnel::vxlan_tunnel | ( | const boost::asio::ip::address & | src, |
const boost::asio::ip::address & | dst, | ||
uint32_t | vni, | ||
const interface & | mcast_itf, | ||
const mode_t & | mode = mode_t::STANDARD |
||
) |
Definition at line 98 of file vxlan_tunnel.cpp.
VOM::vxlan_tunnel::vxlan_tunnel | ( | const boost::asio::ip::address & | src, |
const boost::asio::ip::address & | dst, | ||
uint32_t | vni, | ||
const route_domain & | rd, | ||
const mode_t & | mode = mode_t::STANDARD |
||
) |
Definition at line 113 of file vxlan_tunnel.cpp.
VOM::vxlan_tunnel::~vxlan_tunnel | ( | ) |
VOM::vxlan_tunnel::vxlan_tunnel | ( | const vxlan_tunnel & | o | ) |
Copy constructor.
Definition at line 128 of file vxlan_tunnel.cpp.
|
static |
Fond the singular instance of the interface in the DB by key.
Definition at line 151 of file vxlan_tunnel.cpp.
const handle_t & VOM::vxlan_tunnel::handle | ( | ) | const |
Return VPP's handle to this object.
Definition at line 145 of file vxlan_tunnel.cpp.
bool VOM::vxlan_tunnel::operator== | ( | const vxlan_tunnel & | vx | ) | const |
comparison operator
Definition at line 138 of file vxlan_tunnel.cpp.
std::shared_ptr< vxlan_tunnel > VOM::vxlan_tunnel::singular | ( | ) | const |
Return the matching 'singular instance'.
Definition at line 256 of file vxlan_tunnel.cpp.
|
virtual |
Debug rpint function.
Reimplemented from VOM::interface.
Definition at line 208 of file vxlan_tunnel.cpp.
|
friend |
Definition at line 202 of file vxlan_tunnel.hpp.
|
friend |
It's the singular_db class that calls replay()
Definition at line 207 of file vxlan_tunnel.hpp.