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);