From a49762df50d8ba7c1efe4fe2265f0dbae2996f2a Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Sun, 13 Aug 2023 08:24:48 +0200 Subject: [PATCH] move MTU check in the hardware independent part --- src/drivers/net/virtio_mmio.rs | 2 -- src/drivers/net/virtio_net.rs | 4 ++++ src/drivers/net/virtio_pci.rs | 2 -- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/drivers/net/virtio_mmio.rs b/src/drivers/net/virtio_mmio.rs index 187df58172..e0c8d46add 100644 --- a/src/drivers/net/virtio_mmio.rs +++ b/src/drivers/net/virtio_mmio.rs @@ -124,8 +124,6 @@ impl VirtioNetDriver { let mtu = if let Some(my_mtu) = hermit_var!("HERMIT_MTU") { u16::from_str(&my_mtu).unwrap() + 14 - } else if dev_cfg.features.is_feature(Features::VIRTIO_NET_F_MTU) { - dev_cfg.raw.get_mtu() } else { // fallback to the default MTU 1514 diff --git a/src/drivers/net/virtio_net.rs b/src/drivers/net/virtio_net.rs index bcf782fa1c..daf2fb46d7 100644 --- a/src/drivers/net/virtio_net.rs +++ b/src/drivers/net/virtio_net.rs @@ -929,6 +929,10 @@ impl VirtioNetDriver { // At this point the device is "live" self.com_cfg.drv_ok(); + if self.dev_cfg.features.is_feature(Features::VIRTIO_NET_F_MTU) { + self.mtu = self.dev_cfg.raw.get_mtu(); + } + Ok(()) } diff --git a/src/drivers/net/virtio_pci.rs b/src/drivers/net/virtio_pci.rs index 532882b344..831ecff1bc 100644 --- a/src/drivers/net/virtio_pci.rs +++ b/src/drivers/net/virtio_pci.rs @@ -133,8 +133,6 @@ impl VirtioNetDriver { let mtu = if let Some(my_mtu) = hermit_var!("HERMIT_MTU") { u16::from_str(&my_mtu).unwrap() + 14 - } else if dev_cfg.features.is_feature(Features::VIRTIO_NET_F_MTU) { - dev_cfg.raw.get_mtu() } else { // fallback to the default MTU 1514