Documentation/netlink/specs/ovs_packet.yaml
Source file repositories/reference/linux-study-clean/Documentation/netlink/specs/ovs_packet.yaml
File Facts
- System
- Linux kernel
- Corpus path
Documentation/netlink/specs/ovs_packet.yaml- Extension
.yaml- Size
- 3356 bytes
- Lines
- 131
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: configuration, schema, or hardware description
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
# 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
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.