X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Finterface_cmds.cpp;h=9e2772584c014613f3dab8ebf45808001871ca5a;hb=208c29aac523231af2420a95ba7e5d361698780b;hp=49a24c1301b2d2f1bc99dd3f50d3419cd1eee763;hpb=164e5f8c63652028ecb9c3570e1ea8618b163071;p=vpp.git diff --git a/extras/vom/vom/interface_cmds.cpp b/extras/vom/vom/interface_cmds.cpp index 49a24c1301b..9e2772584c0 100644 --- a/extras/vom/vom/interface_cmds.cpp +++ b/extras/vom/vom/interface_cmds.cpp @@ -19,7 +19,6 @@ DEFINE_VAPI_MSG_IDS_VPE_API_JSON; DEFINE_VAPI_MSG_IDS_INTERFACE_API_JSON; DEFINE_VAPI_MSG_IDS_AF_PACKET_API_JSON; -DEFINE_VAPI_MSG_IDS_TAP_API_JSON; DEFINE_VAPI_MSG_IDS_VHOST_USER_API_JSON; DEFINE_VAPI_MSG_IDS_STATS_API_JSON; @@ -38,7 +37,7 @@ loopback_create_cmd::issue(connection& con) VAPI_CALL(req.execute()); - m_hw_item = wait(); + wait(); if (m_hw_item.rc() == rc_t::OK) { insert_interface(); @@ -75,7 +74,7 @@ af_packet_create_cmd::issue(connection& con) VAPI_CALL(req.execute()); - m_hw_item = wait(); + wait(); if (m_hw_item.rc() == rc_t::OK) { insert_interface(); @@ -92,44 +91,6 @@ af_packet_create_cmd::to_string() const return (s.str()); } -tap_create_cmd::tap_create_cmd(HW::item& item, - const std::string& name) - : create_cmd(item, name) -{ -} - -rc_t -tap_create_cmd::issue(connection& con) -{ - msg_t req(con.ctx(), std::ref(*this)); - - auto& payload = req.get_request().get_payload(); - - memset(payload.tap_name, 0, sizeof(payload.tap_name)); - memcpy(payload.tap_name, m_name.c_str(), - std::min(m_name.length(), sizeof(payload.tap_name))); - payload.use_random_mac = 1; - - VAPI_CALL(req.execute()); - - m_hw_item = wait(); - - if (m_hw_item.rc() == rc_t::OK) { - insert_interface(); - } - - return rc_t::OK; -} - -std::string -tap_create_cmd::to_string() const -{ - std::ostringstream s; - s << "tap-intf-create: " << m_hw_item.to_string() << " name:" << m_name; - - return (s.str()); -} - vhost_create_cmd::vhost_create_cmd(HW::item& item, const std::string& name, const std::string& tag) @@ -159,7 +120,7 @@ vhost_create_cmd::issue(connection& con) VAPI_CALL(req.execute()); - m_hw_item = wait(); + wait(); if (m_hw_item.rc() == rc_t::OK) { insert_interface(); @@ -242,28 +203,6 @@ af_packet_delete_cmd::to_string() const return (s.str()); } -tap_delete_cmd::tap_delete_cmd(HW::item& item) - : delete_cmd(item) -{ -} - -rc_t -tap_delete_cmd::issue(connection& con) -{ - // finally... call VPP - - remove_interface(); - return rc_t::OK; -} -std::string -tap_delete_cmd::to_string() const -{ - std::ostringstream s; - s << "tap-itf-delete: " << m_hw_item.to_string(); - - return (s.str()); -} - vhost_delete_cmd::vhost_delete_cmd(HW::item& item, const std::string& name) : delete_cmd(item, name) @@ -318,9 +257,7 @@ state_change_cmd::issue(connection& con) VAPI_CALL(req.execute()); - m_hw_item.set(wait()); - - return rc_t::OK; + return (wait()); } std::string @@ -360,9 +297,7 @@ set_table_cmd::issue(connection& con) VAPI_CALL(req.execute()); - m_hw_item.set(wait()); - - return (rc_t::OK); + return (wait()); } std::string @@ -399,9 +334,7 @@ set_mac_cmd::issue(connection& con) VAPI_CALL(req.execute()); - m_hw_item.set(wait()); - - return (rc_t::OK); + return (wait()); } std::string @@ -441,9 +374,7 @@ collect_detail_stats_change_cmd::issue(connection& con) VAPI_CALL(req.execute()); - m_hw_item.set(wait()); - - return (rc_t::OK); + return (wait()); } std::string @@ -470,13 +401,13 @@ rc_t events_cmd::issue(connection& con) { /* - * First set the call back to handle the interface events - */ + * First set the call back to handle the interface events + */ m_reg.reset(new reg_t(con.ctx(), std::ref(*(static_cast(this))))); /* - * then send the request to enable them - */ + * then send the request to enable them + */ msg_t req(con.ctx(), std::ref(*(static_cast(this)))); auto& payload = req.get_request().get_payload(); @@ -494,8 +425,8 @@ void events_cmd::retire(connection& con) { /* - * disable interface events. - */ + * disable interface events. + */ msg_t req(con.ctx(), std::ref(*(static_cast(this)))); auto& payload = req.get_request().get_payload(); @@ -709,6 +640,30 @@ vhost_dump_cmd::to_string() const return ("vhost-itf-dump"); } +bool +af_packet_dump_cmd::operator==(const af_packet_dump_cmd& other) const +{ + return (true); +} + +rc_t +af_packet_dump_cmd::issue(connection& con) +{ + m_dump.reset(new msg_t(con.ctx(), std::ref(*this))); + + VAPI_CALL(m_dump->execute()); + + wait(); + + return rc_t::OK; +} + +std::string +af_packet_dump_cmd::to_string() const +{ + return ("af-packet-itf-dump"); +} + set_tag::set_tag(HW::item& item, const std::string& name) : rpc_cmd(item) , m_name(name) @@ -723,13 +678,12 @@ set_tag::issue(connection& con) auto& payload = req.get_request().get_payload(); payload.is_add = 1; payload.sw_if_index = m_hw_item.data().value(); + memset(payload.tag, 0, sizeof(payload.tag)); memcpy(payload.tag, m_name.c_str(), m_name.length()); VAPI_CALL(req.execute()); - wait(); - - return rc_t::OK; + return (wait()); } std::string set_tag::to_string() const