()
| 276 | |
| 277 | |
| 278 | def parse_args(): |
| 279 | parser = argparse.ArgumentParser(description=__doc__) |
| 280 | |
| 281 | parser.add_argument( |
| 282 | "rx_queues", |
| 283 | metavar="RX_QUEUES", |
| 284 | type=positive_int, |
| 285 | help=""" |
| 286 | The number of RX queues to fill. |
| 287 | """, |
| 288 | ) |
| 289 | parser.add_argument( |
| 290 | "ip_src", |
| 291 | metavar="SRC", |
| 292 | type=ipaddress.ip_network, |
| 293 | help=""" |
| 294 | The source IP network/address. |
| 295 | """, |
| 296 | ) |
| 297 | parser.add_argument( |
| 298 | "ip_dst", |
| 299 | metavar="DST", |
| 300 | type=ipaddress.ip_network, |
| 301 | help=""" |
| 302 | The destination IP network/address. |
| 303 | """, |
| 304 | ) |
| 305 | parser.add_argument( |
| 306 | "-s", |
| 307 | "--sport-range", |
| 308 | type=port_range, |
| 309 | default=NO_PORT, |
| 310 | help=""" |
| 311 | The layer 4 (TCP/UDP) source port range. |
| 312 | Can be a single fixed value or a range <start>-<end>. |
| 313 | """, |
| 314 | ) |
| 315 | parser.add_argument( |
| 316 | "-d", |
| 317 | "--dport-range", |
| 318 | type=port_range, |
| 319 | default=NO_PORT, |
| 320 | help=""" |
| 321 | The layer 4 (TCP/UDP) destination port range. |
| 322 | Can be a single fixed value or a range <start>-<end>. |
| 323 | """, |
| 324 | ) |
| 325 | parser.add_argument( |
| 326 | "-r", |
| 327 | "--check-reverse-traffic", |
| 328 | action="store_true", |
| 329 | help=""" |
| 330 | The reversed traffic (source <-> dest) should also be evenly balanced |
| 331 | in the queues. |
| 332 | """, |
| 333 | ) |
| 334 | parser.add_argument( |
| 335 | "-k", |
no test coverage detected