diff --git a/vhost_user_net/src/lib.rs b/vhost_user_net/src/lib.rs index e2c9ad255..4430f7ab0 100644 --- a/vhost_user_net/src/lib.rs +++ b/vhost_user_net/src/lib.rs @@ -312,7 +312,9 @@ impl VhostUserBackend for VhostUserNetBackend { } } 1 => { - thread.process_tx(&mut vrings[1].write().unwrap().mut_queue())?; + let mut vring = vrings[1].write().unwrap(); + thread.process_tx(vring.mut_queue())?; + vring.signal_used_queue()?; } 2 => { let mut vring = vrings[0].write().unwrap(); diff --git a/vm-virtio/src/net.rs b/vm-virtio/src/net.rs index 6e67991d3..3b04ba5fb 100644 --- a/vm-virtio/src/net.rs +++ b/vm-virtio/src/net.rs @@ -148,8 +148,7 @@ impl NetEpollHandler { let mem = self.mem.memory(); self.tx.process_desc_chain(&mem, &mut self.tap, &mut queue); - - Ok(()) + self.signal_used_queue(queue) } fn read_tap(&mut self) -> io::Result {