400 Commits
Author SHA1 Message Date
CKI KWF Bot 69e8c50312 Merge: DPLL: Add support for NCO (numerically controlled oscillator)
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/2936

JIRA: https://redhat.atlassian.net/browse/RHEL-176048

 * b1d0c412088e dpll: add STATE_CONNECTED_OVERRIDE pin capability [net-next]
 * 0cc8348a9786 dpll: add DPLL_PIN_TYPE_INT_NCO pin type [net-next]
 * 2b11bde391c4 dpll: zl3073x: use per-operation poll timeouts [net-next]
 * 21460118d71b dpll: zl3073x: add per-DPLL serialization lock [net-next]
 * 3553976ffe2f dpll: zl3073x: add NCO virtual input pin [net-next]

Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
[^footer]: Created 2026-07-16 12:53 UTC by backporter - [KWF FAQ](https://red.ht/kernel_workflow_doc) - [Slack #team-kernel-workflow](https://redhat-internal.slack.com/archives/C04LRUPMJQ5) - [Source](https://gitlab.com/cki-project/kernel-workflow/-/blob/main/webhook/utils/backporter.py) - [Documentation](https://gitlab.com/cki-project/kernel-workflow/-/blob/main/docs/README.backporter.md) - [Report an issue](https://redhat.atlassian.net/secure/CreateIssueDetails!init.jspa?pid=11779&issuetype=10016&priority=10001&summary=backporter+webhook+issue&components=66291) [^footer]

Approved-by: Ivan Vecera <ivecera@redhat.com>
Approved-by: Michal Schmidt <mschmidt@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-08-13 08:29:46 +00:00
CKI KWF Bot 2d4fe3e1e9 Merge: CNB103: devlink: update devlink to the v7.1
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/2822

JIRA: https://redhat.atlassian.net/browse/RHEL-179081
Depends: !2273

Devlink update to version v7.1

Signed-off-by: Petr Oros <poros@redhat.com>

Approved-by: Tony Camuso <tcamuso@redhat.com>
Approved-by: Eric Chanudet <echanude@redhat.com>
Approved-by: Ivan Vecera <ivecera@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-08-13 08:29:40 +00:00
CKI Backport Bot e0aec1683d dpll: add DPLL_PIN_TYPE_INT_NCO pin type
JIRA: https://redhat.atlassian.net/browse/RHEL-176048
Backported from tree(s): net-next

dpll: add DPLL_PIN_TYPE_INT_NCO pin type

Add DPLL_PIN_TYPE_INT_NCO pin type for virtual pins representing
the NCO mode of a DPLL. When connected as a DPLL input, the DPLL
enters NCO mode where the output frequency is adjusted by the host
via the PTP clock interface.

Update the fractional-frequency-offset and fractional-frequency-
offset-ppt attribute documentation to note that for INT_NCO pins
these attributes represent the DPLL's current output frequency
offset from its nominal frequency.

Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Link: https://patch.msgid.link/20260630125536.720717-3-ivecera@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
(cherry picked from commit 0cc8348a9786727e3622f833f442e8b45e2d363b)
Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
2026-07-16 12:53:12 +00:00
CKI Backport Bot 093db22b52 dpll: add STATE_CONNECTED_OVERRIDE pin capability
JIRA: https://redhat.atlassian.net/browse/RHEL-176048
Backported from tree(s): net-next

dpll: add STATE_CONNECTED_OVERRIDE pin capability

Add DPLL_PIN_CAPABILITIES_STATE_CONNECTED_OVERRIDE capability flag
that indicates a pin can be set to connected regardless of the
current DPLL device mode, overriding the active input selection.
This is useful for automatic-only DPLL devices where mode cannot
be switched to manual, allowing userspace to directly connect
such pin from automatic mode.

The capability requires STATE_CAN_CHANGE to be set as well;
dpll_pin_register() warns if a driver violates this.

Document the new capability in the Pin selection section of
Documentation/driver-api/dpll.rst.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Link: https://patch.msgid.link/20260630125536.720717-2-ivecera@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
(cherry picked from commit b1d0c412088e3908821ef2ec52e2c0e5e7f5a535)
Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
2026-07-16 12:53:10 +00:00
CKI KWF Bot 893250a951 Merge: [10.3] tools: ynl: update to latest upstream
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/2273

JIRA: https://redhat.atlassian.net/browse/RHEL-156508

Rebase ynl tools and netlink/spec to latest upstream

Signed-off-by: Hangbin Liu <haliu@redhat.com>

Approved-by: Davide Caratti <dcaratti@redhat.com>
Approved-by: Guillaume Nault <gnault@redhat.com>
Approved-by: Petr Oros <poros@redhat.com>
Approved-by: Ivan Vecera <ivecera@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-07-15 15:02:35 +00:00
Alexandra Hájková d9f3632422 Merge: dpll: sync with upstream v7.1+
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/2783

JIRA: https://redhat.atlassian.net/browse/RHEL-186631

Update the dpll subsystem to current upstream, v7.1 and beyond (Linus's master as of 2026-06-22).

This MR partially backports from the treewide kmalloc_obj conversions, but only the dpll parts. So the following fixes are irrelevant:

Omitted-fix: 2d2b5507e598 ("btrfs: replace kcalloc() calls to kzalloc_objs()")
Omitted-fix: 405ca72dc589 ("landlock: Fix formatting")
Omitted-fix: 4c0134639694 ("KVM: PPC: e500: Fix build error due to using kmalloc_obj() with wrong type")
Omitted-fix: 5548dd7fa845 ("tools/testing: fix testing/vma and testing/radix-tree build")
Omitted-fix: 795469820c63 ("kcsan: test: Adjust "expect" allocation type for kmalloc_obj")
Omitted-fix: 94ff7c59cdfd ("RDMA: Complete k[z|m|c]alloc-to-k[z|m]alloc_obj conversion")
Omitted-fix: 96a7b71c4438 ("ubd: Use pointer-to-pointers for io_thread_req arrays")
Omitted-fix: fd1d6b9d13f3 ("xz: fix arm fdt compile error for kmalloc replacement")
Omitted-fix: 9f4ab0787e7b ("btrfs: do more kmalloc_obj()/kmalloc_objs() conversions")
Omitted-fix: 37f1f51fba1a ("btrfs: convert kmalloc_array to kmalloc_objs in btrfs_calc_avail_data_space()")
Omitted-fix: 4c6d43db2a4d ("net: dst_metadata: fix false-positive memcpy overflow in tun_dst_unclone")

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>

Approved-by: Ivan Vecera <ivecera@redhat.com>
Approved-by: Petr Oros <poros@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: Alexandra Hájková <ahajkova@redhat.com>
2026-07-14 19:41:15 +02:00
CKI KWF Bot a706757b6f Merge: CNB103: Bridge update to kernel v7.1-rc1.
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/2571

JIRA: https://redhat.atlassian.net/browse/RHEL-171990

update bridge to upstream kernel v7.1-rc1.

Signed-off-by: Mohammad Heib <mheib@redhat.com>

Approved-by: Michal Schmidt <mschmidt@redhat.com>
Approved-by: Ivan Vecera <ivecera@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-07-07 10:38:43 +00:00
CKI KWF Bot 669d2602a2 Merge: CNB103: Ethtool Update 1.1, update up to kernel v7-rc5.
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/2397

JIRA: https://redhat.atlassian.net/browse/RHEL-167299

Depends: !2364

Update Ethtool kernel to upstream kernel v7-rc5.

Signed-off-by: Mohammad Heib <mheib@redhat.com>

Approved-by: José Ignacio Tornos Martínez <jtornosm@redhat.com>
Approved-by: Ivan Vecera <ivecera@redhat.com>
Approved-by: Kamal Heib <kheib@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-07-07 10:38:39 +00:00
CKI KWF Bot 9f7b3cf855 Merge: [FEAT] CNB103: net: add basic PSP encryption for TCP connections
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/2768

JIRA: https://redhat.atlassian.net/browse/RHEL-185448

This backports PSP security protocol but does not enable it in RHEL. For now this is included to ease NIC driver backports.

Commits:
```
a9266275fd7b ("psp: add documentation")
00c94ca2b99e ("psp: base PSP device support")
ed8a507b7483 ("net: modify core data structures for PSP datapath support")
659a2899a57d ("tcp: add datapath logic for PSP with inline key exchange")
117f02a49b77 ("psp: add op for rotation of device key")
8c511c1df380 ("net: move sk_validate_xmit_skb() to net/core/dev.c")
0917bb139eed ("net: tcp: allow tcp_timewait_sock to validate skbs before handing to device")
6b46ca260e22 ("net: psp: add socket security association code")
e97269257fe4 ("net: psp: update the TCP MSS to reflect PSP packet overhead")
e78851058b35 ("psp: track generations of device key")
fc724515741a ("psp: provide encapsulation helper for drivers")
0eddb8023cee ("psp: provide decapsulation and receive helper for drivers")
672beab06656 ("psp: rename our psp_dev_destroy()")
17f1b7711e81 ("psp: do not use sk_dst_get() in psp_dev_get_for_sock()")
7a0f94361ffd ("net: psp: don't assume reply skbs will have a socket")
dae4a92399fa ("psp: report basic stats from the core")
f05d26198cf2 ("psp: add stats from psp spec to driver facing api")
f8d2f8205be8 ("psp: make struct sock argument const in psp_sk_get_assoc_rcu()")
803cdb6ddca3 ("psp: fix preemptive inet_twsk() cast in psp_sk_get_assoc_rcu()")
28bb24dadd0e ("psp: don't use flags for checking sk_state")
85c7333c35f2 ("psp: clarify checksum behavior of psp_dev_rcv()")
6c85fb5486c5 ("psp: Expand PSP acronym in INET_PSP help description")
6e980df45216 ("net: psp: select CONFIG_SKB_EXTENSIONS")
f891007ab1c7 ("psp: use sk->sk_hash in psp_write_headers()")
c8eee00c0fef ("psp: add missing device stats to get-stats reply attributes")
b89769f936a8 ("net: psp: check for device unregister when creating assoc")
b718342a7fba ("net: psp: require admin permission for dev-set and key-rotate")
30cb24f97d44 ("psp: strip variable-length PSP header in psp_dev_rcv()")
```

Signed-off-by: Ivan Vecera <ivecera@redhat.com>

Approved-by: Tony Camuso <tcamuso@redhat.com>
Approved-by: Jarod Wilson <jarod@redhat.com>
Approved-by: Vladislav Dronov <vdronov@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-07-02 17:35:06 +00:00
Petr Oros c7fba37fd3 devlink: Implement devlink param multi attribute nested data values
JIRA: https://issues.redhat.com/browse/RHEL-179081

Upstream commit(s):
commit eb7b4d458e0d6833ffbb717edf4282f5ca6a7b57
Author: Saeed Mahameed <saeedm@nvidia.com>
Date:   Tue Jun 9 09:34:48 2026 +0530

    devlink: Implement devlink param multi attribute nested data values

    Devlink param value attribute is not defined since devlink is handling
    the value validating and parsing internally, this allows us to implement
    multi attribute values without breaking any policies.

    Devlink param multi-attribute values are considered to be dynamically
    sized arrays of u64 values, by introducing a new devlink param type
    DEVLINK_PARAM_TYPE_U64_ARRAY, driver and user space can set a variable
    count of u64 values into the DEVLINK_ATTR_PARAM_VALUE_DATA attribute.

    Implement get/set parsing and add to the internal value structure passed
    to drivers.

    This is useful for devices that need to configure a list of values for
    a specific configuration.

    example:
    $ devlink dev param show pci/... name multi-value-param
    name multi-value-param type driver-specific
    values:
    cmode permanent value: 0,1,2,3,4,5,6,7

    $ devlink dev param set pci/... name multi-value-param \
                    value 4,5,6,7,0,1,2,3 cmode permanent

    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
    Link: https://patch.msgid.link/20260609040453.711932-5-rkannoth@marvell.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2026-06-29 09:11:50 +02:00
Petr Oros f6151dee7c devlink: Add resource scope filtering to resource dump
JIRA: https://issues.redhat.com/browse/RHEL-179081

Upstream commit(s):
commit 1bc45341a6ea4009ee9f2fbca9096b33a9ef71a2
Author: Or Har-Toov <ohartoov@nvidia.com>
Date:   Tue Apr 7 22:41:05 2026 +0300

    devlink: Add resource scope filtering to resource dump

    Allow filtering the resource dump to device-level or port-level
    resources using the 'scope' option.

    Example - dump only device-level resources:

      $ devlink resource show scope dev
      pci/0000:03:00.0:
        name max_local_SFs size 128 unit entry dpipe_tables none
        name max_external_SFs size 128 unit entry dpipe_tables none
      pci/0000:03:00.1:
        name max_local_SFs size 128 unit entry dpipe_tables none
        name max_external_SFs size 128 unit entry dpipe_tables none

    Example - dump only port-level resources:

      $ devlink resource show scope port
      pci/0000:03:00.0/196608:
        name max_SFs size 128 unit entry dpipe_tables none
      pci/0000:03:00.0/196609:
        name max_SFs size 128 unit entry dpipe_tables none
      pci/0000:03:00.1/196708:
        name max_SFs size 128 unit entry dpipe_tables none
      pci/0000:03:00.1/196709:
        name max_SFs size 128 unit entry dpipe_tables none

    Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
    Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Link: https://patch.msgid.link/20260407194107.148063-11-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2026-06-29 09:11:50 +02:00
Petr Oros add71cd9fe devlink: Add port-specific option to resource dump doit
JIRA: https://issues.redhat.com/browse/RHEL-179081

Upstream commit(s):
commit 7511ff14f30d264691ec493b09111404aed4aaf4
Author: Or Har-Toov <ohartoov@nvidia.com>
Date:   Tue Apr 7 22:41:02 2026 +0300

    devlink: Add port-specific option to resource dump doit

    Allow querying devlink resources per-port via the resource-dump doit
    handler. When a port-index attribute is provided, only that port's
    resources are returned. When no port-index is given, only device-level
    resources are returned, preserving backward compatibility.

    Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
    Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Link: https://patch.msgid.link/20260407194107.148063-8-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2026-06-29 09:11:49 +02:00
Petr Oros 0d496770b0 devlink: Add dump support for device-level resources
JIRA: https://issues.redhat.com/browse/RHEL-179081

Upstream commit(s):
commit 11636b550eea9e480fe4ceec8ab7bd8f24b363da
Author: Or Har-Toov <ohartoov@nvidia.com>
Date:   Tue Apr 7 22:41:00 2026 +0300

    devlink: Add dump support for device-level resources

    Add dumpit handler for resource-dump command to iterate over all devlink
    devices and show their resources.

      $ devlink resource show
      pci/0000:08:00.0:
        name local_max_SFs size 508 unit entry
        name external_max_SFs size 508 unit entry
      pci/0000:08:00.1:
        name local_max_SFs size 508 unit entry
        name external_max_SFs size 508 unit entry

    Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
    Reviewed-by: Shay Drori <shayd@nvidia.com>
    Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Link: https://patch.msgid.link/20260407194107.148063-6-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2026-06-29 09:11:49 +02:00
Petr Oros cf46bc1aef devlink: allow to use devlink index as a command handle
JIRA: https://issues.redhat.com/browse/RHEL-179081

Upstream commit(s):
commit d85a8af57da871964c60eb5b9ab121a6c31e3bd3
Author: Jiri Pirko <jiri@resnulli.us>
Date:   Thu Mar 12 11:03:58 2026 +0100

    devlink: allow to use devlink index as a command handle

    Currently devlink instances are addressed bus_name/dev_name tuple.
    Allow the newly introduced DEVLINK_ATTR_INDEX to be used as
    an alternative handle for all devlink commands.

    When DEVLINK_ATTR_INDEX is present in the request, use it for a direct
    xarray lookup instead of iterating over all instances comparing
    bus_name/dev_name strings.

    Signed-off-by: Jiri Pirko <jiri@nvidia.com>
    Link: https://patch.msgid.link/20260312100407.551173-5-jiri@resnulli.us
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2026-06-29 09:11:48 +02:00
Petr Oros ac53893148 devlink: expose devlink instance index over netlink
JIRA: https://issues.redhat.com/browse/RHEL-179081

Upstream commit(s):
commit 68deca0f0f4bba8c5278340c7c142500171d5f9b
Author: Jiri Pirko <jiri@resnulli.us>
Date:   Thu Mar 12 11:03:55 2026 +0100

    devlink: expose devlink instance index over netlink

    Each devlink instance has an internally assigned index used for xarray
    storage. Expose it as a new DEVLINK_ATTR_INDEX uint attribute alongside
    the existing bus_name and dev_name handle.

    Signed-off-by: Jiri Pirko <jiri@nvidia.com>
    Link: https://patch.msgid.link/20260312100407.551173-2-jiri@resnulli.us
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2026-06-29 09:11:48 +02:00
Petr Oros 70d1f9986a devlink: support default values for param-get and param-set
JIRA: https://issues.redhat.com/browse/RHEL-179081

Conflicts:
- include/net/devlink.h: ->get_default()/->reset_default() added
  as direct members; RH_KABI_RESERVE() padding kept (y-stream).

Upstream commit(s):
commit 2a367002ed321e884276c3d7232a362ddd1bf7d6
Author: Daniel Zahka <daniel.zahka@gmail.com>
Date:   Tue Nov 18 18:50:33 2025 -0800

    devlink: support default values for param-get and param-set

    Support querying and resetting to default param values.

    Introduce two new devlink netlink attrs:
    DEVLINK_ATTR_PARAM_VALUE_DEFAULT and
    DEVLINK_ATTR_PARAM_RESET_DEFAULT. The former is used to contain an
    optional parameter value inside of the param_value nested
    attribute. The latter is used in param-set requests from userspace to
    indicate that the driver should reset the param to its default value.

    To implement this, two new functions are added to the devlink driver
    api: devlink_param::get_default() and
    devlink_param::reset_default(). These callbacks allow drivers to
    implement default param actions for runtime and permanent cmodes. For
    driverinit params, the core latches the last value set by a driver via
    devl_param_driverinit_value_set(), and uses that as the default value
    for a param.

    Because default parameter values are optional, it would be impossible
    to discern whether or not a param of type bool has default value of
    false or not provided if the default value is encoded using a netlink
    flag type. For this reason, when a DEVLINK_PARAM_TYPE_BOOL has an
    associated default value, the default value is encoded using a u8
    type.

    Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com>
    Link: https://patch.msgid.link/20251119025038.651131-4-daniel.zahka@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2026-06-29 09:11:47 +02:00
CKI KWF Bot 4d463cb6cc Merge: Update NFS/NFSD/LOCKD/SUNRPC RHEL10.3 to 7.1
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/2625

Update NFS/NFSD/LOCKD/SUNRPC RHEL10.3 to 7.1

JIRA: https://issues.redhat.com/browse/RHEL-171581
Omitted-fix: 8c6cccefb33e ("ARM: shmobile: defconfig: Refresh for v7.0-rc1")
Omitted-fix: 48db892356d6 ("NFSD: Defer sub-object cleanup in export put callbacks")

Signed-off-by: Olga Kornievskaia <okorniev@redhat.com>

Approved-by: Scott Mayhew <smayhew@redhat.com>
Approved-by: Andrea Arcangeli <aarcange@redhat.com>
Approved-by: Roberto Bergantinos Corpas <rbergant@redhat.com>
Approved-by: Xin Long <lxin@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-06-23 14:31:59 +00:00
Michal Schmidt 07f57ff127 dpll: add generic DPLL type
JIRA: https://redhat.atlassian.net/browse/RHEL-186631

commit 9375487c0c78817b3651e2621d648c6198757c41
Author: Grzegorz Nitka <grzegorz.nitka@intel.com>
Date:   Sun Jun 7 20:30:33 2026 +0200

    dpll: add generic DPLL type

    Add DPLL_TYPE_GENERIC to represent DPLL devices which do not fit the
    existing PPS or EEC classes.

    The UAPI type is intentionally generic. During netdev discussion,
    maintainers pointed out that introducing identifiers tied to a specific
    placement or single design does not scale across ASICs and vendors.
    The role of a DPLL is already inferable from the spawning driver,
    bus device, and pin topology, without encoding additional
    purpose-specific taxonomy in the type name.

    Using a generic type keeps the UAPI extensible and avoids premature
    naming that may become incorrect as new hardware topologies are
    exposed through the DPLL subsystem.

    Expose the new type through UAPI and netlink specification as "generic".

    Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
    Link: https://patch.msgid.link/20260607183045.1213735-2-grzegorz.nitka@intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
2026-06-23 12:13:00 +02:00
Ivan Vecera ed57fd2bc6 net: psp: require admin permission for dev-set and key-rotate
JIRA: https://redhat.atlassian.net/browse/RHEL-185448

commit b718342a7fbaa2dff5fefc31988c07af8c6cbc21
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Mon Apr 27 12:58:56 2026 -0700

    net: psp: require admin permission for dev-set and key-rotate

    The dev-set and key-rotate netlink operations modify shared device
    state (PSP version configuration and cryptographic key material,
    respectively) but do not require CAP_NET_ADMIN. The only access
    control is psp_dev_check_access() which merely verifies netns
    membership.

    Fixes: 00c94ca2b99e ("psp: base PSP device support")
    Reviewed-by: Daniel Zahka <daniel.zahka@gmail.com>
    Reviewed-by: Willem de Bruijn <willemb@google.com>
    Link: https://patch.msgid.link/20260427195856.401223-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

(cherry picked from commit b718342a7fbaa2dff5fefc31988c07af8c6cbc21)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-06-19 13:01:42 +02:00
Ivan Vecera 4425dd7f06 psp: add missing device stats to get-stats reply attributes
JIRA: https://redhat.atlassian.net/browse/RHEL-185448

commit c8eee00c0fef5f709b9114be432d7b3afebb4c0a
Author: Daniel Zahka <daniel.zahka@gmail.com>
Date:   Fri Apr 3 03:26:31 2026 -0700

    psp: add missing device stats to get-stats reply attributes

    Commit f05d26198cf2 ("psp: add stats from psp spec to driver facing
    api") added device statistics (rx-packets, rx-bytes, rx-auth-fail,
    rx-error, rx-bad, tx-packets, tx-bytes, tx-error) to the stats
    attribute-set but did not add them to the get-stats operation reply
    attributes. The kernel reports these attributes in the reply, so
    list them in the spec to match.

    Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com>
    Acked-by: Willem de Bruijn <willemb@google.com>
    Link: https://patch.msgid.link/20260403-psp-yaml-fix-v1-1-dacee0663903@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

(cherry picked from commit c8eee00c0fef5f709b9114be432d7b3afebb4c0a)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-06-19 13:01:42 +02:00
Ivan Vecera 0bebf8521e psp: add stats from psp spec to driver facing api
JIRA: https://redhat.atlassian.net/browse/RHEL-185448

commit f05d26198cf2c71f25f6bbe62ca4481c15543922
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Wed Nov 5 16:26:04 2025 -0800

    psp: add stats from psp spec to driver facing api

    Provide a driver api for reporting device statistics required by the
    "Implementation Requirements" section of the PSP Architecture
    Specification. Use a warning to ensure drivers report stats required
    by the spec.

    Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com>
    Link: https://patch.msgid.link/20251106002608.1578518-4-daniel.zahka@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

(cherry picked from commit f05d26198cf2c71f25f6bbe62ca4481c15543922)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-06-19 12:49:49 +02:00
Ivan Vecera 6d8210c17f psp: report basic stats from the core
JIRA: https://redhat.atlassian.net/browse/RHEL-185448

commit dae4a92399fa8d68aa917db6bb3245f83021e762
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Wed Nov 5 16:26:02 2025 -0800

    psp: report basic stats from the core

    Track and report stats common to all psp devices from the core. A
    'stale-event' is when the core marks the rx state of an active
    psp_assoc as incapable of authenticating psp encapsulated data.

    Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com>
    Link: https://patch.msgid.link/20251106002608.1578518-2-daniel.zahka@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

(cherry picked from commit dae4a92399fa8d68aa917db6bb3245f83021e762)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-06-19 12:49:48 +02:00
Ivan Vecera 0d1d048f03 net: psp: add socket security association code
JIRA: https://redhat.atlassian.net/browse/RHEL-185448

commit 6b46ca260e2290e3453d1355ab5b6d283d73d780
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Tue Sep 16 17:09:35 2025 -0700

    net: psp: add socket security association code

    Add the ability to install PSP Rx and Tx crypto keys on TCP
    connections. Netlink ops are provided for both operations.
    Rx side combines allocating a new Rx key and installing it
    on the socket. Theoretically these are separate actions,
    but in practice they will always be used one after the
    other. We can add distinct "alloc" and "install" ops later.

    Reviewed-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Co-developed-by: Daniel Zahka <daniel.zahka@gmail.com>
    Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://patch.msgid.link/20250917000954.859376-9-daniel.zahka@gmail.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>

(cherry picked from commit 6b46ca260e2290e3453d1355ab5b6d283d73d780)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-06-19 12:13:54 +02:00
Ivan Vecera 543cdfbc5e psp: add op for rotation of device key
JIRA: https://redhat.atlassian.net/browse/RHEL-185448

commit 117f02a49b7719b210d154a0d0e728001bf4af06
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Tue Sep 16 17:09:32 2025 -0700

    psp: add op for rotation of device key

    Rotating the device key is a key part of the PSP protocol design.
    Some external daemon needs to do it once a day, or so.
    Add a netlink op to perform this operation.
    Add a notification group for informing users that key has been
    rotated and they should rekey (next rotation will cut them off).

    Reviewed-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://patch.msgid.link/20250917000954.859376-6-daniel.zahka@gmail.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>

(cherry picked from commit 117f02a49b7719b210d154a0d0e728001bf4af06)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-06-19 12:13:21 +02:00
Ivan Vecera bff4fa0732 psp: base PSP device support
JIRA: https://redhat.atlassian.net/browse/RHEL-185448

commit 00c94ca2b99e6610e483f92e531b319eeaed94aa
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Tue Sep 16 17:09:29 2025 -0700

    psp: base PSP device support

    Add a netlink family for PSP and allow drivers to register support.

    The "PSP device" is its own object. This allows us to perform more
    flexible reference counting / lifetime control than if PSP information
    was part of net_device. In the future we should also be able
    to "delegate" PSP access to software devices, such as *vlan, veth
    or netkit more easily.

    Reviewed-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://patch.msgid.link/20250917000954.859376-3-daniel.zahka@gmail.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>

(cherry picked from commit 00c94ca2b99e6610e483f92e531b319eeaed94aa)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-06-19 11:37:20 +02:00
Olga Kornievskaia 57ff7f7804 net/handshake: Add new parameter 'HANDSHAKE_A_ACCEPT_KEYRING'
JIRA: https://issues.redhat.com/browse/RHEL-171581

commit e22da4685013922ade8e7b5e727ac6804fe5b51e
Author: Hannes Reinecke <hare@kernel.org>
Date:   Tue Jul 1 16:46:57 2025 +0200

    net/handshake: Add new parameter 'HANDSHAKE_A_ACCEPT_KEYRING'

    Add a new netlink parameter 'HANDSHAKE_A_ACCEPT_KEYRING' to provide
    the serial number of the keyring to use.

    Signed-off-by: Hannes Reinecke <hare@kernel.org>
    Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
    Acked-by: Jakub Kicinski <kuba@kernel.org>
    Link: https://patch.msgid.link/20250701144657.104401-1-hare@kernel.org
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>

Signed-off-by: Olga Kornievskaia <okorniev@redhat.com>
2026-06-15 12:56:19 -04:00
Olga Kornievskaia 4e129db350 NFSD: Add a key for signing filehandles
JIRA: https://issues.redhat.com/browse/RHEL-171581

commit 62346217fd722510c3551858ad7d0fcfab8cce7e
Author: Benjamin Coddington <bcodding@hammerspace.com>
Date:   Wed Feb 25 07:51:36 2026 -0500

    NFSD: Add a key for signing filehandles

    A future patch will enable NFSD to sign filehandles by appending a Message
    Authentication Code(MAC).  To do this, NFSD requires a secret 128-bit key
    that can persist across reboots.  A persisted key allows the server to
    accept filehandles after a restart.  Enable NFSD to be configured with this
    key via the netlink interface.

    Link: https://lore.kernel.org/linux-nfs/cover.1772022373.git.bcodding@hammerspace.com
    Signed-off-by: Benjamin Coddington <bcodding@hammerspace.com>
    Reviewed-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

Signed-off-by: Olga Kornievskaia <okorniev@redhat.com>
2026-06-15 12:56:08 -04:00
CKI KWF Bot 68dd47c106 Merge: wireguard: stable backport for 10.3 phase 1
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/2332

JIRA: https://redhat.atlassian.net/browse/RHEL-152735

 * 463deed51796 ipv6: Add sockaddr_inet unified address structure
 * 9203e0a82c0b wireguard: peer: Replace sockaddr with sockaddr_inet
 * 5551d2128470 wireguard: queueing: simplify wg_cpumask_next_online()
 * 5bd8de20770c wireguard: queueing: always return valid online CPU in wg_cpumask_choose_online()
 * e0e1b6db2e4b wireguard: netlink: enable strict genetlink validation
 * aea199fa1571 wireguard: netlink: validate nested arrays in policy
 * 9755f9de8fac wireguard: netlink: use WG_KEY_LEN in policies
 * 73af07d7f2f6 wireguard: netlink: convert to split ops
 * b8bcc17f583b wireguard: netlink: lower .maxattr for WG_CMD_GET_DEVICE
 * 6b0f4ca079db wireguard: netlink: add YNL specification
 * b5c5a82bf5cb wireguard: uapi: move enum wg_cmd
 * 8d974872ab29 wireguard: uapi: move flag enums
 * 88cedad45ba1 wireguard: uapi: generate header with ynl-gen
 * 3fd2f3d2f425 wireguard: netlink: generate netlink code
 * 88df3972c11b wireguard: allowedips: Use kfree_rcu() instead of call_rcu()
 * e4969f48a18a wireguard: allowedips: remove redundant space
 * 51dc5d10069d wireguard: device: use exit_rtnl callback instead of manual rtnl_lock in pre_exit
 * 6c579d79a1a9 wireguard: send: append trailer after expanding head

Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
[^footer]: Created 2026-03-31 09:48 UTC by backporter - [KWF FAQ](https://red.ht/kernel_workflow_doc) - [Slack #team-kernel-workflow](https://redhat-internal.slack.com/archives/C04LRUPMJQ5) - [Source](https://gitlab.com/cki-project/kernel-workflow/-/blob/main/webhook/utils/backporter.py) - [Documentation](https://gitlab.com/cki-project/kernel-workflow/-/blob/main/docs/README.backporter.md) - [Report an issue](https://redhat.atlassian.net/secure/CreateIssueDetails!init.jspa?pid=12334433&issuetype=1&priority=4&summary=backporter+webhook+issue&components=kernel-workflow+/+backporter) [^footer]

Approved-by: Toke Høiland-Jørgensen <toke@redhat.com>
Approved-by: Davide Caratti <dcaratti@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-06-15 08:38:31 +00:00
Olga Kornievskaia 7f67781b34 nfsd: report the requested maximum number of threads instead of number running
JIRA: https://issues.redhat.com/browse/RHEL-171581
Conflicts: context differene due to missing 880d43ca9aa4 ("netlink:
specs: clean up spaces in brackets")

commit 364410170ab33f6e7ef0eb2afb12bf89b0feb3a6
Author: Jeff Layton <jlayton@kernel.org>
Date:   Thu Feb 5 07:59:20 2026 -0500

    nfsd: report the requested maximum number of threads instead of number running

    The current netlink and /proc interfaces deviate from their traditional
    values when dynamic threading is enabled, and there is currently no way
    to know what the current setting is. This patch brings the reporting
    back in line with traditional behavior.

    Make these interfaces report the requested maximum number of threads
    instead of the number currently running. Also, update documentation and
    comments to reflect that this value represents a maximum and not the
    number currently running.

    Fixes: d8316b837c2c ("nfsd: add controls to set the minimum number of threads per pool")
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

Signed-off-by: Olga Kornievskaia <okorniev@redhat.com>
2026-06-11 15:17:59 -04:00
Olga Kornievskaia 9497ebd1ec nfsd: add controls to set the minimum number of threads per pool
JIRA: https://issues.redhat.com/browse/RHEL-171581

commit d8316b837c2ca5f92e781fa1575095c0132ae3c1
Author: Jeff Layton <jlayton@kernel.org>
Date:   Tue Jan 6 13:59:50 2026 -0500

    nfsd: add controls to set the minimum number of threads per pool

    Add a new "min_threads" variable to the nfsd_net, along with the
    corresponding netlink interface, to set that value from userland.
    Pass that value to svc_set_pool_threads() and svc_set_num_threads().

    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

Signed-off-by: Olga Kornievskaia <okorniev@redhat.com>
2026-06-11 15:17:49 -04:00
Davide Caratti c7c46ae5f6 netdev: add io_uring memory provider info
JIRA: https://issues.redhat.com/browse/RHEL-141853
Upstream Status: net-next.git commit dcc0113acd3b77cca3c7e805fffd8ea4c5a675b3

commit dcc0113acd3b77cca3c7e805fffd8ea4c5a675b3
Author: David Wei <dw@davidwei.uk>
Date:   Tue Feb 4 13:56:16 2025 -0800

    netdev: add io_uring memory provider info

    Add a nested attribute for io_uring memory provider info. For now it is
    empty and its presence indicates that a particular page pool or queue
    has an io_uring memory provider attached.

    $ ./cli.py --spec netlink/specs/netdev.yaml --dump page-pool-get
    [{'id': 80,
      'ifindex': 2,
      'inflight': 64,
      'inflight-mem': 262144,
      'napi-id': 525},
     {'id': 79,
      'ifindex': 2,
      'inflight': 320,
      'inflight-mem': 1310720,
      'io_uring': {},
      'napi-id': 525},
    ...

    $ ./cli.py --spec netlink/specs/netdev.yaml --dump queue-get
    [{'id': 0, 'ifindex': 1, 'type': 'rx'},
     {'id': 0, 'ifindex': 1, 'type': 'tx'},
     {'id': 0, 'ifindex': 2, 'napi-id': 513, 'type': 'rx'},
     {'id': 1, 'ifindex': 2, 'napi-id': 514, 'type': 'rx'},
    ...
     {'id': 12, 'ifindex': 2, 'io_uring': {}, 'napi-id': 525, 'type': 'rx'},
    ...

    Reviewed-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Signed-off-by: David Wei <dw@davidwei.uk>
    Link: https://patch.msgid.link/20250204215622.695511-6-dw@davidwei.uk
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Davide Caratti <dcaratti@redhat.com>
2026-06-03 13:01:40 +02:00
Ivan Vecera 071d49d03d dpll: add fractional frequency offset to pin-parent-device
JIRA: https://issues.redhat.com/browse/RHEL-173193

commit 9c11fcb2e9a54d0f1467380831e2e4bb68f7498d
Author: Ivan Vecera <ivecera@redhat.com>
Date:   Mon May 11 17:58:15 2026 +0200

    dpll: add fractional frequency offset to pin-parent-device

    Add both fractional-frequency-offset (PPM) and
    fractional-frequency-offset-ppt (PPT) attributes to the
    pin-parent-device nested attribute set, alongside the existing
    top-level pin attributes. Both carry the same measurement at
    different precisions.

    Introduce enum dpll_ffo_type and struct dpll_ffo_param to
    distinguish FFO contexts: DPLL_FFO_PORT_RXTX_RATE for the RX vs
    TX symbol rate offset reported at the top level, and
    DPLL_FFO_PIN_DEVICE for the pin vs parent DPLL offset reported
    in the pin-parent-device nest.

    Add a supported_ffo bitmask to struct dpll_pin_ops so drivers
    declare which FFO types they support. The core only calls ffo_get
    for types the driver has opted into, eliminating the need for
    per-driver NULL pointer guards. Validate at pin registration time
    that supported_ffo is not set without an ffo_get callback.

    Update mlx5 (DPLL_FFO_PORT_RXTX_RATE) and zl3073x
    (DPLL_FFO_PORT_RXTX_RATE) drivers to use the new API.

    Add documentation for both FFO types to dpll.rst.

    Changes v3 -> v4:
    - Replace dpll=NULL overloading with enum dpll_ffo_type and
      struct dpll_ffo_param (Jakub Kicinski)
    - Add supported_ffo opt-in bitmask in dpll_pin_ops for fail-close
      driver validation (Jakub Kicinski)
    - Add WARN_ON in dpll_pin_register for supported_ffo without
      ffo_get callback

    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Signed-off-by: Ivan Vecera <ivecera@redhat.com>
    Link: https://patch.msgid.link/20260511155816.99936-2-ivecera@redhat.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

(cherry picked from commit 9c11fcb2e9a54d0f1467380831e2e4bb68f7498d)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-05-13 11:50:30 +02:00
Ivan Vecera 05ce58c7fd dpll: add pin operational state
JIRA: https://issues.redhat.com/browse/RHEL-173188

commit 781c8893a5da8522ae4ded93e5ef3adbe9559300
Author: Ivan Vecera <ivecera@redhat.com>
Date:   Tue Apr 28 17:49:06 2026 +0200

    dpll: add pin operational state

    Add pin-operstate enum and operstate_on_dpll_get callback to report
    the actual hardware status of a pin with respect to its parent DPLL
    device. Unlike pin-state (which reflects administrative intent set
    by the user), operstate reflects what the hardware is actually doing.

    Defined operational states:
      - active: pin is qualified and actively used by the DPLL
      - standby: pin is qualified but not actively used by the DPLL
      - no-signal: pin does not have a valid signal
      - qual-failed: pin signal failed qualification

    The operstate is reported inside the pin-parent-device nested
    attribute alongside the existing state and phase-offset attributes.

    Signed-off-by: Ivan Vecera <ivecera@redhat.com>
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
    Reviewed-by: Petr Oros <poros@redhat.com>
    Link: https://patch.msgid.link/20260428154907.2820654-2-ivecera@redhat.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>

(cherry picked from commit 781c8893a5da8522ae4ded93e5ef3adbe9559300)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-05-13 11:47:07 +02:00
Mohammad Heib 3ad53f0758 net: bridge: add stp_mode attribute for STP mode selection
JIRA: https://issues.redhat.com/browse/RHEL-171990

Conflicts:
 Small diff in rt-link.yaml due to missing unrelated code.

commit 54fc83a1728535831df0f251e155d05574918115
Author: Andy Roulin <aroulin@nvidia.com>
Date:   Sun Apr 5 13:52:22 2026 -0700

    net: bridge: add stp_mode attribute for STP mode selection

    The bridge-stp usermode helper is currently restricted to the initial
    network namespace, preventing userspace STP daemons (e.g. mstpd) from
    operating on bridges in other network namespaces. Since commit
    ff62198553 ("bridge: Only call /sbin/bridge-stp for the initial
    network namespace"), bridges in non-init namespaces silently fall
    back to kernel STP with no way to use userspace STP.

    Add a new bridge attribute IFLA_BR_STP_MODE that allows explicit
    per-bridge control over STP mode selection:

      BR_STP_MODE_AUTO (default) - Existing behavior: invoke the
        /sbin/bridge-stp helper in init_net only; fall back to kernel STP
        if it fails or in non-init namespaces.

      BR_STP_MODE_USER - Directly enable userspace STP (BR_USER_STP)
        without invoking the helper. Works in any network namespace.
        Userspace is responsible for ensuring an STP daemon manages the
        bridge.

      BR_STP_MODE_KERNEL - Directly enable kernel STP (BR_KERNEL_STP)
        without invoking the helper.

    The mode can only be changed while STP is disabled, or set to the
    same value (-EBUSY otherwise). IFLA_BR_STP_MODE is processed before
    IFLA_BR_STP_STATE in br_changelink(), so both can be set atomically
    in a single netlink message. The mode can also be changed in the
    same message that disables STP.

    The stp_mode struct field is u8 since all possible values fit, while
    NLA_U32 is used for the netlink attribute since it occupies the same
    space in the netlink message as NLA_U8.

    A new stp_helper_active boolean tracks whether the /sbin/bridge-stp
    helper was invoked during br_stp_start(), so that br_stp_stop() only
    calls the helper for stop when it was called for start. This avoids
    calling the helper asymmetrically when stp_mode changes between
    start and stop.

    Suggested-by: Ido Schimmel <idosch@nvidia.com>
    Assisted-by: Claude:claude-opus-4-6
    Reviewed-by: Ido Schimmel <idosch@nvidia.com>
    Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>
    Signed-off-by: Andy Roulin <aroulin@nvidia.com>
    Link: https://patch.msgid.link/20260405205224.3163000-2-aroulin@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Mohammad Heib <mheib@redhat.com>
2026-05-12 11:15:23 +03:00
Ivan Vecera cf443396fb dpll: add frequency monitoring to netlink spec
JIRA: https://issues.redhat.com/browse/RHEL-165161

commit 3fdea79c09d169b6ea172b8d36232c3773f39973
Author: Ivan Vecera <ivecera@redhat.com>
Date:   Thu Apr 2 20:40:55 2026 +0200

    dpll: add frequency monitoring to netlink spec

    Add DPLL_A_FREQUENCY_MONITOR device attribute to allow control over
    the frequency monitor feature. The attribute uses the existing
    dpll_feature_state enum (enable/disable) and is present in both
    device-get reply and device-set request.

    Add DPLL_A_PIN_MEASURED_FREQUENCY pin attribute to expose the measured
    input frequency in millihertz (mHz). The attribute is present in the
    pin-get reply. Add DPLL_PIN_MEASURED_FREQUENCY_DIVIDER constant to
    allow userspace to extract integer and fractional parts.

    Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
    Signed-off-by: Ivan Vecera <ivecera@redhat.com>
    Link: https://patch.msgid.link/20260402184057.1890514-2-ivecera@redhat.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

(cherry picked from commit 3fdea79c09d169b6ea172b8d36232c3773f39973)
Assisted-by: Patchpal
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2026-04-29 14:51:43 +02:00
Mohammad Heib ea9a6cdb9f net: ethtool: add ethtool COALESCE_RX_CQE_FRAMES/NSECS
JIRA: https://issues.redhat.com/browse/RHEL-167299

commit dc3d720e12f602059490c1ab2bfee84a7465998f
Author: Haiyang Zhang <haiyangz@microsoft.com>
Date:   Tue Mar 17 12:18:05 2026 -0700

    net: ethtool: add ethtool COALESCE_RX_CQE_FRAMES/NSECS

    Add two parameters for drivers supporting Rx CQE coalescing /
    descriptor writeback.

    ETHTOOL_A_COALESCE_RX_CQE_FRAMES:
    Maximum number of frames that can be coalesced into a CQE or
    writeback.

    ETHTOOL_A_COALESCE_RX_CQE_NSECS:
    Max time in nanoseconds after the first packet arrival in a
    coalesced CQE or writeback to be sent.

    Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
    Link: https://patch.msgid.link/20260317191826.1346111-2-haiyangz@linux.microsoft.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Mohammad Heib <mheib@redhat.com>
2026-04-14 15:49:37 +03:00
Mohammad Heib a774b76837 ynl: ethtool: remove duplicated unspec entry
JIRA: https://issues.redhat.com/browse/RHEL-167299

commit 7c52f407f28d2e3746a931f88869b0169a09ed6a
Author: Hangbin Liu <liuhangbin@gmail.com>
Date:   Wed Mar 11 11:22:29 2026 +0800

    ynl: ethtool: remove duplicated unspec entry

    There is a duplicated unspec entry. Remove it.
    No user impact expected, found by inspection.

    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Link: https://patch.msgid.link/20260311-b4-drop_dup_unspec-v1-1-e0dfa47b5981@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Mohammad Heib <mheib@redhat.com>
2026-04-14 15:49:37 +03:00
Mohammad Heib b74fab123a net: ethtool: Track pause storm events
JIRA: https://issues.redhat.com/browse/RHEL-167299

commit cc39325f927850473d3a84b029ae6f9b508e9bd1
Author: Mohsin Bashir <mohsin.bashr@gmail.com>
Date:   Mon Mar 2 15:01:45 2026 -0800

    net: ethtool: Track pause storm events

    With TX pause enabled, if a device is unable to pass packets up to the
    stack (e.g., CPU is hanged), the device can cause pause storm. Given
    that devices can have native support to protect the neighbor from such
    flooding, such events need some tracking. This support is to track TX
    pause storm events for better observability.

    Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Mohsin Bashir <mohsin.bashr@gmail.com>
    Link: https://patch.msgid.link/20260302230149.1580195-2-mohsin.bashr@gmail.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>

Signed-off-by: Mohammad Heib <mheib@redhat.com>
2026-04-14 15:49:37 +03:00
Mohammad Heib 3af71d8a99 ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access
JIRA: https://issues.redhat.com/browse/RHEL-167299

Conflicts:
 Code diff in ethtool.yaml and ethtool_netlink_generated.h due to a
 missing unrelated commit:
  - fc0e6db30941 ("net: pse-pd: Add support for reporting events")

commit e6e93fb01302e9b7a15d17f3b8a00eff8a601654
Author: Oleksij Rempel <o.rempel@pengutronix.de>
Date:   Mon Oct 27 13:27:59 2025 +0100

    ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access

    Introduce the userspace entry point for PHY MSE diagnostics via
    ethtool netlink. This exposes the core API added previously and
    returns both capability information and one or more snapshots.

    Userspace sends ETHTOOL_MSG_MSE_GET. The reply carries:
    - ETHTOOL_A_MSE_CAPABILITIES: scale limits and timing information
    - ETHTOOL_A_MSE_CHANNEL_* nests: one or more snapshots (per-channel
      if available, otherwise WORST, otherwise LINK)

    Link down returns -ENETDOWN.

    Changes:
      - YAML: add attribute sets (mse, mse-capabilities, mse-snapshot)
        and the mse-get operation
      - UAPI (generated): add ETHTOOL_A_MSE_* enums and message IDs,
        ETHTOOL_MSG_MSE_GET/REPLY
      - ethtool core: add net/ethtool/mse.c implementing the request,
        register genl op, and hook into ethnl dispatch
      - docs: document MSE_GET in ethtool-netlink.rst

    The include/uapi/linux/ethtool_netlink_generated.h is generated
    from Documentation/netlink/specs/ethtool.yaml.

    Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
    Link: https://patch.msgid.link/20251027122801.982364-3-o.rempel@pengutronix.de
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Mohammad Heib <mheib@redhat.com>
2026-04-14 15:49:36 +03:00
CKI Backport Bot e3cfa85696 wireguard: netlink: add YNL specification
JIRA: https://redhat.atlassian.net/browse/RHEL-152735

commit 6b0f4ca079dbe6ae4aa57e529d67c7dc00d63577
Author: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Date:   Wed Nov 26 17:35:37 2025 +0000

    wireguard: netlink: add YNL specification

    This patch adds a near[1] complete YNL specification for WireGuard,
    documenting the protocol in a machine-readable format, rather than
    comments in wireguard.h, and eases usage from C and non-C programming
    languages alike.

    The generated C library will be featured in a later patch, so in
    this patch I will use the in-kernel python client for examples.

    This makes the documentation in the UAPI header redundant, it is
    therefore removed. The in-line documentation in the spec is based
    on the existing comment in wireguard.h, and once released it will
    be available in the kernel documentation at:
      https://docs.kernel.org/netlink/specs/wireguard.html
      (until then run: make htmldocs)

    Generate wireguard.rst from this spec:
    $ make -C tools/net/ynl/generated/ wireguard.rst

    Query wireguard interface through pyynl:
    $ sudo ./tools/net/ynl/pyynl/cli.py --family wireguard \
                                        --dump get-device \
                                        --json '{"ifindex":3}'
    [{'fwmark': 0,
      'ifindex': 3,
      'ifname': 'wg-test',
      'listen-port': 54318,
      'peers': [{0: {'allowedips': [{0: {'cidr-mask': 0,
                                         'family': 2,
                                         'ipaddr': '0.0.0.0'}},
                                    {0: {'cidr-mask': 0,
                                         'family': 10,
                                         'ipaddr': '::'}}],
                     'endpoint': b'[...]',
                     'last-handshake-time': {'nsec': 42, 'sec': 42},
                     'persistent-keepalive-interval': 42,
                     'preshared-key': '[...]',
                     'protocol-version': 1,
                     'public-key': '[...]',
                     'rx-bytes': 42,
                     'tx-bytes': 42}}],
      'private-key': '[...]',
      'public-key': '[...]'}]

    Add another allowed IP prefix:
    $ sudo ./tools/net/ynl/pyynl/cli.py --family wireguard \
      --do set-device --json '{"ifindex":3,"peers":[
        {"public-key":"6a df b1 83 a4 ..","allowedips":[
          {"cidr-mask":0,"family":10,"ipaddr":"::"}]}]}'

    [1] As can be seen above, the "endpoint" is only dumped as binary data,
        as it can't be fully described in YNL. It's either a struct
        sockaddr_in or struct sockaddr_in6 depending on the attribute length.

    Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
    Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
2026-03-31 09:48:22 +00:00
Hangbin Liu a3cec893d7 tools: ynl: add uns-admin-perm to genetlink
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit e5e09233e8a9

commit e5e09233e8a9179b260460fdb28df5c24bcfbed6
Author: Antonio Quartulli <antonio@openvpn.net>
Date:   Wed Mar 4 15:10:09 2026 +0100

    tools: ynl: add uns-admin-perm to genetlink

    GENL_UNS_ADMIN_PERM may be required by protocols using
    the `genetlink` family, however, this flag is currently
    only allowed in `genetlink-legacy`.

    Add it to the list of possible values in genetlink.yaml too.

    Cc: Simon Horman <horms@kernel.org>
    Cc: Donald Hunter <donald.hunter@gmail.com>
    Link: https://github.com/OpenVPN/ovpn-net-next/issues/33
    Suggested-by: Ralf Lici <ralf@mandelbit.com>
    Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
    Link: https://patch.msgid.link/20260304141020.23270-1-antonio@openvpn.net
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:06:01 +08:00
Hangbin Liu 48c279bad9 doc/netlink: nftables: Fill out operation attributes
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit 568b370f128c

commit 568b370f128ce328cf3750eda5a84080043f97d6
Author: Remy D. Farley <one-d-wide@protonmail.com>
Date:   Tue Mar 3 20:00:12 2026 +0000

    doc/netlink: nftables: Fill out operation attributes

    Filled out operation attributes:
    - newtable
    - gettable
    - deltable
    - destroytable
    - newchain
    - getchain
    - delchain
    - destroychain
    - newrule
    - getrule
    - getrule-reset
    - delrule
    - destroyrule
    - newset
    - getset
    - delset
    - destroyset
    - newsetelem
    - getsetelem
    - getsetelem-reset
    - delsetelem
    - destroysetelem
    - getgen
    - newobj
    - getobj
    - delobj
    - destroyobj
    - newflowtable
    - getflowtable
    - delflowtable
    - destroyflowtable

    Signed-off-by: Remy D. Farley <one-d-wide@protonmail.com>
    Link: https://patch.msgid.link/20260303195638.381642-6-one-d-wide@protonmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:06:01 +08:00
Hangbin Liu 9c0018f90c doc/netlink: nftables: Add sub-messages
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit 27c7ee6d26dd

commit 27c7ee6d26ddd1a769bdcfb22862ef443da461e8
Author: Remy D. Farley <one-d-wide@protonmail.com>
Date:   Tue Mar 3 19:59:19 2026 +0000

    doc/netlink: nftables: Add sub-messages

    New sub-messsages:
    - log
    - match
    - numgen
    - range

    Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
    Signed-off-by: Remy D. Farley <one-d-wide@protonmail.com>
    Link: https://patch.msgid.link/20260303195638.381642-5-one-d-wide@protonmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:06:01 +08:00
Hangbin Liu 527701adbf doc/netlink: nftables: Update attribute sets
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit 482da27d5274

commit 482da27d5274dfe5f2828d150981b966b8f9f3b1
Author: Remy D. Farley <one-d-wide@protonmail.com>
Date:   Tue Mar 3 19:58:52 2026 +0000

    doc/netlink: nftables: Update attribute sets

    New attribute sets:
    - log-attrs
    - numgen-attrs
    - range-attrs
    - compat-target-attrs
    - compat-match-attrs
    - compat-attrs

    Added missing attributes:
    - table-attrs (pad, owner)
    - set-attrs (type, count)

    Added missing checks:
    - range-attrs
    - expr-bitwise-attrs
    - compat-target-attrs
    - compat-match-attrs
    - compat-attrs

    Annotated doc comment or associated enum:
    - batch-attrs
    - verdict-attrs
    - expr-payload-attrs

    Fixed byte order:
    - nft-counter-attrs
    - expr-counter-attrs
    - rule-compat-attrs

    Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
    Signed-off-by: Remy D. Farley <one-d-wide@protonmail.com>
    Link: https://patch.msgid.link/20260303195638.381642-4-one-d-wide@protonmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:06:01 +08:00
Hangbin Liu a08bd8ff88 doc/netlink: nftables: Add definitions
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit a3a54ba4ef2b

commit a3a54ba4ef2b2f788c45caf02255efd457fbadd0
Author: Remy D. Farley <one-d-wide@protonmail.com>
Date:   Tue Mar 3 19:58:13 2026 +0000

    doc/netlink: nftables: Add definitions

    New enums/flags:
    - payload-base
    - range-ops
    - registers
    - numgen-types
    - log-level
    - log-flags

    Added missing enumerations:
    - bitwise-ops

    Annotated doc comment or associated enum:
    - bitwise-ops

    Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
    Signed-off-by: Remy D. Farley <one-d-wide@protonmail.com>
    Link: https://patch.msgid.link/20260303195638.381642-3-one-d-wide@protonmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:06:01 +08:00
Hangbin Liu c14ad96749 doc/netlink: netlink-raw: Add max check
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit bf5a54bc0e3d

commit bf5a54bc0e3d8962474fcd611f1266eba036232f
Author: Remy D. Farley <one-d-wide@protonmail.com>
Date:   Tue Mar 3 19:57:41 2026 +0000

    doc/netlink: netlink-raw: Add max check

    Add definitions for max check and len-or-limit type, the same as in other
    specifications.

    Suggested-by: Donald Hunter <donald.hunter@gmail.com>
    Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
    Signed-off-by: Remy D. Farley <one-d-wide@protonmail.com>
    Link: https://patch.msgid.link/20260303195638.381642-2-one-d-wide@protonmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:06:00 +08:00
Hangbin Liu 2ebaf95fac netlink: specs: netdev: clarify the page pool API a little
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit 86c22d475cbc

commit 86c22d475cbca80532da33ed5df73e6814d7a632
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Sun Jan 4 08:52:32 2026 -0800

    netlink: specs: netdev: clarify the page pool API a little

    The phrasing of the page-pool-get doc is very confusing.
    It's supposed to highlight that support depends on the driver
    doing its part but it sounds like orphaned page pools won't
    be visible.

    The description of the ifindex is completely wrong.
    We move the page pool to loopback and skip the attribute if
    ifindex is loopback.

    Link: https://lore.kernel.org/20260104084347.5de3a537@kernel.org
    Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
    Acked-by: Jesper Dangaard Brouer <hawk@kernel.org>
    Link: https://patch.msgid.link/20260104165232.710460-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:05:59 +08:00
Hangbin Liu 7d7c7d1bfb ynl: fix schema check errors
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit 1adc241f3940

commit 1adc241f3940c172c8c674a62004d3c34b360ab3
Author: Donald Hunter <donald.hunter@gmail.com>
Date:   Thu Nov 27 12:35:02 2025 +0000

    ynl: fix schema check errors

    Fix two schema check errors that have lurked since the attribute name
    validation was made more strict:

    not ok 2 conntrack.yaml schema validation
    'labels mask' does not match '^[0-9a-z-]+$'

    not ok 13 nftables.yaml schema validation
    'set id' does not match '^[0-9a-z-]+$'

    Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
    Link: https://patch.msgid.link/20251127123502.89142-5-donald.hunter@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:05:59 +08:00
Hangbin Liu cb32b58eae ynl: fix a yamllint warning in ethtool spec
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit acce9d7200e2

commit acce9d7200e23de310c2cf8cd5439e86cd9ddc41
Author: Donald Hunter <donald.hunter@gmail.com>
Date:   Thu Nov 27 12:35:01 2025 +0000

    ynl: fix a yamllint warning in ethtool spec

    Fix warning reported by yamllint:

    ../../../Documentation/netlink/specs/ethtool.yaml
      1272:21   warning  truthy value should be one of [false, true]  (truthy)

    Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
    Link: https://patch.msgid.link/20251127123502.89142-4-donald.hunter@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:05:59 +08:00
Hangbin Liu a7e9db46c5 netlink: specs: add big-endian byte-order for u32 IPv4 addresses
JIRA: https://redhat.atlassian.net/browse/RHEL-156508
Upstream Status: net.git commit 651765e8d527

commit 651765e8d527427e1d91fb7f606c5506f437f622
Author: Hangbin Liu <liuhangbin@gmail.com>
Date:   Tue Nov 25 11:20:48 2025 +0000

    netlink: specs: add big-endian byte-order for u32 IPv4 addresses

    The fix commit converted several IPv4 address attributes from binary
    to u32, but forgot to specify byte-order: big-endian. Without this,
    YNL tools display IPv4 addresses incorrectly due to host-endian
    interpretation.

    Add the missing byte-order: big-endian to all affected u32 IPv4
    address fields to ensure correct parsing and display.

    Fixes: 1064d521d177 ("netlink: specs: support ipv4-or-v6 for dual-stack fields")
    Reported-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Reviewed-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
    Link: https://patch.msgid.link/20251125112048.37631-1-liuhangbin@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Hangbin Liu <haliu@redhat.com>
2026-03-18 12:05:59 +08:00