L2 BD: introduce a BD interface on which to send UU packets
[vpp.git] / src / vnet / ipsec-gre / interface.c
index 0772ce7..4faf66d 100644 (file)
@@ -27,6 +27,7 @@
 #include <vnet/ipsec-gre/ipsec_gre.h>
 #include <vnet/ip/format.h>
 #include <vnet/ipsec/ipsec.h>
+#include <vnet/l2/l2_input.h>
 
 #include <vnet/ipsec/esp.h>
 
@@ -174,12 +175,10 @@ vnet_ipsec_gre_add_del_tunnel (vnet_ipsec_gre_add_del_tunnel_args_t * a,
 
       hi->min_packet_bytes = 64 + sizeof (gre_header_t) +
        sizeof (ip4_header_t) + sizeof (esp_header_t) + sizeof (esp_footer_t);
-      hi->per_packet_overhead_bytes =
-       /* preamble */ 8 + /* inter frame gap */ 12;
 
       /* Standard default gre MTU. */
-      hi->max_l3_packet_bytes[VLIB_RX] = hi->max_l3_packet_bytes[VLIB_TX] =
-       9000;
+      /* TODO: Should take tunnel overhead into consideration */
+      vnet_sw_interface_set_mtu (vnm, sw_if_index, 9000);
 
       clib_memcpy (&t->tunnel_src, &a->src, sizeof (t->tunnel_src));
       clib_memcpy (&t->tunnel_dst, &a->dst, sizeof (t->tunnel_dst));
@@ -205,7 +204,8 @@ vnet_ipsec_gre_add_del_tunnel (vnet_ipsec_gre_add_del_tunnel_args_t * a,
       ip4_sw_interface_enable_disable (sw_if_index, 0);
       vnet_sw_interface_set_flags (vnm, sw_if_index, 0 /* down */ );
       /* make sure tunnel is removed from l2 bd or xconnect */
-      set_int_l2_mode (igm->vlib_main, vnm, MODE_L3, sw_if_index, 0, 0, 0, 0);
+      set_int_l2_mode (igm->vlib_main, vnm, MODE_L3, sw_if_index, 0,
+                      L2_BD_PORT_TYPE_NORMAL, 0, 0);
       vec_add1 (igm->free_ipsec_gre_tunnel_hw_if_indices, t->hw_if_index);
       igm->tunnel_index_by_sw_if_index[sw_if_index] = ~0;