X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Finterface_cmds.hpp;h=2ee892fc0f8ca98cdb62bc50a708f040440b29a2;hb=71a70d73f34f7c057dd95dbca39fb8e602087a75;hp=13a47e6a6d7fffced800f907944247d060f73946;hpb=51edc3ab01e0af58d457da97bf6ca9cc3ebc6b8d;p=vpp.git diff --git a/extras/vom/vom/interface_cmds.hpp b/extras/vom/vom/interface_cmds.hpp index 13a47e6a6d7..2ee892fc0f8 100644 --- a/extras/vom/vom/interface_cmds.hpp +++ b/extras/vom/vom/interface_cmds.hpp @@ -25,7 +25,7 @@ #include #include -#include +#include #include #include @@ -38,6 +38,30 @@ namespace interface_cmds { std::unique_ptr new_interface( const vapi_payload_sw_interface_details& vd); +/** + * A command class to create bvi interfaces in VPP + */ +class bvi_create_cmd : public interface::create_cmd +{ +public: + /** + * Constructor taking the HW::item to update + * and the name of the interface to create + */ + bvi_create_cmd(HW::item& item, const std::string& name); + ~bvi_create_cmd() = default; + + /** + * Issue the command to VPP/HW + */ + rc_t issue(connection& con); + + /** + * convert to string format for debug purposes + */ + std::string to_string() const; +}; + /** * A command class to create Loopback interfaces in VPP */ @@ -109,6 +133,27 @@ private: const std::string m_tag; }; +/** + * A command class to delete bvi interfaces in VPP + */ +class bvi_delete_cmd : public interface::delete_cmd +{ +public: + /** + * Constructor taking the HW::item to update + */ + bvi_delete_cmd(HW::item& item); + + /** + * Issue the command to VPP/HW + */ + rc_t issue(connection& con); + /** + * convert to string format for debug purposes + */ + std::string to_string() const; +}; + /** * A command class to delete loopback interfaces in VPP */