Keep Softnet port forwarding active on control wakes
This commit is contained in:
parent
a25da6eaf5
commit
10db40d025
|
|
@ -76,7 +76,7 @@ impl Poller<'_> {
|
|||
self.events.clear();
|
||||
}
|
||||
|
||||
pub fn wait(&mut self) -> Result<(bool, bool, bool, bool)> {
|
||||
pub fn wait(&mut self) -> Result<(bool, bool, bool)> {
|
||||
self.poller.wait(&mut self.events, Some(self.timeout))?;
|
||||
|
||||
let vm_readable = self
|
||||
|
|
@ -91,12 +91,7 @@ impl Poller<'_> {
|
|||
.events
|
||||
.iter()
|
||||
.any(|ev| ev.key == Into::<usize>::into(EventKey::Interrupt));
|
||||
let control_ready = self
|
||||
.events
|
||||
.iter()
|
||||
.any(|ev| ev.key == Into::<usize>::into(EventKey::Control));
|
||||
|
||||
Ok((vm_readable, host_readable, control_ready, interrupt))
|
||||
Ok((vm_readable, host_readable, interrupt))
|
||||
}
|
||||
|
||||
pub fn remove_control(&mut self) -> Result<()> {
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ impl Proxy<'_> {
|
|||
self.poller.arm()?;
|
||||
|
||||
loop {
|
||||
let (vm_readable, host_readable, control_ready, interrupt) = self.poller.wait()?;
|
||||
let (vm_readable, host_readable, interrupt) = self.poller.wait()?;
|
||||
|
||||
// Update coarse time for the DHCP snooper
|
||||
coarsetime::Instant::update();
|
||||
|
|
@ -162,7 +162,7 @@ impl Proxy<'_> {
|
|||
}
|
||||
|
||||
// Timeout
|
||||
if !vm_readable && !host_readable && !control_ready && !interrupt {
|
||||
if !vm_readable && !host_readable && !interrupt {
|
||||
self.port_forwarder
|
||||
.tick(&mut self.host, self.dhcp_snooper.lease());
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue