create_cmd::create_cmd(HW::item<handle_t>& item,
const std::string& name,
- const vxlan_tunnel::endpoint_t& ep)
+ const vxlan_tunnel::endpoint_t& ep,
+ handle_t mcast_itf)
: interface::create_cmd<vapi::Vxlan_add_del_tunnel>(item, name)
, m_ep(ep)
+ , m_mcast_itf(mcast_itf)
{
}
payload.is_ipv6 = 0;
to_bytes(m_ep.src, &payload.is_ipv6, payload.src_address);
to_bytes(m_ep.dst, &payload.is_ipv6, payload.dst_address);
- payload.mcast_sw_if_index = ~0;
+ payload.mcast_sw_if_index = m_mcast_itf.value();
payload.encap_vrf_id = 0;
payload.decap_next_index = ~0;
payload.vni = m_ep.vni;