mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 06:41:39 -04:00
tools: ynl: cli: add --policy support
Add --policy flag which can be combined with --do or --dump to query
the kernel's netlink policy for an operation instead of executing it.
Examples:
$ ynl --family netdev --do dev-get --policy
{'ifindex': {'max-value': 4294967295, 'min-value': 1, 'type': 'u32'}}
$ ynl --family ethtool --do channels-get --policy --output-json
{"header": {"type": "nested", "policy": {"dev-index": ...}}}
$ ynl --family netdev --dump dev-get --policy
{}
Link: https://patch.msgid.link/20260310005337.3594225-6-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -256,6 +256,8 @@ def main():
|
||||
schema_group.add_argument('--no-schema', action='store_true')
|
||||
|
||||
dbg_group = parser.add_argument_group('Debug options')
|
||||
io_group.add_argument('--policy', action='store_true',
|
||||
help='Query kernel policy for the operation instead of executing it')
|
||||
dbg_group.add_argument('--dbg-small-recv', default=0, const=4000,
|
||||
action='store', nargs='?', type=int, metavar='INT',
|
||||
help="Length of buffers used for recv()")
|
||||
@@ -308,6 +310,16 @@ def main():
|
||||
if args.dbg_small_recv:
|
||||
ynl.set_recv_dbg(True)
|
||||
|
||||
if args.policy:
|
||||
if args.do:
|
||||
pol = ynl.get_policy(args.do, 'do')
|
||||
output(pol.attrs if pol else None)
|
||||
args.do = None
|
||||
if args.dump:
|
||||
pol = ynl.get_policy(args.dump, 'dump')
|
||||
output(pol.attrs if pol else None)
|
||||
args.dump = None
|
||||
|
||||
if args.ntf:
|
||||
ynl.ntf_subscribe(args.ntf)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user