Skip to content

Commit af6aff9

Browse files
committed
[TEST] More unit test coverage for split headers
1 parent 0e755ef commit af6aff9

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

vm/devices/net/net_mana/src/test.rs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,23 @@ async fn test_lso_split_header(driver: DefaultDriver) {
291291
None, // Default expected stats
292292
)
293293
.await;
294+
295+
// Split headers such that the last header has both header and payload bytes.
296+
// i.e. The header should not evenly split into segments.
297+
let segment_len = 5;
298+
assert!(!IPV4_HEADER_LENGTH.is_multiple_of(segment_len));
299+
let num_segments = IPV4_HEADER_LENGTH + 10;
300+
let packet_len = num_segments * segment_len;
301+
send_test_packet(
302+
driver.clone(),
303+
GuestDmaMode::DirectDma,
304+
packet_len,
305+
num_segments,
306+
true, // LSO?
307+
None, // Test config
308+
None, // Default expected stats
309+
)
310+
.await;
294311
}
295312

296313
#[async_test]
@@ -330,7 +347,6 @@ async fn test_lso_segment_coalescing_only_header(driver: DefaultDriver) {
330347
expected_stats.as_mut().unwrap().tx_errors.add(1);
331348
let test_config = Some(ManaTestConfiguration {
332349
allow_lso_pkt_with_one_sge: true,
333-
..Default::default()
334350
});
335351
send_test_packet(
336352
driver.clone(),

0 commit comments

Comments
 (0)