Delete shared memory segment files when vpp starts

Should have been done this way years ago. My bad.

Change-Id: Ic7bf937fb6c4dc5c1b6ae64f2ecf8608b62e7039
Signed-off-by: Dave Barach <dave@barachs.net>
This commit is contained in:
Dave Barach
2018-11-30 16:46:29 -05:00
committed by Damjan Marion
parent dd89173cc1
commit b2204671da
3 changed files with 23 additions and 3 deletions
-1
View File
@@ -4,7 +4,6 @@ After=network.target
[Service]
Type=simple
ExecStartPre=-/bin/rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api
ExecStartPre=-/sbin/modprobe uio_pci_generic
ExecStart=/usr/bin/vpp -c /etc/vpp/startup.conf
ExecStopPost=/bin/rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api
+1 -2
View File
@@ -1,12 +1,11 @@
description "vector packet processing engine"
author "Cisco Systems, Inc <listname@cisco.com>"
author "Cisco Systems, Inc <vpp-dev@lists.fd.io>"
manual
respawn
pre-start script
rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api || true
# should be there via dkms, but if not, start anyway
modprobe uio_pci_generic || true
end script
+22
View 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;