As it gets killed, in SIGINT signal handler, device is not stopped and closed. In virtio's case, vector assignment in the KVM is not deassigned.
This patch will invoke dev_stop() and dev_close() in signal handler. Fixes: d7937e2e3d12 ("power: initial import") Signed-off-by: Jianfeng Tan <jianfeng....@intel.com> --- examples/l3fwd-power/main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c index 44843ec..63e1796 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c @@ -379,6 +379,7 @@ static void signal_exit_now(int sigtype) { unsigned lcore_id; + unsigned int portid, nb_ports; int ret; if (sigtype == SIGINT) { @@ -393,6 +394,15 @@ signal_exit_now(int sigtype) "library de-initialization failed on " "core%u\n", lcore_id); } + + nb_ports = rte_eth_dev_count(); + for (portid = 0; portid < nb_ports; portid++) { + if ((enabled_port_mask & (1 << portid)) == 0) + continue; + + rte_eth_dev_stop(portid); + rte_eth_dev_close(portid); + } } rte_exit(EXIT_SUCCESS, "User forced exit\n"); -- 2.7.4