linux/Documentation/netlink/specs/ovs_datapath.yaml
Donald Hunter 6907217a80 netlink: specs: fixup openvswitch specs for code generation
Refine the ovs_* specs to align exactly with the ovs netlink UAPI
definitions to enable code generation.

Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
Link: https://lore.kernel.org/r/20230615151405.77649-1-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-06-17 00:18:00 -07:00

164 lines
3.1 KiB
YAML

# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
name: ovs_datapath
version: 2
protocol: genetlink-legacy
uapi-header: linux/openvswitch.h
doc:
OVS datapath configuration over generic netlink.
definitions:
-
name: ovs-header
type: struct
members:
-
name: dp-ifindex
type: u32
-
name: user-features
type: flags
name-prefix: ovs-dp-f-
entries:
-
name: unaligned
doc: Allow last Netlink attribute to be unaligned
-
name: vport-pids
doc: Allow datapath to associate multiple Netlink PIDs to each vport
-
name: tc-recirc-sharing
doc: Allow tc offload recirc sharing
-
name: dispatch-upcall-per-cpu
doc: Allow per-cpu dispatch of upcalls
-
name: datapath-stats
enum-name: ovs-dp-stats
type: struct
members:
-
name: n-hit
type: u64
-
name: n-missed
type: u64
-
name: n-lost
type: u64
-
name: n-flows
type: u64
-
name: megaflow-stats
enum-name: ovs-dp-megaflow-stats
type: struct
members:
-
name: n-mask-hit
type: u64
-
name: n-masks
type: u32
-
name: padding
type: u32
-
name: n-cache-hit
type: u64
-
name: pad1
type: u64
attribute-sets:
-
name: datapath
name-prefix: ovs-dp-attr-
enum-name: ovs-datapath-attrs
attributes:
-
name: name
type: string
-
name: upcall-pid
doc: upcall pid
type: u32
-
name: stats
type: binary
struct: datapath-stats
-
name: megaflow-stats
type: binary
struct: megaflow-stats
-
name: user-features
type: u32
enum: user-features
enum-as-flags: true
-
name: pad
type: unused
-
name: masks-cache-size
type: u32
-
name: per-cpu-pids
type: binary
sub-type: u32
-
name: ifindex
type: u32
operations:
fixed-header: ovs-header
name-prefix: ovs-dp-cmd-
list:
-
name: get
doc: Get / dump OVS data path configuration and state
value: 3
attribute-set: datapath
do: &dp-get-op
request:
attributes:
- name
reply:
attributes:
- name
- upcall-pid
- stats
- megaflow-stats
- user-features
- masks-cache-size
- per-cpu-pids
dump: *dp-get-op
-
name: new
doc: Create new OVS data path
value: 1
attribute-set: datapath
do:
request:
attributes:
- dp-ifindex
- name
- upcall-pid
- user-features
-
name: del
doc: Delete existing OVS data path
value: 2
attribute-set: datapath
do:
request:
attributes:
- dp-ifindex
- name
mcast-groups:
list:
-
name: ovs_datapath