l2tp: l2tp-decap-local don't accept packets unless configured
[vpp.git] / src / vnet / l2tp / l2tp.c
index 6758db3..42ecfa6 100644 (file)
@@ -399,6 +399,12 @@ create_l2tpv3_ipv6_tunnel (l2t_main_t * lm,
   if (sw_if_index)
     *sw_if_index = hi->sw_if_index;
 
+  if (!lm->proto_registered)
+    {
+      ip6_register_protocol (IP_PROTOCOL_L2TP, l2t_decap_local_node.index);
+      lm->proto_registered = true;
+    }
+
   return 0;
 }
 
@@ -729,9 +735,10 @@ l2tp_init (vlib_main_t * vm)
   pi = ip_get_protocol_info (im, IP_PROTOCOL_L2TP);
   pi->unformat_pg_edit = unformat_pg_l2tp_header;
 
+  lm->proto_registered = false;
+
   /* insure these nodes are included in build */
   l2tp_encap_init (vm);
-  l2tp_decap_init ();
 
   return 0;
 }