FD.io VPP  v19.04.2-12-g66b1689
Vector Packet Processing
VOM::vxlan_tunnel_cmds::create_cmd Class Reference

A Command class that creates an VXLAN tunnel. More...

+ Inheritance diagram for VOM::vxlan_tunnel_cmds::create_cmd:
+ Collaboration diagram for VOM::vxlan_tunnel_cmds::create_cmd:

Public Member Functions

 create_cmd (HW::item< handle_t > &item, const std::string &name, const vxlan_tunnel::endpoint_t &ep, handle_t mcast_itf)
 Create command constructor taking HW item to update and the endpoint values. More...
 
rc_t issue (connection &con)
 Issue the command to VPP/HW. More...
 
std::string to_string () const
 convert to string format for debug purposes More...
 
bool operator== (const create_cmd &i) const
 Comparison operator - only used for UT. More...
 
- Public Member Functions inherited from VOM::interface::create_cmd< vapi::Vxlan_add_del_tunnel >
 create_cmd (HW::item< handle_t > &item, const std::string &name)
 
virtual ~create_cmd ()=default
 Destructor. More...
 
virtual bool operator== (const create_cmd &o) const
 Comparison operator - only used for UT. More...
 
void succeeded ()
 Indicate the succeeded, when the HW Q is disabled. More...
 
void insert_interface ()
 add the created interface to the DB More...
 
virtual vapi_error_e operator() (vapi::Vxlan_add_del_tunnel &reply)
 call operator used as a callback by VAPI when the reply is available More...
 
- Public Member Functions inherited from VOM::rpc_cmd< HW::item< handle_t >, vapi::Vxlan_add_del_tunnel >
 rpc_cmd (HW::item< handle_t > &item)
 Constructor taking the HW item that will be updated by the command. More...
 
virtual ~rpc_cmd ()
 Desructor. More...
 
HW::item< handle_t > & item ()
 return the HW item the command updates More...
 
const HW::item< handle_t > & item () const
 return the const HW item the command updates More...
 
void fulfill (const HW::item< handle_t > &d)
 Fulfill the commands promise. More...
 
rc_t wait ()
 Wait on the commands promise. More...
 
virtual void retire (connection &con)
 Retire/cancel a long running command. More...
 
- Public Member Functions inherited from VOM::cmd
 cmd ()
 Default constructor. More...
 
virtual ~cmd ()
 Virtual destructor. More...
 

Additional Inherited Members

- Public Types inherited from VOM::rpc_cmd< HW::item< handle_t >, vapi::Vxlan_add_del_tunnel >
typedef vapi::Vxlan_add_del_tunnel msg_t
 convenient typedef More...
 
- Protected Attributes inherited from VOM::interface::create_cmd< vapi::Vxlan_add_del_tunnel >
const std::string & m_name
 The name of the interface to be created. More...
 
- Protected Attributes inherited from VOM::rpc_cmd< HW::item< handle_t >, vapi::Vxlan_add_del_tunnel >
HW::item< handle_t > & m_hw_item
 A reference to an object's HW::item that the command will update. More...
 
std::promise< HW::item< handle_t > > m_promise
 The promise that implements the synchronous issue. More...
 

Detailed Description

A Command class that creates an VXLAN tunnel.

Definition at line 32 of file vxlan_tunnel_cmds.hpp.

Constructor & Destructor Documentation

VOM::vxlan_tunnel_cmds::create_cmd::create_cmd ( HW::item< handle_t > &  item,
const std::string &  name,
const vxlan_tunnel::endpoint_t ep,
handle_t  mcast_itf 
)

Create command constructor taking HW item to update and the endpoint values.

Definition at line 23 of file vxlan_tunnel_cmds.cpp.

Member Function Documentation

rc_t VOM::vxlan_tunnel_cmds::create_cmd::issue ( connection con)
virtual

Issue the command to VPP/HW.

Implements VOM::cmd.

Definition at line 40 of file vxlan_tunnel_cmds.cpp.

+ Here is the call graph for this function:

bool VOM::vxlan_tunnel_cmds::create_cmd::operator== ( const create_cmd i) const

Comparison operator - only used for UT.

Definition at line 34 of file vxlan_tunnel_cmds.cpp.

std::string VOM::vxlan_tunnel_cmds::create_cmd::to_string ( void  ) const
virtual

convert to string format for debug purposes

Implements VOM::cmd.

Definition at line 66 of file vxlan_tunnel_cmds.cpp.

+ Here is the call graph for this function:


The documentation for this class was generated from the following files: