16 #ifndef __VOM_INTERFACE_CMDS_H__ 17 #define __VOM_INTERFACE_CMDS_H__ 26 #include <vapi/af_packet.api.vapi.hpp> 27 #include <vapi/interface.api.vapi.hpp> 28 #include <vapi/stats.api.vapi.hpp> 29 #include <vapi/tap.api.vapi.hpp> 30 #include <vapi/vhost_user.api.vapi.hpp> 31 #include <vapi/vpe.api.vapi.hpp> 35 namespace interface_cmds {
40 const vapi_payload_sw_interface_details& vd);
97 const std::string& name,
98 const std::string& tag);
110 const std::string m_tag;
180 :
public rpc_cmd<HW::item<handle_t>, vapi::Sw_interface_tag_add_del>
214 vapi::Sw_interface_set_flags>
249 :
public rpc_cmd<HW::item<route::table_id_t>, vapi::Sw_interface_set_table>
291 :
public rpc_cmd<HW::item<l2_address_t>, vapi::Sw_interface_set_mac_address>
326 :
public rpc_cmd<HW::item<interface::stats_type_t>,
327 vapi::Collect_detailed_interface_stats>
369 :
public event_cmd<vapi::Want_interface_events, vapi::Sw_interface_event>
413 :
public event_cmd<vapi::Want_per_interface_combined_stats,
414 vapi::Vnet_per_interface_combined_counters>
440 void set(
const rc_t& rc);
473 :
public rpc_cmd<HW::item<bool>, vapi::Want_per_interface_combined_stats>
std::string to_string() const
convert to string format for debug purposes
A command class represents our desire to recieve interface stats.
A cmd class that Dumps all the Vpp interfaces.
static clib_error_t * set_tag(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
A command class to set tag on interfaces.
Error codes that VPP will return during a HW write.
An L3 protocol can be used to construct a prefix that is used to match packets are part of a route...
virtual void retire(connection &con)
Retire/cancel a long running command.
A command class that enables detailed stats collection on an interface.
A command class that changes the MAC address on an interface.
const std::string & m_name
The name of the interface to be created.
A representation of the connection to VPP.
std::unique_ptr< interface > new_interface(const vapi_payload_sw_interface_details &vd)
Factory method to construct a new interface from the VPP record.
~loopback_create_cmd()=default
A class that listens to interface Stats.
A class that listens to interface Events.
A base class for all RPC commands to VPP.
A command class to create Loopback interfaces in VPP.
A cmd class that changes the admin state.
A command class that binds an interface to an L3 table.
virtual bool operator==(const create_cmd &o) const
Comparison operator - only used for UT.
A command class represents our desire to recieve interface events.
A cmd class that Dumps all the Vpp Interfaces.
Base class for intterface Delete commands.
A command class to create af_packet interfaces in VPP.
A type declaration of an interface handle in VPP.
A functor class that deletes a Vhost interface.
A command class represents our desire to recieve interface stats.
A command class to delete af-packet interfaces in VPP.
A base class for interface Create commands.
The VPP Object Model (VOM) library.
A command class to delete loopback interfaces in VPP.
A functor class that creates an interface.
An Event command base class.
A cmd class that Dumps all the Vpp interfaces.
loopback_create_cmd(HW::item< handle_t > &item, const std::string &name)
Constructor taking the HW::item to update and the name of the interface to create.
A base class for VPP dump commands.
HW::item< handle_t > & item()
return the HW item the command updates
rc_t issue(connection &con)
Issue the command to VPP/HW.