xref: /linux/Documentation/netlink/specs/ovs_vport.yaml (revision a6824f65c9966cf514abc334754104b7af53567c)
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2---
3name: ovs_vport
4version: 2
5protocol: genetlink-legacy
6uapi-header: linux/openvswitch.h
7
8doc: >-
9  OVS vport configuration over generic netlink.
10
11definitions:
12  -
13    name: ovs-header
14    type: struct
15    members:
16      -
17        name: dp-ifindex
18        type: u32
19  -
20    name: vport-type
21    type: enum
22    enum-name: ovs-vport-type
23    name-prefix: ovs-vport-type-
24    entries: [unspec, netdev, internal, gre, vxlan, geneve]
25  -
26    name: ovs-vport-stats
27    type: struct
28    members:
29      -
30        name: rx-packets
31        type: u64
32      -
33        name: tx-packets
34        type: u64
35      -
36        name: rx-bytes
37        type: u64
38      -
39        name: tx-bytes
40        type: u64
41      -
42        name: rx-errors
43        type: u64
44      -
45        name: tx-errors
46        type: u64
47      -
48        name: rx-dropped
49        type: u64
50      -
51        name: tx-dropped
52        type: u64
53
54attribute-sets:
55  -
56    name: vport-options
57    enum-name: ovs-vport-options
58    name-prefix: ovs-tunnel-attr-
59    attributes:
60      -
61        name: dst-port
62        type: u32
63      -
64        name: extension
65        type: u32
66  -
67    name: upcall-stats
68    enum-name: ovs-vport-upcall-attr
69    name-prefix: ovs-vport-upcall-attr-
70    attributes:
71      -
72        name: success
73        type: u64
74        value: 0
75      -
76        name: fail
77        type: u64
78  -
79    name: vport
80    name-prefix: ovs-vport-attr-
81    enum-name: ovs-vport-attr
82    attributes:
83      -
84        name: unspec
85        type: unused
86        value: 0
87      -
88        name: port-no
89        type: u32
90      -
91        name: type
92        type: u32
93        enum: vport-type
94      -
95        name: name
96        type: string
97      -
98        name: options
99        type: nest
100        nested-attributes: vport-options
101      -
102        name: upcall-pid
103        type: binary
104        sub-type: u32
105      -
106        name: stats
107        type: binary
108        struct: ovs-vport-stats
109      -
110        name: pad
111        type: unused
112      -
113        name: ifindex
114        type: u32
115      -
116        name: netnsid
117        type: u32
118      -
119        name: upcall-stats
120        type: nest
121        nested-attributes: upcall-stats
122
123operations:
124  name-prefix: ovs-vport-cmd-
125  fixed-header: ovs-header
126  list:
127    -
128      name: new
129      doc: Create a new OVS vport
130      attribute-set: vport
131      do:
132        request:
133          attributes:
134            - name
135            - type
136            - upcall-pid
137            - ifindex
138            - options
139    -
140      name: del
141      doc: Delete existing OVS vport from a data path
142      attribute-set: vport
143      do:
144        request:
145          attributes:
146            - port-no
147            - type
148            - name
149    -
150      name: get
151      doc: Get / dump OVS vport configuration and state
152      attribute-set: vport
153      do: &vport-get-op
154        request:
155          attributes:
156            - name
157        reply: &dev-all
158          attributes:
159            - port-no
160            - type
161            - name
162            - upcall-pid
163            - stats
164            - ifindex
165            - netnsid
166            - upcall-stats
167      dump: *vport-get-op
168
169mcast-groups:
170  list:
171    -
172      name: ovs_vport
173