X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Finterface.cpp;h=1e27d42c7f4a16b1b966f161ed358c97a318ac21;hb=097fa66b986f06281f603767d321ab13ab6c88c3;hp=15bc3733ec4a1e0e5037db66a1efcad0483b2f3e;hpb=e63325e3ca03c847963863446345e6c80a2c0cfd;p=vpp.git diff --git a/extras/vom/vom/interface.cpp b/extras/vom/vom/interface.cpp index 15bc3733ec4..1e27d42c7f4 100644 --- a/extras/vom/vom/interface.cpp +++ b/extras/vom/vom/interface.cpp @@ -14,6 +14,7 @@ */ #include "vom/interface.hpp" +#include "vom/api_types.hpp" #include "vom/bond_group_binding.hpp" #include "vom/bond_group_binding_cmds.hpp" #include "vom/bond_interface_cmds.hpp" @@ -275,13 +276,17 @@ interface::key() const std::queue& interface::mk_create_cmd(std::queue& q) { - if ((type_t::LOOPBACK == m_type) || (type_t::BVI == m_type)) { + if (type_t::LOOPBACK == m_type) { q.push(new interface_cmds::loopback_create_cmd(m_hdl, m_name)); q.push(new interface_cmds::set_tag(m_hdl, m_name)); /* * set the m_tag for pretty-print */ m_tag = m_name; + } else if (type_t::BVI == m_type) { + q.push(new interface_cmds::bvi_create_cmd(m_hdl, m_name)); + q.push(new interface_cmds::set_tag(m_hdl, m_name)); + m_tag = m_name; } else if (type_t::AFPACKET == m_type) { q.push(new interface_cmds::af_packet_create_cmd(m_hdl, m_name)); if (!m_tag.empty()) @@ -301,8 +306,10 @@ interface::mk_create_cmd(std::queue& q) std::queue& interface::mk_delete_cmd(std::queue& q) { - if ((type_t::LOOPBACK == m_type) || (type_t::BVI == m_type)) { + if (type_t::LOOPBACK == m_type) { q.push(new interface_cmds::loopback_delete_cmd(m_hdl)); + } else if (type_t::BVI == m_type) { + q.push(new interface_cmds::bvi_delete_cmd(m_hdl)); } else if (type_t::AFPACKET == m_type) { q.push(new interface_cmds::af_packet_delete_cmd(m_hdl, m_name)); } else if (type_t::VHOST == m_type) { @@ -634,8 +641,8 @@ interface::event_handler::handle_populate(const client_db::key_t& key) for (auto& itf_record : *cmd) { auto payload = itf_record.get_payload(); VOM_LOG(log_level_t::DEBUG) << "dump: [" << payload.sw_if_index - << " name:" << (char*)payload.interface_name.buf - << " tag:" << (char*)payload.tag.buf << "]"; + << " name:" << (char*)payload.interface_name + << " tag:" << (char*)payload.tag << "]"; std::shared_ptr itf = interface_factory::new_interface(payload); @@ -660,8 +667,7 @@ interface::event_handler::handle_populate(const client_db::key_t& key) for (auto& l3_record : *dcmd) { auto& payload = l3_record.get_payload(); - const route::prefix_t pfx(payload.is_ipv6, payload.ip, - payload.prefix_length); + const route::prefix_t pfx = from_api(payload.prefix); VOM_LOG(log_level_t::DEBUG) << "dump: " << pfx.to_string();