• Jakub Kicinski's avatar
    tools: ynl: support pretty printing bad attribute names · 4cd2796f
    Jakub Kicinski authored
    One of my favorite features of the Netlink specs is that they
    make decoding structured extack a ton easier.
    Implement pretty printing bad attribute names in YNL.
    
    For example it will now say:
    
      'bad-attr': '.header.flags'
    
    rather than the useless:
    
      'bad-attr-offs': 32
    
    Proof:
    
      $ ./cli.py --spec ethtool.yaml --do rings_get \
         --json '{"header":{"dev-index":1, "flags":4}}'
      Netlink error: Invalid argument
      nl_len = 68 (52) nl_flags = 0x300 nl_type = 2
    	error: -22	extack: {'msg': 'reserved bit set',
    				 'bad-attr': '.header.flags'}
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    4cd2796f
ynl.py 16.9 KB