Delete shared memory segment files when vpp starts
[vpp.git] / src / vlibmemory / memory_api.c
index 7a7644a..544e59d 100644 (file)
@@ -932,6 +932,28 @@ vlibmemory_init (vlib_main_t * vm)
   api_main_t *am = &api_main;
   svm_map_region_args_t _a, *a = &_a;
   clib_error_t *error;
+  u8 *remove_path1, *remove_path2;
+
+  /*
+   * By popular request / to avoid support fires, remove any old api segment
+   * files Right Here.
+   */
+  if (am->root_path == 0)
+    {
+      remove_path1 = format (0, "/dev/shm/global_vm%c", 0);
+      remove_path2 = format (0, "/dev/shm/vpe-api%c", 0);
+    }
+  else
+    {
+      remove_path1 = format (0, "/dev/shm/%s-global_vm%c", am->root_path, 0);
+      remove_path2 = format (0, "/dev/shm/%s-vpe-api%c", am->root_path, 0);
+    }
+
+  (void) unlink ((char *) remove_path1);
+  (void) unlink ((char *) remove_path2);
+
+  vec_free (remove_path1);
+  vec_free (remove_path2);
 
   clib_memset (a, 0, sizeof (*a));
   a->root_path = am->root_path;