mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
3ada0b33c4
Op's "attributes" list is a workaround for families with a single attr set. We don't want to render a single huge request structure, the same for each op since we know that most ops accept only a small set of attributes. "Attributes" list lets us narrow down the attributes to what op acctually pays attention to. It doesn't make sense to put names of fixed headers in there. They are not "attributes" and we can't really narrow down the struct members. Remove the fixed header fields from attrs for ovs families in preparation for C codegen support. Reviewed-by: Donald Hunter <donald.hunter@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
176 lines
3.3 KiB
YAML
176 lines
3.3 KiB
YAML
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
|
|
|
name: ovs_vport
|
|
version: 2
|
|
protocol: genetlink-legacy
|
|
uapi-header: linux/openvswitch.h
|
|
|
|
doc:
|
|
OVS vport configuration over generic netlink.
|
|
|
|
definitions:
|
|
-
|
|
name: ovs-header
|
|
type: struct
|
|
members:
|
|
-
|
|
name: dp-ifindex
|
|
type: u32
|
|
-
|
|
name: vport-type
|
|
type: enum
|
|
enum-name: ovs-vport-type
|
|
name-prefix: ovs-vport-type-
|
|
entries: [ unspec, netdev, internal, gre, vxlan, geneve ]
|
|
-
|
|
name: vport-stats
|
|
type: struct
|
|
enum-name: ovs-vport-stats
|
|
members:
|
|
-
|
|
name: rx-packets
|
|
type: u64
|
|
-
|
|
name: tx-packets
|
|
type: u64
|
|
-
|
|
name: rx-bytes
|
|
type: u64
|
|
-
|
|
name: tx-bytes
|
|
type: u64
|
|
-
|
|
name: rx-errors
|
|
type: u64
|
|
-
|
|
name: tx-errors
|
|
type: u64
|
|
-
|
|
name: rx-dropped
|
|
type: u64
|
|
-
|
|
name: tx-dropped
|
|
type: u64
|
|
|
|
attribute-sets:
|
|
-
|
|
name: vport-options
|
|
enum-name: ovs-vport-options
|
|
name-prefix: ovs-tunnel-attr-
|
|
attributes:
|
|
-
|
|
name: dst-port
|
|
type: u32
|
|
-
|
|
name: extension
|
|
type: u32
|
|
-
|
|
name: upcall-stats
|
|
enum-name: ovs-vport-upcall-attr
|
|
name-prefix: ovs-vport-upcall-attr-
|
|
attributes:
|
|
-
|
|
name: success
|
|
type: u64
|
|
value: 0
|
|
-
|
|
name: fail
|
|
type: u64
|
|
-
|
|
name: vport
|
|
name-prefix: ovs-vport-attr-
|
|
enum-name: ovs-vport-attr
|
|
attributes:
|
|
-
|
|
name: unspec
|
|
type: unused
|
|
value: 0
|
|
-
|
|
name: port-no
|
|
type: u32
|
|
-
|
|
name: type
|
|
type: u32
|
|
enum: vport-type
|
|
-
|
|
name: name
|
|
type: string
|
|
-
|
|
name: options
|
|
type: nest
|
|
nested-attributes: vport-options
|
|
-
|
|
name: upcall-pid
|
|
type: binary
|
|
sub-type: u32
|
|
-
|
|
name: stats
|
|
type: binary
|
|
struct: vport-stats
|
|
-
|
|
name: pad
|
|
type: unused
|
|
-
|
|
name: ifindex
|
|
type: u32
|
|
-
|
|
name: netnsid
|
|
type: u32
|
|
-
|
|
name: upcall-stats
|
|
type: nest
|
|
nested-attributes: upcall-stats
|
|
|
|
operations:
|
|
name-prefix: ovs-vport-cmd-
|
|
list:
|
|
-
|
|
name: new
|
|
doc: Create a new OVS vport
|
|
attribute-set: vport
|
|
fixed-header: ovs-header
|
|
do:
|
|
request:
|
|
attributes:
|
|
- name
|
|
- type
|
|
- upcall-pid
|
|
- ifindex
|
|
- options
|
|
-
|
|
name: del
|
|
doc: Delete existing OVS vport from a data path
|
|
attribute-set: vport
|
|
fixed-header: ovs-header
|
|
do:
|
|
request:
|
|
attributes:
|
|
- port-no
|
|
- type
|
|
- name
|
|
-
|
|
name: get
|
|
doc: Get / dump OVS vport configuration and state
|
|
attribute-set: vport
|
|
fixed-header: ovs-header
|
|
do: &vport-get-op
|
|
request:
|
|
attributes:
|
|
- name
|
|
reply: &dev-all
|
|
attributes:
|
|
- port-no
|
|
- type
|
|
- name
|
|
- upcall-pid
|
|
- stats
|
|
- ifindex
|
|
- netnsid
|
|
- upcall-stats
|
|
dump: *vport-get-op
|
|
|
|
mcast-groups:
|
|
list:
|
|
-
|
|
name: ovs_vport
|