fib: fix crash when create vxlan/vxlan-gpe/geneve/gtpu tunnel.
[vpp.git] / src / vnet / vxlan / vxlan.c
index f670ee9..1871e5d 100644 (file)
@@ -537,7 +537,8 @@ int vnet_vxlan_add_del_tunnel
       fib_prefix_t tun_dst_pfx;
       vnet_flood_class_t flood_class = VNET_FLOOD_CLASS_TUNNEL_NORMAL;
 
-      fib_prefix_from_ip46_addr (&t->dst, &tun_dst_pfx);
+      fib_protocol_t fp = fib_ip_proto (is_ip6);
+      fib_prefix_from_ip46_addr (fp, &t->dst, &tun_dst_pfx);
       if (!ip46_address_is_multicast (&t->dst))
        {
          /* Unicast tunnel -
@@ -561,8 +562,6 @@ int vnet_vxlan_add_del_tunnel
           * with different VNIs, create the output fib adjacency only if
           * it does not already exist
           */
-         fib_protocol_t fp = fib_ip_proto (is_ip6);
-
          if (vtep_addr_ref (&vxm->vtep_table,
                             t->encap_fib_index, &t->dst) == 1)
            {