VOM: vxlan-tunnel takes egress interface for multicast
[vpp.git] / extras / vom / vom / vxlan_tunnel_cmds.cpp
index dcc06e7..e45b604 100644 (file)
@@ -22,9 +22,11 @@ namespace vxlan_tunnel_cmds {
 
 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)
 {
 }
 
@@ -44,7 +46,7 @@ create_cmd::issue(connection& con)
   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;