*/
#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"
return (m_l2_address.data());
}
+const interface::admin_state_t&
+interface::admin_state() const
+{
+ return (m_state.data());
+}
+
interface::const_iterator_t
interface::cbegin()
{
std::queue<cmd*>&
interface::mk_create_cmd(std::queue<cmd*>& 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())
std::queue<cmd*>&
interface::mk_delete_cmd(std::queue<cmd*>& 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) {
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();