Lines Matching +full:support +full:- +full:nesting

2 # SPDX-License-Identifier: GPL-2.0
10 def get_shapers(cfg, nl_shaper) -> None:
21 def get_caps(cfg, nl_shaper) -> None:
29 # Each device implementing shaper support must support some
33 def set_qshapers(cfg, nl_shaper) -> None:
41 if not 'support-bw-max' in caps or not 'support-metric-bps' in caps:
42 raise KsftSkipEx("device does not support queue scope shapers with bw_max and metric bps")
46 channels = netnl.channels_get({'header': {'dev-index': cfg.ifindex}})
47 if channels['combined-count'] == 0:
49 cfg.nr_queues = channels['rx-count']
52 cfg.nr_queues = channels['combined-count']
54 raise KsftSkipEx(f"device does not support enough queues min 3 found {cfg.nr_queues}")
59 'bw-max': 10000})
63 'bw-max': 20000})
80 'bw-max': 10000})
87 'bw-max': 10000},
92 'bw-max': 20000}])
94 def del_qshapers(cfg, nl_shaper) -> None:
105 def set_nshapers(cfg, nl_shaper) -> None:
114 if not 'support-bw-max' in caps or not 'support-metric-bps' in caps:
115 raise KsftSkipEx("device does not support nested netdev scope shapers with weight")
120 'bw-max': 100000})
126 'bw-max': 100000}])
128 def del_nshapers(cfg, nl_shaper) -> None:
137 def basic_groups(cfg, nl_shaper) -> None:
150 if not 'support-weight' in caps:
151 raise KsftSkipEx("device does not support queue scope shapers with weight")
161 'bw-max': 10000})
185 def qgroups(cfg, nl_shaper) -> None:
195 if not 'support-bw-max' in caps or not 'support-metric-bps' in caps:
196 raise KsftSkipEx("device does not support node scope shapers with bw_max and metric bps")
204 …if not 'support-nesting' in caps or not 'support-weight' in caps or not 'support-metric-bps' in ca…
205 raise KsftSkipEx("device does not support nested queue scope shapers with weight")
216 'bw-max': 10000})
231 'bw-max': 10000})
242 'bw-max': 10000})
284 def delegation(cfg, nl_shaper) -> None:
286 raise KsftSkipEx("device does not support node scope")
294 if not 'support-nesting' in caps:
295 raise KsftSkipEx("device does not support node scope shapers nesting")
307 'bw-max': 10000})
319 'bw-max': 5000})
339 'bw-max': 10000},
344 'bw-max': 5000}])
366 'bw-max': 10000}])
375 def queue_update(cfg, nl_shaper) -> None:
379 raise KsftSkipEx("device does not support queue scope")
385 'bw-max': (i + 1) * 1000})
388 cmd(f"ethtool -L {cfg.dev['ifname']} {cfg.rx_type} 3", timeout=10)
394 'bw-max': 1000},
399 'bw-max': 2000},
404 'bw-max': 3000}])
408 cmd(f"ethtool -L {cfg.dev['ifname']} {cfg.rx_type} 2", timeout=10)
415 'bw-max': 1000},
420 'bw-max': 2000}])
423 cmd(f"ethtool -L {cfg.dev['ifname']} {cfg.rx_type} {cfg.nr_queues}", timeout=10)
429 'bw-max': 1000},
434 'bw-max': 2000}])
441 def main() -> None: