Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) --- name: ovs_packet version: 1 protocol: genetlink-legacy uapi-header: linux/openvswitch.h doc: | OVS packet execution over generic netlink. Only OVS_PACKET_CMD_EXECUTE is exposed as a genl operation. OVS_PACKET_CMD_MISS and OVS_PACKET_CMD_ACTION are kernel-to-userspace upcalls sent via genlmsg_unicast() to the vport's upcall_pid and have no associated genl_ops or multicast group. Several attributes in the attribute set (userdata, egress-tun-key, len) exist for the upcall path and are not used by the EXECUTE operation. For EXECUTE, packet, key, and actions are mandatory (kernel returns -EINVAL without them). definitions: - name: ovs-header type: struct members: - name: dp-ifindex type: u32 attribute-sets: - name: packet name-prefix: ovs-packet-attr- enum-name: ovs-packet-attr attributes: - name: packet type: binary doc: Packet data, from the start of the Ethernet header. checks: min-len: 14 - name: key type: binary doc: | Nested OVS_KEY_ATTR_* attributes, extracted flow key. Defined as binary because the key attribute-set belongs to the ovs_flow family spec; cross-spec references are not supported. - name: actions type: binary doc: | Nested OVS_ACTION_ATTR_* attributes. Defined as binary for the same reason as key. - name: userdata type: binary doc: Opaque userspace cookie from OVS_USERSPACE_ATTR_USERDATA. - name: egress-tun-key type: binary doc: Nested OVS_TUNNEL_KEY_ATTR_* for output tunnel metadata. - name: unused1 type: unused - name: unused2 type: unused - name: probe type: flag doc: Packet operation is a feature probe, error logging suppressed. - name: mru type: u16 doc: Maximum received IP fragment size. - name: len type: u32 doc: Packet size before truncation. - name: hash type: u64 doc: Packet hash, low 32 bits are skb hash, upper bits are flags. - name: upcall-pid type: u32 doc: Netlink PID to use for upcalls during EXECUTE processing. operations: fixed-header: ovs-header name-prefix: ovs-packet-cmd- list: - name: miss doc: Notify userspace of a flow table miss for a received packet. value: 1 attribute-set: packet event: attributes: &event-attrs - packet - key - userdata - actions - egress-tun-key - mru - len - hash - name: action doc: Notify userspace as requested by an OVS_ACTION_ATTR_USERSPACE action. value: 2 attribute-set: packet event: attributes: *event-attrs - name: execute doc: Apply actions to a packet. value: 3 attribute-set: packet do: request: attributes: - packet - key - actions - probe - mru - hash - upcall-pid |