@@ -956,6 +956,7 @@ pub mod tests {
956
956
use crate :: dumbo:: EthernetFrame ;
957
957
use crate :: logger:: IncMetric ;
958
958
use crate :: rate_limiter:: { BucketUpdate , RateLimiter , TokenBucket , TokenType } ;
959
+ use crate :: utilities:: test_utils:: single_region_mem;
959
960
use crate :: vstate:: memory:: { Address , GuestMemory } ;
960
961
961
962
#[ test]
@@ -1113,7 +1114,8 @@ pub mod tests {
1113
1114
1114
1115
#[ test]
1115
1116
fn test_rx_missing_queue_signal ( ) {
1116
- let mut th = TestHelper :: get_default ( ) ;
1117
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1118
+ let mut th = TestHelper :: get_default ( & mem) ;
1117
1119
th. activate_net ( ) ;
1118
1120
1119
1121
th. add_desc_chain ( NetQueue :: Rx , 0 , & [ ( 0 , 4096 , VIRTQ_DESC_F_WRITE ) ] ) ;
@@ -1130,7 +1132,8 @@ pub mod tests {
1130
1132
1131
1133
#[ test]
1132
1134
fn test_rx_read_only_descriptor ( ) {
1133
- let mut th = TestHelper :: get_default ( ) ;
1135
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1136
+ let mut th = TestHelper :: get_default ( & mem) ;
1134
1137
th. activate_net ( ) ;
1135
1138
1136
1139
th. add_desc_chain (
@@ -1150,7 +1153,8 @@ pub mod tests {
1150
1153
1151
1154
#[ test]
1152
1155
fn test_rx_short_writable_descriptor ( ) {
1153
- let mut th = TestHelper :: get_default ( ) ;
1156
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1157
+ let mut th = TestHelper :: get_default ( & mem) ;
1154
1158
th. activate_net ( ) ;
1155
1159
1156
1160
th. add_desc_chain ( NetQueue :: Rx , 0 , & [ ( 0 , 100 , VIRTQ_DESC_F_WRITE ) ] ) ;
@@ -1162,7 +1166,8 @@ pub mod tests {
1162
1166
1163
1167
#[ test]
1164
1168
fn test_rx_partial_write ( ) {
1165
- let mut th = TestHelper :: get_default ( ) ;
1169
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1170
+ let mut th = TestHelper :: get_default ( & mem) ;
1166
1171
th. activate_net ( ) ;
1167
1172
1168
1173
// The descriptor chain is created so that the last descriptor doesn't fit in the
@@ -1185,7 +1190,8 @@ pub mod tests {
1185
1190
1186
1191
#[ test]
1187
1192
fn test_rx_retry ( ) {
1188
- let mut th = TestHelper :: get_default ( ) ;
1193
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1194
+ let mut th = TestHelper :: get_default ( & mem) ;
1189
1195
th. activate_net ( ) ;
1190
1196
1191
1197
// Add invalid descriptor chain - read only descriptor.
@@ -1235,7 +1241,8 @@ pub mod tests {
1235
1241
1236
1242
#[ test]
1237
1243
fn test_rx_complex_desc_chain ( ) {
1238
- let mut th = TestHelper :: get_default ( ) ;
1244
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1245
+ let mut th = TestHelper :: get_default ( & mem) ;
1239
1246
th. activate_net ( ) ;
1240
1247
1241
1248
// Create a valid Rx avail descriptor chain with multiple descriptors.
@@ -1273,7 +1280,8 @@ pub mod tests {
1273
1280
1274
1281
#[ test]
1275
1282
fn test_rx_multiple_frames ( ) {
1276
- let mut th = TestHelper :: get_default ( ) ;
1283
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1284
+ let mut th = TestHelper :: get_default ( & mem) ;
1277
1285
th. activate_net ( ) ;
1278
1286
1279
1287
// Create 2 valid Rx avail descriptor chains. Each one has enough space to fit the
@@ -1316,7 +1324,8 @@ pub mod tests {
1316
1324
1317
1325
#[ test]
1318
1326
fn test_tx_missing_queue_signal ( ) {
1319
- let mut th = TestHelper :: get_default ( ) ;
1327
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1328
+ let mut th = TestHelper :: get_default ( & mem) ;
1320
1329
th. activate_net ( ) ;
1321
1330
let tap_traffic_simulator = TapTrafficSimulator :: new ( if_index ( & th. net ( ) . tap ) ) ;
1322
1331
@@ -1336,7 +1345,8 @@ pub mod tests {
1336
1345
1337
1346
#[ test]
1338
1347
fn test_tx_writeable_descriptor ( ) {
1339
- let mut th = TestHelper :: get_default ( ) ;
1348
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1349
+ let mut th = TestHelper :: get_default ( & mem) ;
1340
1350
th. activate_net ( ) ;
1341
1351
let tap_traffic_simulator = TapTrafficSimulator :: new ( if_index ( & th. net ( ) . tap ) ) ;
1342
1352
@@ -1355,7 +1365,8 @@ pub mod tests {
1355
1365
1356
1366
#[ test]
1357
1367
fn test_tx_short_frame ( ) {
1358
- let mut th = TestHelper :: get_default ( ) ;
1368
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1369
+ let mut th = TestHelper :: get_default ( & mem) ;
1359
1370
th. activate_net ( ) ;
1360
1371
let tap_traffic_simulator = TapTrafficSimulator :: new ( if_index ( & th. net ( ) . tap ) ) ;
1361
1372
@@ -1377,7 +1388,8 @@ pub mod tests {
1377
1388
1378
1389
#[ test]
1379
1390
fn test_tx_big_frame ( ) {
1380
- let mut th = TestHelper :: get_default ( ) ;
1391
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1392
+ let mut th = TestHelper :: get_default ( & mem) ;
1381
1393
th. activate_net ( ) ;
1382
1394
let tap_traffic_simulator = TapTrafficSimulator :: new ( if_index ( & th. net ( ) . tap ) ) ;
1383
1395
@@ -1403,7 +1415,8 @@ pub mod tests {
1403
1415
1404
1416
#[ test]
1405
1417
fn test_tx_empty_frame ( ) {
1406
- let mut th = TestHelper :: get_default ( ) ;
1418
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1419
+ let mut th = TestHelper :: get_default ( & mem) ;
1407
1420
th. activate_net ( ) ;
1408
1421
let tap_traffic_simulator = TapTrafficSimulator :: new ( if_index ( & th. net ( ) . tap ) ) ;
1409
1422
@@ -1425,7 +1438,8 @@ pub mod tests {
1425
1438
1426
1439
#[ test]
1427
1440
fn test_tx_retry ( ) {
1428
- let mut th = TestHelper :: get_default ( ) ;
1441
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1442
+ let mut th = TestHelper :: get_default ( & mem) ;
1429
1443
th. activate_net ( ) ;
1430
1444
let tap_traffic_simulator = TapTrafficSimulator :: new ( if_index ( & th. net ( ) . tap ) ) ;
1431
1445
@@ -1467,7 +1481,8 @@ pub mod tests {
1467
1481
1468
1482
#[ test]
1469
1483
fn test_tx_complex_descriptor ( ) {
1470
- let mut th = TestHelper :: get_default ( ) ;
1484
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1485
+ let mut th = TestHelper :: get_default ( & mem) ;
1471
1486
th. activate_net ( ) ;
1472
1487
let tap_traffic_simulator = TapTrafficSimulator :: new ( if_index ( & th. net ( ) . tap ) ) ;
1473
1488
@@ -1495,7 +1510,8 @@ pub mod tests {
1495
1510
1496
1511
#[ test]
1497
1512
fn test_tx_tap_failure ( ) {
1498
- let mut th = TestHelper :: get_default ( ) ;
1513
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1514
+ let mut th = TestHelper :: get_default ( & mem) ;
1499
1515
th. activate_net ( ) ;
1500
1516
// force the next write to the tap to return an error by simply closing the fd
1501
1517
// SAFETY: its a valid fd
@@ -1519,7 +1535,8 @@ pub mod tests {
1519
1535
1520
1536
#[ test]
1521
1537
fn test_tx_multiple_frame ( ) {
1522
- let mut th = TestHelper :: get_default ( ) ;
1538
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1539
+ let mut th = TestHelper :: get_default ( & mem) ;
1523
1540
th. activate_net ( ) ;
1524
1541
let tap_traffic_simulator = TapTrafficSimulator :: new ( if_index ( & th. net ( ) . tap ) ) ;
1525
1542
@@ -1672,7 +1689,8 @@ pub mod tests {
1672
1689
1673
1690
#[ test]
1674
1691
fn test_process_error_cases ( ) {
1675
- let mut th = TestHelper :: get_default ( ) ;
1692
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1693
+ let mut th = TestHelper :: get_default ( & mem) ;
1676
1694
th. activate_net ( ) ;
1677
1695
1678
1696
// RX rate limiter events should error since the limiter is not blocked.
@@ -1697,7 +1715,8 @@ pub mod tests {
1697
1715
// * interrupt_evt.write
1698
1716
#[ test]
1699
1717
fn test_read_tap_fail_event_handler ( ) {
1700
- let mut th = TestHelper :: get_default ( ) ;
1718
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1719
+ let mut th = TestHelper :: get_default ( & mem) ;
1701
1720
th. activate_net ( ) ;
1702
1721
// force the next write to the tap to return an error by simply closing the fd
1703
1722
// SAFETY: its a valid fd
@@ -1727,7 +1746,8 @@ pub mod tests {
1727
1746
1728
1747
#[ test]
1729
1748
fn test_deferred_frame ( ) {
1730
- let mut th = TestHelper :: get_default ( ) ;
1749
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1750
+ let mut th = TestHelper :: get_default ( & mem) ;
1731
1751
th. activate_net ( ) ;
1732
1752
1733
1753
let rx_packets_count = th. net ( ) . metrics . rx_packets_count . count ( ) ;
@@ -1779,7 +1799,8 @@ pub mod tests {
1779
1799
1780
1800
#[ test]
1781
1801
fn test_rx_rate_limiter_handling ( ) {
1782
- let mut th = TestHelper :: get_default ( ) ;
1802
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1803
+ let mut th = TestHelper :: get_default ( & mem) ;
1783
1804
th. activate_net ( ) ;
1784
1805
1785
1806
th. net ( ) . rx_rate_limiter = RateLimiter :: new ( 0 , 0 , 0 , 0 , 0 , 0 ) . unwrap ( ) ;
@@ -1793,7 +1814,8 @@ pub mod tests {
1793
1814
1794
1815
#[ test]
1795
1816
fn test_tx_rate_limiter_handling ( ) {
1796
- let mut th = TestHelper :: get_default ( ) ;
1817
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1818
+ let mut th = TestHelper :: get_default ( & mem) ;
1797
1819
th. activate_net ( ) ;
1798
1820
1799
1821
th. net ( ) . tx_rate_limiter = RateLimiter :: new ( 0 , 0 , 0 , 0 , 0 , 0 ) . unwrap ( ) ;
@@ -1808,7 +1830,8 @@ pub mod tests {
1808
1830
1809
1831
#[ test]
1810
1832
fn test_bandwidth_rate_limiter ( ) {
1811
- let mut th = TestHelper :: get_default ( ) ;
1833
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1834
+ let mut th = TestHelper :: get_default ( & mem) ;
1812
1835
th. activate_net ( ) ;
1813
1836
1814
1837
// Test TX bandwidth rate limiting
@@ -1948,7 +1971,8 @@ pub mod tests {
1948
1971
1949
1972
#[ test]
1950
1973
fn test_ops_rate_limiter ( ) {
1951
- let mut th = TestHelper :: get_default ( ) ;
1974
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
1975
+ let mut th = TestHelper :: get_default ( & mem) ;
1952
1976
th. activate_net ( ) ;
1953
1977
1954
1978
// Test TX ops rate limiting
@@ -2059,7 +2083,8 @@ pub mod tests {
2059
2083
2060
2084
#[ test]
2061
2085
fn test_patch_rate_limiters ( ) {
2062
- let mut th = TestHelper :: get_default ( ) ;
2086
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
2087
+ let mut th = TestHelper :: get_default ( & mem) ;
2063
2088
th. activate_net ( ) ;
2064
2089
2065
2090
th. net ( ) . rx_rate_limiter = RateLimiter :: new ( 10 , 0 , 10 , 2 , 0 , 2 ) . unwrap ( ) ;
@@ -2100,7 +2125,8 @@ pub mod tests {
2100
2125
2101
2126
#[ test]
2102
2127
fn test_virtio_device ( ) {
2103
- let mut th = TestHelper :: get_default ( ) ;
2128
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
2129
+ let mut th = TestHelper :: get_default ( & mem) ;
2104
2130
th. activate_net ( ) ;
2105
2131
let net = th. net . lock ( ) . unwrap ( ) ;
2106
2132
@@ -2121,7 +2147,8 @@ pub mod tests {
2121
2147
fn test_queues_notification_suppression ( ) {
2122
2148
let features = 1 << VIRTIO_RING_F_EVENT_IDX ;
2123
2149
2124
- let mut th = TestHelper :: get_default ( ) ;
2150
+ let mem = single_region_mem ( 2 * MAX_BUFFER_SIZE ) ;
2151
+ let mut th = TestHelper :: get_default ( & mem) ;
2125
2152
th. net ( ) . set_acked_features ( features) ;
2126
2153
th. activate_net ( ) ;
2127
2154
0 commit comments