vlib: acquire barrier before exit call 67/30967/3
authorKommula Shiva Shankar <kshankar@marvell.com>
Thu, 28 Jan 2021 07:35:59 +0000 (13:05 +0530)
committerDave Barach <openvpp@barachs.net>
Fri, 29 Jan 2021 12:51:10 +0000 (12:51 +0000)
commitced43e28ed89172f68de5655d114b289233b2581
treee6806dbceae2ed99fce79cd0b3c8fb82963a6495
parent6a6555ac34cf1c74cb3d82ae3b77232797c73b6a
vlib: acquire barrier before exit call

Type: fix

A plugin exit callback function registered via
VLIB_MAIN_LOOP_EXIT_FUNCTION() is called without stopping worker cores
doing data path processing. Following error is observed while exiting
vpp.

error log:
vppctl# q
0: /vpp_master/src/vnet/interface.c:1058 (vnet_delete_hw_interface) assertion `ii == 0 || this_vlib_main->parked_at_barrier == 1' fails

This patch calls all exit() functions after acquiring barrier

Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
Reviewed-by: Nitin Saxena <nsaxena@marvell.com>
Change-Id: I2fd565f0afaa62cb0fb0389922f49e4d382f028c
src/vlib/main.c