Lines Matching +full:attr +full:- +full:max +full:- +full:name

2 # SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
18 Verify and convert command-line arguments to the ynl-compatible request.
21 valid_attrs.remove('header') # not user-provided
29 attr = args[i]
31 print(f'expected value for \'{attr}\'')
34 if attr not in valid_attrs:
35 print(f'invalid attribute \'{attr}\', expected: {valid_attrs}')
41 req[attr] = val
45 Pretty-print a set of fields from the reply. desc specifies the
53 field, name, tp = spec
55 field, name = spec
66 print(f'{name}: {value}')
68 def print_speed(name, value): argument
70 Print out the speed-like strings from the value dict.
72 speed_re = re.compile(r'[0-9]+base[^/]+/.+')
74 print(f'{name}: {" ".join(speed)}')
82 'dev-name': args.device,
99 if msg['header']['dev-name'] == args.device:
109 def bits_to_dict(attr): argument
111 Convert ynl-formatted bitmask to a dict of bit=value.
114 if 'bits' not in attr:
116 if 'bit' not in attr['bits']:
118 for bit in attr['bits']['bit']:
119 if bit['name'] == '':
121 name = bit['name']
123 ret[name] = value
128 parser.add_argument('--json', action=argparse.BooleanOptionalAction)
129 parser.add_argument('--show-priv-flags', action=argparse.BooleanOptionalAction)
130 parser.add_argument('--set-priv-flags', action=argparse.BooleanOptionalAction)
131 parser.add_argument('--show-eee', action=argparse.BooleanOptionalAction)
132 parser.add_argument('--set-eee', action=argparse.BooleanOptionalAction)
133 parser.add_argument('-a', '--show-pause', action=argparse.BooleanOptionalAction)
134 parser.add_argument('-A', '--set-pause', action=argparse.BooleanOptionalAction)
135 parser.add_argument('-c', '--show-coalesce', action=argparse.BooleanOptionalAction)
136 parser.add_argument('-C', '--set-coalesce', action=argparse.BooleanOptionalAction)
137 parser.add_argument('-g', '--show-ring', action=argparse.BooleanOptionalAction)
138 parser.add_argument('-G', '--set-ring', action=argparse.BooleanOptionalAction)
139 parser.add_argument('-k', '--show-features', action=argparse.BooleanOptionalAction)
140 parser.add_argument('-K', '--set-features', action=argparse.BooleanOptionalAction)
141 parser.add_argument('-l', '--show-channels', action=argparse.BooleanOptionalAction)
142 parser.add_argument('-L', '--set-channels', action=argparse.BooleanOptionalAction)
143 parser.add_argument('-T', '--show-time-stamping', action=argparse.BooleanOptionalAction)
144 parser.add_argument('-S', '--statistics', action=argparse.BooleanOptionalAction)
145 # TODO: --show-tunnels tunnel-info-get
146 # TODO: --show-module module-get
147 # TODO: --get-plca-cfg plca-get
148 # TODO: --get-plca-status plca-get-status
149 # TODO: --show-mm mm-get
150 # TODO: --show-fec fec-get
151 # TODO: --dump-module-eerpom module-eeprom-get
152 # TODO: pse-get
153 # TODO: rss-get
161 schema = os.path.join(schema_dir(), 'genetlink-legacy.yaml')
171 return doit(ynl, args, 'eee-set')
174 return doit(ynl, args, 'pause-set')
177 return doit(ynl, args, 'coalesce-set')
185 return doit(ynl, args, 'channels-set')
188 return doit(ynl, args, 'rings-set')
191 flags = bits_to_dict(dumpit(ynl, args, 'privflags-get')['flags'])
196 eee = dumpit(ynl, args, 'eee-get')
197 ours = bits_to_dict(eee['modes-ours'])
198 peer = bits_to_dict(eee['modes-peer'])
203 status = status + ' - active'
205 status = status + ' - inactive'
210 print_field(eee, ('tx-lpi-timer', 'Tx LPI'))
217 print_field(dumpit(ynl, args, 'pause-get'),
224 print_field(dumpit(ynl, args, 'coalesce-get'))
228 reply = dumpit(ynl, args, 'features-get')
255 reply = dumpit(ynl, args, 'channels-get')
258 print(f'Pre-set maximums:')
260 ('rx-max', 'RX'),
261 ('tx-max', 'TX'),
262 ('other-max', 'Other'),
263 ('combined-max', 'Combined'))
267 ('rx-count', 'RX'),
268 ('tx-count', 'TX'),
269 ('other-count', 'Other'),
270 ('combined-count', 'Combined'))
275 reply = dumpit(ynl, args, 'channels-get')
279 print(f'Pre-set maximums:')
281 ('rx-max', 'RX'),
282 ('rx-mini-max', 'RX Mini'),
283 ('rx-jumbo-max', 'RX Jumbo'),
284 ('tx-max', 'TX'))
289 ('rx-mini', 'RX Mini'),
290 ('rx-jumbo', 'RX Jumbo'),
294 ('rx-buf-len', 'RX Buf Len'),
295 ('cqe-size', 'CQE Size'),
296 ('tx-push', 'TX Push', 'bool'))
304 strset = dumpit(ynl, args, 'strset-get')
314 #{ 'name': 'eth-phy', 'value': True },
315 { 'name': 'eth-mac', 'value': True },
316 #{ 'name': 'eth-ctrl', 'value': True },
317 #{ 'name': 'rmon', 'value': True },
323 rsp = dumpit(ynl, args, 'stats-get', req)
334 tsinfo = dumpit(ynl, args, 'tsinfo-get', req)
341 print(f'PTP Hardware Clock: {tsinfo["phc-index"]}')
344 [print(f'\t{v}') for v in bits_to_dict(tsinfo['tx-types'])]
347 [print(f'\t{v}') for v in bits_to_dict(tsinfo['rx-filters'])]
354 linkmodes = dumpit(ynl, args, 'linkmodes-get')
364 print_field(ours, ('Autoneg', 'Supports auto-negotiation', 'yn'))
391 print(f'Auto-negotiation: {autoneg}')
402 linkinfo = dumpit(ynl, args, 'linkinfo-get')
417 mdix = mdix_ctrl.get(linkinfo['tp-mdix-ctrl'], None)
421 mdix = mdix_ctrl.get(linkinfo['tp-mdix'], 'Unknown (auto)')
422 print(f'MDI-X: {mdix}')
424 debug = dumpit(ynl, args, 'debug-get')
428 linkstate = dumpit(ynl, args, 'linkstate-get')
433 # TODO: wol-get