Add a vpp_restart command 45/845/1
authorDave Barach <dbarach@cisco.com>
Fri, 22 Apr 2016 13:54:22 +0000 (09:54 -0400)
committerDave Barach <dbarach@cisco.com>
Fri, 22 Apr 2016 13:54:33 +0000 (09:54 -0400)
commit2b836cf4d1e4e59ca34229a9fdf49d79216da20e
treead9e5acabd3702c33a4247fce2adbcbd4a390859
parentdaede645441e72cdca631cef7b687e74183cc146
Add a vpp_restart command

vpp_restart solves the problem of restarting vpp and not exiting until
the new vpp instance is sufficiently established to allow immediate
binary API connections. The point is to avoid using arbitrary "sleep
N" commands e.g. in CSIT shell scripts.

We send SIGTERM to the current vpp process, and expect / depend on the
process-monitor du jour to remove the vpp-api shared-memory segment.

vpp_restart exits w/ status 0 if all is well, non-zero upon failure.

In trying to make vpp_restart reliable, we discovered a
recently-introduced heap corruption bug in .../dpdk/init.c, which
caused vpp to crash on startup once every 20 times on a particular
rig.

If possible, we should check /var/log/syslog for evidence of
unexpected multiple restarts during regression-testing.

Change-Id: Ic48c74b1a94a4368066ba2e326d4b12d51192088
Signed-off-by: Dave Barach <dbarach@cisco.com>
vpp-api-test/Makefile.am
vpp-api-test/vat/restart.c [new file with mode: 0644]
vpp/api/gmon.c
vpp/app/version.c