|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
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/l2.api.vapi.hpp>
29 #include <vapi/vhost_user.api.vapi.hpp>
30 #include <vapi/vpe.api.vapi.hpp>
34 namespace interface_cmds {
39 const vapi_payload_sw_interface_details& vd);
224 :
public rpc_cmd<HW::item<handle_t>, vapi::Sw_interface_tag_add_del>
258 vapi::Sw_interface_set_flags>
293 :
public rpc_cmd<HW::item<route::table_id_t>, vapi::Sw_interface_set_table>
335 :
public rpc_cmd<HW::item<l2_address_t>, vapi::Sw_interface_set_mac_address>
370 :
public rpc_cmd<HW::item<interface::stats_type_t>,
371 vapi::Collect_detailed_interface_stats>
413 :
public event_cmd<vapi::Want_interface_events, vapi::Sw_interface_event>
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.
rc_t issue(connection &con)
Issue the command to VPP/HW.
std::string to_string() const
convert to string format for debug purposes
A command class that binds an interface to an L3 table.
bvi_delete_cmd(HW::item< handle_t > &item)
Constructor taking the HW::item to update.
std::string to_string() const
convert to string format for debug purposes
~af_packet_create_cmd()=default
A command class to create Loopback interfaces in VPP.
A cmd class that Dumps all the Vpp interfaces.
bool operator==(const events_cmd &i) const
Comparison operator - only used for UT.
A command class to set tag on interfaces.
rc_t issue(connection &con)
Issue the command to VPP/HW.
The VPP Object Model (VOM) library.
vhost_create_cmd(HW::item< handle_t > &item, const std::string &name, const std::string &tag)
A command class to create af_packet interfaces in VPP.
rc_t issue(connection &con)
Issue the command to VPP/HW.
dump_cmd()
Default Constructor.
std::string to_string() const
convert to string format for debug purposes
A command class that enables detailed stats collection on an interface.
std::string to_string() const
convert to string format for debug purposes
rc_t issue(connection &con)
Issue the command to VPP/HW.
A functor class that creates an interface.
std::string to_string() const
convert to string format for debug purposes
rc_t issue(connection &con)
Issue the command to VPP/HW.
loopback_delete_cmd(HW::item< handle_t > &item)
Constructor taking the HW::item to update.
A base class for all RPC commands to VPP.
rc_t issue(connection &con)
Issue the command to VPP/HW.
bool operator==(const set_table_cmd &i) const
Comparison operator - only used for UT.
bool operator==(const set_mac_cmd &i) const
Comparison operator - only used for UT.
A class that listens to interface Events.
rc_t issue(connection &con)
Issue the command to VPP/HW.
rc_t issue(connection &con)
Issue the command to VPP/HW.
Base class for intterface Delete commands.
A cmd class that Dumps all the Vpp interfaces.
std::string to_string() const
convert to string format for debug purposes
A command class to delete af-packet interfaces in VPP.
A command class to delete loopback interfaces in VPP.
rc_t issue(connection &con)
Issue the command to VPP/HW.
vhost_dump_cmd()
Default Constructor.
~loopback_create_cmd()=default
A command class represents our desire to recieve interface events.
~bvi_create_cmd()=default
std::string to_string() const
convert to string format for debug purposes
An Event command base class.
collect_detail_stats_change_cmd(HW::item< interface::stats_type_t > &item, const handle_t &h, bool enable)
Constructor taking the HW::item to update and the handle of the interface.
state_change_cmd(HW::item< interface::admin_state_t > &s, const HW::item< handle_t > &h)
Constructor taking the HW::item to update and the name handle of the interface whose state is to chan...
std::string to_string() const
convert to string format for debug purposes
A representation of the connection to VPP.
rc_t issue(connection &con)
Issue the command to VPP/HW.
bool operator==(const set_tag &i) const
Comparison operator - only used for UT.
std::string to_string() const
convert to string format for debug purposes
set_tag(HW::item< handle_t > &item, const std::string &name)
Constructor taking the HW::item to update.
std::unique_ptr< interface > new_interface(const vapi_payload_sw_interface_details &vd)
Factory method to construct a new interface from the VPP record.
void notify()
Called when it's time to poke the listeners.
void retire(connection &con)
Retires the command - unsubscribe from the events.
bvi_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.
set_mac_cmd(HW::item< l2_address_t > &item, const HW::item< handle_t > &h)
Constructor taking the HW::item to update and the handle of the interface.
set_table_cmd(HW::item< route::table_id_t > &item, const l3_proto_t &proto, const HW::item< handle_t > &h)
Constructor taking the HW::item to update and the name handle of the interface whose table is to chan...
rc_t issue(connection &con)
Issue the command to VPP/HW.
A type declaration of an interface handle in VPP.
af_packet_delete_cmd(HW::item< handle_t > &item, const std::string &name)
Constructor taking the HW::item to update and the name of the interface to delete.
std::string to_string() const
convert to string format for debug purposes
bool operator==(const state_change_cmd &i) const
Comparison operator - only used for UT.
rc_t issue(connection &con)
Issue the command to VPP/HW.
A base class for interface Create commands.
A command class that changes the MAC address on an interface.
A command class to create bvi interfaces in VPP.
bool operator==(const af_packet_dump_cmd &i) const
Comparison operator - only used for UT.
std::string to_string() const
convert to string format for debug purposes
bool operator==(const collect_detail_stats_change_cmd &i) const
Comparison operator - only used for UT.
HW::item< handle_t > & item()
return the HW item the command updates
An L3 protocol can be used to construct a prefix that is used to match packets are part of a route.
std::string to_string() const
convert to string format for debug purposes
A cmd class that Dumps all the Vpp Interfaces.
std::string to_string() const
convert to string format for debug purposes
A command class to delete bvi interfaces in VPP.
af_packet_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.
af_packet_dump_cmd()=default
Default Constructor.
vhost_delete_cmd(HW::item< handle_t > &item, const std::string &name)
std::string to_string() const
convert to string format for debug purposes
rc_t issue(connection &con)
Issue the command to VPP/HW.
rc_t issue(connection &con)
Issue the command to VPP/HW.
rc_t issue(connection &con)
Issue the command to VPP/HW.
A cmd class that changes the admin state.
rc_t issue(connection &con)
Issue the command to VPP/HW.
bool operator==(const dump_cmd &i) const
Comparison operator - only used for UT.
Error codes that VPP will return during a HW write.
A base class for VPP dump commands.
rc_t issue(connection &con)
Issue the command to VPP/HW.
std::string to_string() const
convert to string format for debug purposes
bool operator==(const vhost_dump_cmd &i) const
Comparison operator - only used for UT.
std::string to_string() const
convert to string format for debug purposes
std::string to_string() const
convert to string format for debug purposes
events_cmd(interface::event_listener &el)
Constructor taking the listner to notify.
A functor class that deletes a Vhost interface.