Documentation/netlink/specs/wireguard.yaml

Source file repositories/reference/linux-study-clean/Documentation/netlink/specs/wireguard.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/netlink/specs/wireguard.yaml
Extension
.yaml
Size
8664 bytes
Lines
299
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.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
---
name: wireguard
protocol: genetlink-legacy

doc: |
  **Netlink protocol to control WireGuard network devices.**

  The below enums and macros are for interfacing with WireGuard, using generic
  netlink, with family ``WG_GENL_NAME`` and version ``WG_GENL_VERSION``. It
  defines two commands: get and set. Note that while they share many common
  attributes, these two commands actually accept a slightly different set of
  inputs and outputs. These differences are noted under the individual
  attributes.
c-family-name: wg-genl-name
c-version-name: wg-genl-version
max-by-define: true

definitions:
  -
    name-prefix: wg-
    name: key-len
    type: const
    value: 32
  -
    name: --kernel-timespec
    type: struct
    header: linux/time_types.h
    members:
      -
        name: sec
        type: u64
        doc: Number of seconds, since UNIX epoch.
      -
        name: nsec
        type: u64
        doc: Number of nanoseconds, after the second began.
  -
    name: wgdevice-flags
    name-prefix: wgdevice-f-
    enum-name: wgdevice-flag
    type: flags
    entries:
      - replace-peers
  -
    name: wgpeer-flags
    name-prefix: wgpeer-f-
    enum-name: wgpeer-flag
    type: flags
    entries:
      - remove-me
      - replace-allowedips
      - update-only
  -
    name: wgallowedip-flags
    name-prefix: wgallowedip-f-
    enum-name: wgallowedip-flag
    type: flags
    entries:
      - remove-me

attribute-sets:
  -
    name: wgdevice
    enum-name: wgdevice-attribute
    name-prefix: wgdevice-a-
    attr-cnt-name: --wgdevice-a-last
    attributes:
      -
        name: unspec

Annotation

Implementation Notes