Lines Matching +full:queue +full:- +full:group

2 # SPDX-License-Identifier: GPL-2.0
13 def get_shapers(cfg, nl_shaper) -> None:
24 def get_caps(cfg, nl_shaper) -> None:
36 def set_qshapers(cfg, nl_shaper) -> None:
39 'scope':'queue'})
44 if not 'support-bw-max' in caps or not 'support-metric-bps' in caps:
45 raise KsftSkipEx("device does not support queue scope shapers with bw_max and metric bps")
49 channels = netnl.channels_get({'header': {'dev-index': cfg.ifindex}})
50 if channels['combined-count'] == 0:
52 cfg.nr_queues = channels['rx-count']
55 cfg.nr_queues = channels['combined-count']
60 'handle': {'scope': 'queue', 'id': 1},
62 'bw-max': 10000})
64 'handle': {'scope': 'queue', 'id': 2},
66 'bw-max': 20000})
72 'handle': {'scope': 'queue', 'id': 0}})
78 'handle': {'scope': 'queue', 'id': 1}})
81 'handle': {'scope': 'queue', 'id': 1},
83 'bw-max': 10000})
88 'handle': {'scope': 'queue', 'id': 1},
90 'bw-max': 10000},
93 'handle': {'scope': 'queue', 'id': 2},
95 'bw-max': 20000}])
97 def del_qshapers(cfg, nl_shaper) -> None:
99 raise KsftSkipEx("queue shapers not supported by device, skipping delete")
102 'handle': {'scope': 'queue', 'id': 2}})
104 'handle': {'scope': 'queue', 'id': 1}})
108 def set_nshapers(cfg, nl_shaper) -> None:
117 if not 'support-bw-max' in caps or not 'support-metric-bps' in caps:
123 'bw-max': 100000})
129 'bw-max': 100000}])
131 def del_nshapers(cfg, nl_shaper) -> None:
140 def basic_groups(cfg, nl_shaper) -> None:
148 'scope':'queue'})
153 if not 'support-weight' in caps:
154 raise KsftSkipEx("device does not support queue scope shapers with weight")
156 node_handle = nl_shaper.group({
158 'leaves':[{'handle': {'scope': 'queue', 'id': 1},
160 {'handle': {'scope': 'queue', 'id': 2},
164 'bw-max': 10000})
169 'handle': {'scope': 'queue', 'id': 1}})
172 'handle': {'scope': 'queue', 'id': 1},
176 'handle': {'scope': 'queue', 'id': 2}})
178 'handle': {'scope': 'queue', 'id': 1}})
188 def qgroups(cfg, nl_shaper) -> None:
198 if not 'support-bw-max' in caps or not 'support-metric-bps' in caps:
202 'scope':'queue'})
207 …if not 'support-nesting' in caps or not 'support-weight' in caps or not 'support-metric-bps' in ca…
208 raise KsftSkipEx("device does not support nested queue scope shapers with weight")
211 node_handle = nl_shaper.group({
213 'leaves':[{'handle': {'scope': 'queue', 'id': 1},
215 {'handle': {'scope': 'queue', 'id': 2},
219 'bw-max': 10000})
223 'handle': {'scope': 'queue', 'id': 1}})
226 'handle': {'scope': 'queue', 'id': 1},
234 'bw-max': 10000})
239 nl_shaper.group({
241 'leaves':[{'handle': {'scope': 'queue', 'id': 3},
245 'bw-max': 10000})
252 node_handle = nl_shaper.group({
254 'leaves':[{'handle': {'scope': 'queue', 'id': 3},
261 'handle': {'scope': 'queue', 'id': 3}})
264 'handle': {'scope': 'queue', 'id': 3},
268 'handle': {'scope': 'queue', 'id': 2}})
270 'handle': {'scope': 'queue', 'id': 1}})
278 'handle': {'scope': 'queue', 'id': 3},
283 'handle': {'scope': 'queue', 'id': 3}})
287 def delegation(cfg, nl_shaper) -> None:
297 if not 'support-nesting' in caps:
300 node_handle = nl_shaper.group({
302 'leaves':[{'handle': {'scope': 'queue', 'id': 1},
304 {'handle': {'scope': 'queue', 'id': 2},
306 {'handle': {'scope': 'queue', 'id': 3},
310 'bw-max': 10000})
314 nested_node_handle = nl_shaper.group({
316 'leaves':[{'handle': {'scope': 'queue', 'id': 1},
318 {'handle': {'scope': 'queue', 'id': 2},
322 'bw-max': 5000})
328 'handle': {'scope': 'queue', 'id': 1},
332 'handle': {'scope': 'queue', 'id': 2},
336 'handle': {'scope': 'queue', 'id': 3},
342 'bw-max': 10000},
347 'bw-max': 5000}])
355 'handle': {'scope': 'queue', 'id': 1},
359 'handle': {'scope': 'queue', 'id': 2},
363 'handle': {'scope': 'queue', 'id': 3},
369 'bw-max': 10000}])
374 'handle': {'scope': 'queue', 'id': i}})
378 def queue_update(cfg, nl_shaper) -> None:
382 raise KsftSkipEx("device does not support queue scope")
386 'handle': {'scope': 'queue', 'id': i},
388 'bw-max': (i + 1) * 1000})
390 # queue: no changes expected
391 cmd(f"ethtool -L {cfg.dev['ifname']} {cfg.rx_type} 3", timeout=10)
395 'handle': {'scope': 'queue', 'id': 0},
397 'bw-max': 1000},
400 'handle': {'scope': 'queue', 'id': 1},
402 'bw-max': 2000},
405 'handle': {'scope': 'queue', 'id': 2},
407 'bw-max': 3000}])
410 # queue: the shaper must be deleted, too
411 cmd(f"ethtool -L {cfg.dev['ifname']} {cfg.rx_type} 2", timeout=10)
416 'handle': {'scope': 'queue', 'id': 0},
418 'bw-max': 1000},
421 'handle': {'scope': 'queue', 'id': 1},
423 'bw-max': 2000}])
426 cmd(f"ethtool -L {cfg.dev['ifname']} {cfg.rx_type} {cfg.nr_queues}", timeout=10)
430 'handle': {'scope': 'queue', 'id': 0},
432 'bw-max': 1000},
435 'handle': {'scope': 'queue', 'id': 1},
437 'bw-max': 2000}])
442 'handle': {'scope': 'queue', 'id': i}})
444 def dup_leaves(cfg, nl_shaper) -> None:
450 nl_shaper.group({
452 'leaves':[{'handle': {'scope': 'queue', 'id': 0}},
453 {'handle': {'scope': 'queue', 'id': 0}}],
456 'bw-max': 10000})
459 def main() -> None: