• Donald Hunter's avatar
    netlink: specs: add partial specification for openvswitch · 643ef4a6
    Donald Hunter authored
    The openvswitch family has a fixed header, uses struct attrs and has array
    values. This partial spec demonstrates these features in the YNL CLI. These
    specs are sufficient to create, delete and dump datapaths and to dump vports:
    
    $ ./tools/net/ynl/cli.py \
        --spec Documentation/netlink/specs/ovs_datapath.yaml \
        --do dp-new --json '{ "dp-ifindex": 0, "name": "demo", "upcall-pid": 0}'
    None
    
    $ ./tools/net/ynl/cli.py \
        --spec Documentation/netlink/specs/ovs_datapath.yaml \
        --dump dp-get --json '{ "dp-ifindex": 0 }'
    [{'dp-ifindex': 3,
      'masks-cache-size': 256,
      'megaflow-stats': {'cache-hits': 0,
                         'mask-hit': 0,
                         'masks': 0,
                         'pad1': 0,
                         'padding': 0},
      'name': 'test',
      'stats': {'flows': 0, 'hit': 0, 'lost': 0, 'missed': 0},
      'user-features': {'dispatch-upcall-per-cpu',
                        'tc-recirc-sharing',
                        'unaligned'}},
     {'dp-ifindex': 48,
      'masks-cache-size': 256,
      'megaflow-stats': {'cache-hits': 0,
                         'mask-hit': 0,
                         'masks': 0,
                         'pad1': 0,
                         'padding': 0},
      'name': 'demo',
      'stats': {'flows': 0, 'hit': 0, 'lost': 0, 'missed': 0},
      'user-features': set()}]
    
    $ ./tools/net/ynl/cli.py \
        --spec Documentation/netlink/specs/ovs_datapath.yaml \
        --do dp-del --json '{ "dp-ifindex": 0, "name": "demo"}'
    None
    
    $ ./tools/net/ynl/cli.py \
        --spec Documentation/netlink/specs/ovs_vport.yaml \
        --dump vport-get --json '{ "dp-ifindex": 3 }'
    [{'dp-ifindex': 3,
      'ifindex': 3,
      'name': 'test',
      'port-no': 0,
      'stats': {'rx-bytes': 0,
                'rx-dropped': 0,
                'rx-errors': 0,
                'rx-packets': 0,
                'tx-bytes': 0,
                'tx-dropped': 0,
                'tx-errors': 0,
                'tx-packets': 0},
      'type': 'internal',
      'upcall-pid': [0],
      'upcall-stats': {'fail': 0, 'success': 0}}]
    Signed-off-by: default avatarDonald Hunter <donald.hunter@gmail.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    643ef4a6
ovs_datapath.yaml 2.87 KB