Start the cdp period process on demand
[vpp.git] / src / plugins / cdp / cdp.c
index 45863a0..2c947a7 100644 (file)
@@ -63,11 +63,17 @@ cdp_enable_disable (cdp_main_t * cm, int enable_disable)
   int rv = 0;
 
   if (enable_disable)
-    vlib_process_signal_event (cm->vlib_main, cdp_process_node.index,
-                              CDP_EVENT_ENABLE, 0);
+    {
+      vnet_cdp_create_periodic_process (cm);
+      vlib_process_signal_event (cm->vlib_main, cm->cdp_process_node_index,
+                                CDP_EVENT_ENABLE, 0);
+    }
   else
-    vlib_process_signal_event (cm->vlib_main, cdp_process_node.index,
-                              CDP_EVENT_DISABLE, 0);
+    {
+      vnet_cdp_create_periodic_process (cm);
+      vlib_process_signal_event (cm->vlib_main, cm->cdp_process_node_index,
+                                CDP_EVENT_DISABLE, 0);
+    }
   cm->enabled = enable_disable;
 
   return rv;