if (PREDICT_FALSE (t->decap_next_index != VXLAN_INPUT_NEXT_L2_INPUT))
s = format (s, "decap-next-%U ", format_decap_next, t->decap_next_index);
+ s = format (s, "l3 %u ", t->is_l3);
+
if (PREDICT_FALSE (ip46_address_is_multicast (&t->dst)))
s = format (s, "mcast-sw-if-idx %d ", t->mcast_sw_if_index);
_ (src) \
_ (dst) \
_ (src_port) \
- _ (dst_port)
+ _ (dst_port) \
+ _ (is_l3)
static void
vxlan_rewrite (vxlan_tunnel_t * t, bool is_ip6)
t->user_instance = user_instance; /* name */
t->flow_index = ~0;
- if (a->is_l3)
+ if (a->is_l3 == 0)
t->hw_if_index =
vnet_register_interface (vnm, vxlan_device_class.index, dev_instance,
vxlan_hw_class.index, dev_instance);
if (add_failed)
{
- if (a->is_l3)
+ if (a->is_l3 == 0)
vnet_delete_hw_interface (vnm, t->hw_if_index);
else
ethernet_delete_interface (vnm, t->hw_if_index);
* - the forwarding interface is for-us
* - the accepting interface is that from the API
*/
- mfib_table_entry_path_update (t->encap_fib_index,
- &mpfx, MFIB_SOURCE_VXLAN, &path);
+ mfib_table_entry_path_update (t->encap_fib_index, &mpfx,
+ MFIB_SOURCE_VXLAN,
+ MFIB_ENTRY_FLAG_NONE, &path);
path.frp_sw_if_index = a->mcast_sw_if_index;
path.frp_flags = FIB_ROUTE_PATH_FLAG_NONE;
path.frp_mitf_flags = MFIB_ITF_FLAG_ACCEPT;
- mfei = mfib_table_entry_path_update (t->encap_fib_index,
- &mpfx,
- MFIB_SOURCE_VXLAN, &path);
+ mfei = mfib_table_entry_path_update (
+ t->encap_fib_index, &mpfx, MFIB_SOURCE_VXLAN,
+ MFIB_ENTRY_FLAG_NONE, &path);
/*
* Create the mcast adjacency to send traffic to the group
mcast_shared_remove (&t->dst);
}
- vnet_hw_interface_t *hw = vnet_get_hw_interface (vnm, t->hw_if_index);
- if (hw->dev_class_index == vxlan_device_class.index)
+ if (t->is_l3 == 0)
vnet_delete_hw_interface (vnm, t->hw_if_index);
else
ethernet_delete_interface (vnm, t->hw_if_index);
vnet_vxlan_add_del_tunnel_args_t a = { .is_add = is_add,
.is_ip6 = ipv6_set,
- .is_l3 = is_l3,
.instance = instance,
#define _(x) .x = x,
foreach_copy_field
/*?
* This command adds the 'ip4-vxlan-bypass' graph node for a given interface.
* By adding the IPv4 vxlan-bypass graph node to an interface, the node checks
- * for and validate input vxlan packet and bypass ip4-lookup, ip4-local,
+ * for and validate input vxlan packet and bypass ip4-lookup, ip4-local,
* ip4-udp-lookup nodes to speedup vxlan packet forwarding. This node will
* cause extra overhead to for non-vxlan packets which is kept at a minimum.
*
/*?
* This command adds the 'ip6-vxlan-bypass' graph node for a given interface.
* By adding the IPv6 vxlan-bypass graph node to an interface, the node checks
- * for and validate input vxlan packet and bypass ip6-lookup, ip6-local,
+ * for and validate input vxlan packet and bypass ip6-lookup, ip6-local,
* ip6-udp-lookup nodes to speedup vxlan packet forwarding. This node will
* cause extra overhead to for non-vxlan packets which is kept at a minimum.
*