diff --git a/netstack/src/link/ethernet.rs b/netstack/src/link/ethernet.rs index 3c4efd8d9a..c10f504552 100644 --- a/netstack/src/link/ethernet.rs +++ b/netstack/src/link/ethernet.rs @@ -304,6 +304,7 @@ impl EthernetLink { } let _ = self.waiting_packets.dequeue(); + self.stats.rx_dropped += 1; debug!( "Dropped packet on {} because neighbor was not found", self.name @@ -363,6 +364,7 @@ impl EthernetLink { } Ok((IpAddress::Ipv4(_), _)) => { let _ = self.waiting_packets.dequeue(); + self.stats.rx_dropped += 1; continue; } Err(_) => { @@ -372,12 +374,14 @@ impl EthernetLink { } let _ = self.waiting_packets.dequeue(); + self.stats.rx_dropped += 1; debug!("Dropped packet on {} because IPv6 neighbor was not found", self.name); } } fn handle_missing_neighbor(&mut self, next_hop: IpAddress, packet: &[u8], now: Instant) { let Ok(buf) = self.waiting_packets.enqueue(packet.len(), next_hop) else { + self.stats.rx_dropped += 1; warn!( "Dropped packet on {} because waiting queue was full", self.name