FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
VOM::gbp_endpoint_cmds::create_cmd Class Reference

A command class that creates or updates the GBP endpoint. More...

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

Public Member Functions

 create_cmd (HW::item< handle_t > &item, const handle_t &itf, const std::vector< boost::asio::ip::address > &ip_addrs, const mac_address_t &mac, sclass_t sclass, const gbp_endpoint::flags_t &flags)
 Constructor. 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...
 
virtual vapi_error_e operator() (vapi::Gbp_endpoint_add &reply)
 call operator used as a callback by VAPI when the reply is available More...
 
bool operator== (const create_cmd &i) const
 Comparison operator - only used for UT. More...
 
- Public Member Functions inherited from VOM::rpc_cmd< HW::item< handle_t >, vapi::Gbp_endpoint_add >
 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 succeeded ()
 Called by the HW Command Q when it is disabled to indicate the command can be considered successful without issuing it to HW. 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::Gbp_endpoint_add >
typedef vapi::Gbp_endpoint_add msg_t
 convenient typedef More...
 
- Protected Attributes inherited from VOM::rpc_cmd< HW::item< handle_t >, vapi::Gbp_endpoint_add >
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 or updates the GBP endpoint.

Definition at line 30 of file gbp_endpoint_cmds.hpp.

Constructor & Destructor Documentation

◆ create_cmd()

VOM::gbp_endpoint_cmds::create_cmd::create_cmd ( HW::item< handle_t > &  item,
const handle_t itf,
const std::vector< boost::asio::ip::address > &  ip_addrs,
const mac_address_t mac,
sclass_t  sclass,
const gbp_endpoint::flags_t flags 
)

Constructor.

Definition at line 41 of file gbp_endpoint_cmds.cpp.

Member Function Documentation

◆ issue()

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

Issue the command to VPP/HW.

Implements VOM::cmd.

Definition at line 65 of file gbp_endpoint_cmds.cpp.

+ Here is the call graph for this function:

◆ operator()()

vapi_error_e VOM::gbp_endpoint_cmds::create_cmd::operator() ( vapi::Gbp_endpoint_add &  reply)
virtual

call operator used as a callback by VAPI when the reply is available

Reimplemented from VOM::rpc_cmd< HW::item< handle_t >, vapi::Gbp_endpoint_add >.

Definition at line 88 of file gbp_endpoint_cmds.cpp.

+ Here is the call graph for this function:

◆ operator==()

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

Comparison operator - only used for UT.

Definition at line 57 of file gbp_endpoint_cmds.cpp.

◆ to_string()

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

convert to string format for debug purposes

Implements VOM::cmd.

Definition at line 108 of file gbp_endpoint_cmds.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

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