From 503887843f7974e8869cc26cc774b47c1b3af1ad Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Fri, 14 Feb 2020 10:08:59 +0000 Subject: [PATCH] vm-virtio: vhost_user: net: On shutdown() drop the socket This causes the vhost-user-net backend to shutdown. Signed-off-by: Rob Bradford --- vm-virtio/src/vhost_user/net.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vm-virtio/src/vhost_user/net.rs b/vm-virtio/src/vhost_user/net.rs index 954db0865..81ecc272c 100644 --- a/vm-virtio/src/vhost_user/net.rs +++ b/vm-virtio/src/vhost_user/net.rs @@ -17,6 +17,7 @@ use libc::EFD_NONBLOCK; use net_util::MacAddr; use std::cmp; use std::io::Write; +use std::os::unix::io::AsRawFd; use std::result; use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; @@ -354,6 +355,10 @@ impl VirtioDevice for Net { self.queue_evts.take().unwrap(), )) } + + fn shutdown(&mut self) { + let _ = unsafe { libc::close(self.vhost_user_net.as_raw_fd()) }; + } } virtio_ctrl_q_pausable!(Net);