X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Fip_punt_redirect_cmds.cpp;fp=extras%2Fvom%2Fvom%2Fip_punt_redirect_cmds.cpp;h=0000000000000000000000000000000000000000;hb=8c1afb56b6a479d6595444238815c4ced0e754ea;hp=419e3f17fba33f4736251f8f20db225bdbaca711;hpb=fbe4e36b9924c135410e1d52c959d0c3629be12b;p=vpp.git diff --git a/extras/vom/vom/ip_punt_redirect_cmds.cpp b/extras/vom/vom/ip_punt_redirect_cmds.cpp deleted file mode 100644 index 419e3f17fba..00000000000 --- a/extras/vom/vom/ip_punt_redirect_cmds.cpp +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (c) 2018 Cisco and/or its affiliates. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "vom/ip_punt_redirect_cmds.hpp" -#include - -namespace VOM { -namespace ip_punt_redirect_cmds { - -config_cmd::config_cmd(HW::item& item, - const handle_t rx_itf, - const handle_t tx_itf, - const boost::asio::ip::address& addr) - : rpc_cmd(item) - , m_rx_itf(rx_itf) - , m_tx_itf(tx_itf) - , m_addr(addr) -{ -} - -bool -config_cmd::operator==(const config_cmd& o) const -{ - return ((m_rx_itf == o.m_rx_itf) && (m_tx_itf == o.m_tx_itf) && - (m_addr == o.m_addr)); -} - -rc_t -config_cmd::issue(connection& con) -{ - msg_t req(con.ctx(), std::ref(*this)); - - auto& payload = req.get_request().get_payload(); - - payload.is_add = 1; - payload.punt.rx_sw_if_index = m_rx_itf.value(); - payload.punt.tx_sw_if_index = m_tx_itf.value(); - to_api(m_addr, payload.punt.nh); - - VAPI_CALL(req.execute()); - - return (wait()); -} - -std::string -config_cmd::to_string() const -{ - std::ostringstream s; - s << "IP-punt-redirect: " << m_hw_item.to_string() - << " rx-itf:" << m_rx_itf.to_string() << " tx-itf:" << m_tx_itf.to_string() - << " next-hop:" << m_addr; - - return (s.str()); -} - -unconfig_cmd::unconfig_cmd(HW::item& item, - const handle_t rx_itf, - const handle_t tx_itf, - const boost::asio::ip::address& addr) - : rpc_cmd(item) - , m_rx_itf(rx_itf) - , m_tx_itf(tx_itf) - , m_addr(addr) -{ -} - -bool -unconfig_cmd::operator==(const unconfig_cmd& o) const -{ - return ((m_rx_itf == o.m_rx_itf) && (m_tx_itf == o.m_tx_itf) && - (m_addr == o.m_addr)); -} - -rc_t -unconfig_cmd::issue(connection& con) -{ - msg_t req(con.ctx(), std::ref(*this)); - - auto& payload = req.get_request().get_payload(); - - payload.is_add = 0; - payload.punt.rx_sw_if_index = m_rx_itf.value(); - payload.punt.tx_sw_if_index = m_tx_itf.value(); - to_api(m_addr, payload.punt.nh); - - VAPI_CALL(req.execute()); - - wait(); - m_hw_item.set(rc_t::NOOP); - - return rc_t::OK; -} - -std::string -unconfig_cmd::to_string() const -{ - std::ostringstream s; - s << "IP-punt-redirect-unconfig: " << m_hw_item.to_string() - << " rx-itf:" << m_rx_itf.to_string() << " tx-itf:" << m_tx_itf.to_string() - << " next-hop:" << m_addr.to_string(); - - return (s.str()); -} - -bool -dump_cmd::operator==(const dump_cmd& other) const -{ - return (true); -} - -rc_t -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 -dump_cmd::to_string() const -{ - return ("ip-punt-redirect-dump"); -} - -}; // namespace ip_punt_redirect_cmds -}; // namespace VOM - -/* - * fd.io coding-style-patch-verification: ON - * - * Local Variables: - * eval: (c-set-style "mozilla") - * End: - */