Skip to content

Commit fa022da

Browse files
committed
prepare for VIRTIO_NET_F_MRG_RXBUF addition
Signed-off-by: Egor Lazarchuk <[email protected]>
1 parent cc36e6f commit fa022da

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/vmm/src/devices/virtio/net/device.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ use crate::devices::virtio::gen::virtio_blk::VIRTIO_F_VERSION_1;
2424
use crate::devices::virtio::gen::virtio_net::{
2525
virtio_net_hdr_v1, VIRTIO_NET_F_CSUM, VIRTIO_NET_F_GUEST_CSUM, VIRTIO_NET_F_GUEST_TSO4,
2626
VIRTIO_NET_F_GUEST_UFO, VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_UFO, VIRTIO_NET_F_MAC,
27+
VIRTIO_NET_F_MRG_RXBUF,
2728
};
2829
use crate::devices::virtio::gen::virtio_ring::VIRTIO_RING_F_EVENT_IDX;
2930
use crate::devices::virtio::iovec::IoVecBuffer;
@@ -524,6 +525,14 @@ impl Net {
524525
}
525526

526527
fn process_rx(&mut self) -> Result<(), DeviceError> {
528+
if !self.has_feature(u64::from(VIRTIO_NET_F_MRG_RXBUF)) {
529+
self.process_rx_orig()
530+
} else {
531+
unimplemented!();
532+
}
533+
}
534+
535+
fn process_rx_orig(&mut self) -> Result<(), DeviceError> {
527536
// Read as many frames as possible.
528537
loop {
529538
match self.read_from_mmds_or_tap() {

0 commit comments

Comments
 (0)