Skip to content

Commit 66a6754

Browse files
committed
Revert "net: support serializing RxBuffer"
This reverts commit 667aba4. Signed-off-by: Babis Chalios <[email protected]>
1 parent ec61408 commit 66a6754

File tree

2 files changed

+5
-34
lines changed

2 files changed

+5
-34
lines changed

src/vmm/src/devices/virtio/iovec.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
use std::io::ErrorKind;
55

66
use libc::{c_void, iovec, size_t};
7-
use serde::{Deserialize, Serialize};
87
#[cfg(not(kani))]
98
use smallvec::SmallVec;
109
use vm_memory::bitmap::Bitmap;
@@ -219,7 +218,7 @@ impl IoVecBuffer {
219218
}
220219
}
221220

222-
#[derive(Debug, Clone, Serialize, Deserialize)]
221+
#[derive(Debug)]
223222
pub struct ParsedDescriptorChain {
224223
pub head_index: u16,
225224
pub length: u32,
@@ -234,9 +233,9 @@ pub struct ParsedDescriptorChain {
234233
#[derive(Debug)]
235234
pub struct IoVecBufferMut {
236235
// container of the memory regions included in this IO vector
237-
pub vecs: IovDeque,
236+
vecs: IovDeque,
238237
// Total length of the IoVecBufferMut
239-
pub len: usize,
238+
len: usize,
240239
}
241240

242241
impl IoVecBufferMut {

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

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ use std::sync::{Arc, Mutex};
99

1010
use serde::{Deserialize, Serialize};
1111

12-
use super::device::{Net, RxBuffers};
13-
use super::{TapError, NET_NUM_QUEUES, RX_INDEX};
12+
use super::device::Net;
13+
use super::{TapError, NET_NUM_QUEUES};
1414
use crate::devices::virtio::device::DeviceState;
15-
use crate::devices::virtio::iovec::ParsedDescriptorChain;
1615
use crate::devices::virtio::persist::{PersistError as VirtioStateError, VirtioDeviceState};
1716
use crate::devices::virtio::queue::FIRECRACKER_MAX_QUEUE_SIZE;
1817
use crate::devices::virtio::TYPE_NET;
@@ -32,23 +31,6 @@ pub struct NetConfigSpaceState {
3231
guest_mac: Option<MacAddr>,
3332
}
3433

35-
/// Information about the parsed RX buffers
36-
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
37-
pub struct RxBufferState {
38-
// Number of iovecs we have parsed from the guest
39-
parsed_descriptor_chains_nr: u16,
40-
deferred_descriptor: Option<ParsedDescriptorChain>,
41-
}
42-
43-
impl RxBufferState {
44-
fn from_rx_buffers(rx_buffer: &RxBuffers) -> Self {
45-
RxBufferState {
46-
parsed_descriptor_chains_nr: rx_buffer.parsed_descriptors.len().try_into().unwrap(),
47-
deferred_descriptor: rx_buffer.deferred_descriptor.clone(),
48-
}
49-
}
50-
}
51-
5234
/// Information about the network device that are saved
5335
/// at snapshot.
5436
#[derive(Debug, Clone, Serialize, Deserialize)]
@@ -61,7 +43,6 @@ pub struct NetState {
6143
pub mmds_ns: Option<MmdsNetworkStackState>,
6244
config_space: NetConfigSpaceState,
6345
virtio_state: VirtioDeviceState,
64-
rx_buffers_state: RxBufferState,
6546
}
6647

6748
/// Auxiliary structure for creating a device when resuming from a snapshot.
@@ -104,7 +85,6 @@ impl Persist<'_> for Net {
10485
guest_mac: self.guest_mac,
10586
},
10687
virtio_state: VirtioDeviceState::from_device(self),
107-
rx_buffers_state: RxBufferState::from_rx_buffers(&self.rx_buffer),
10888
}
10989
}
11090

@@ -157,14 +137,6 @@ impl Persist<'_> for Net {
157137
.map_err(NetPersistError::TapSetOffload)?;
158138

159139
net.device_state = DeviceState::Activated(constructor_args.mem);
160-
161-
// Recreate `Net::rx_buffer`. We do it by re-parsing the RX queue. We're temporarily
162-
// rolling back `next_avail` in the RX queue and call `parse_rx_descriptors`.
163-
net.queues[RX_INDEX].next_avail -= state.rx_buffers_state.parsed_descriptor_chains_nr;
164-
net.parse_rx_descriptors();
165-
net.rx_buffer
166-
.deferred_descriptor
167-
.clone_from(&state.rx_buffers_state.deferred_descriptor);
168140
}
169141

170142
Ok(net)

0 commit comments

Comments
 (0)