|
8 | 8 | import glob
|
9 | 9 |
|
10 | 10 |
|
11 |
| -def sys_get_queues(ifname) -> int: |
12 |
| - folders = glob.glob(f'/sys/class/net/{ifname}/queues/rx-*') |
| 11 | +def sys_get_queues(ifname, qtype='rx') -> int: |
| 12 | + folders = glob.glob(f'/sys/class/net/{ifname}/queues/{qtype}-*') |
13 | 13 | return len(folders)
|
14 | 14 |
|
15 | 15 |
|
16 |
| -def nl_get_queues(cfg, nl): |
| 16 | +def nl_get_queues(cfg, nl, qtype='rx'): |
17 | 17 | queues = nl.queue_get({'ifindex': cfg.ifindex}, dump=True)
|
18 | 18 | if queues:
|
19 |
| - return len([q for q in queues if q['type'] == 'rx']) |
| 19 | + return len([q for q in queues if q['type'] == qtype]) |
20 | 20 | return None
|
21 | 21 |
|
22 | 22 |
|
23 | 23 | def get_queues(cfg, nl) -> None:
|
24 |
| - queues = nl_get_queues(cfg, nl) |
25 |
| - if not queues: |
26 |
| - raise KsftSkipEx('queue-get not supported by device') |
| 24 | + snl = NetdevFamily(recv_size=4096) |
27 | 25 |
|
28 |
| - expected = sys_get_queues(cfg.dev['ifname']) |
29 |
| - ksft_eq(queues, expected) |
| 26 | + for qtype in ['rx', 'tx']: |
| 27 | + queues = nl_get_queues(cfg, snl, qtype) |
| 28 | + if not queues: |
| 29 | + raise KsftSkipEx('queue-get not supported by device') |
| 30 | + |
| 31 | + expected = sys_get_queues(cfg.dev['ifname'], qtype) |
| 32 | + ksft_eq(queues, expected) |
30 | 33 |
|
31 | 34 |
|
32 | 35 | def addremove_queues(cfg, nl) -> None:
|
@@ -57,7 +60,7 @@ def addremove_queues(cfg, nl) -> None:
|
57 | 60 |
|
58 | 61 |
|
59 | 62 | def main() -> None:
|
60 |
| - with NetDrvEnv(__file__, queue_count=3) as cfg: |
| 63 | + with NetDrvEnv(__file__, queue_count=100) as cfg: |
61 | 64 | ksft_run([get_queues, addremove_queues], args=(cfg, NetdevFamily()))
|
62 | 65 | ksft_exit()
|
63 | 66 |
|
|
0 commit comments