Commit Graph

21 Commits

Author SHA1 Message Date
Petr Oros 0a916efa03 netdev-genl: Hold rcu_read_lock in napi_get
JIRA: https://issues.redhat.com/browse/RHEL-57756

Upstream commit(s):
commit c53bf100f68619acf6cedcf4cf5249a1ca2db0b4
Author: Joe Damato <jdamato@fastly.com>
Date:   Thu Nov 14 17:51:56 2024 +0000

    netdev-genl: Hold rcu_read_lock in napi_get

    Hold rcu_read_lock in netdev_nl_napi_get_doit, which calls napi_by_id
    and is required to be called under rcu_read_lock.

    Cc: stable@vger.kernel.org
    Fixes: 27f91aaf49b3 ("netdev-genl: Add netlink framework functions for napi")
    Signed-off-by: Joe Damato <jdamato@fastly.com>
    Link: https://patch.msgid.link/20241114175157.16604-1-jdamato@fastly.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2024-12-10 10:37:56 +01:00
Petr Oros 1680188a83 netdev-genl: Set extack and fix error on napi-get
JIRA: https://issues.redhat.com/browse/RHEL-57756

Upstream commit(s):
commit 4e3a024b437ec0aee82550cc66a0f4e1a7a88a67
Author: Joe Damato <jdamato@fastly.com>
Date:   Sat Aug 31 12:17:04 2024 +0000

    netdev-genl: Set extack and fix error on napi-get

    In commit 27f91aaf49b3 ("netdev-genl: Add netlink framework functions
    for napi"), when an invalid NAPI ID is specified the return value
    -EINVAL is used and no extack is set.

    Change the return value to -ENOENT and set the extack.

    Before this commit:

    $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \
                              --do napi-get --json='{"id": 451}'
    Netlink error: Invalid argument
    nl_len = 36 (20) nl_flags = 0x100 nl_type = 2
            error: -22

    After this commit:

    $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \
                             --do napi-get --json='{"id": 451}'
    Netlink error: No such file or directory
    nl_len = 44 (28) nl_flags = 0x300 nl_type = 2
            error: -2
            extack: {'bad-attr': '.id'}

    Suggested-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Joe Damato <jdamato@fastly.com>
    Link: https://patch.msgid.link/20240831121707.17562-1-jdamato@fastly.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2024-12-10 10:37:56 +01:00
Petr Oros 3d6b678aef netdev-genl: fix error codes when outputting XDP features
JIRA: https://issues.redhat.com/browse/RHEL-57756

Upstream commit(s):
commit 7ed352d34f1a09a7659c53de07785115587499fe
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Thu Jun 13 14:30:44 2024 -0700

    netdev-genl: fix error codes when outputting XDP features

    -EINVAL will interrupt the dump. The correct error to return
    if we have more data to dump is -EMSGSIZE.

    Discovered by doing:

      for i in `seq 80`; do ip link add type veth; done
      ./cli.py --dbg-small-recv 5300 --spec netdev.yaml --dump dev-get >> /dev/null
      [...]
         nl_len = 64 (48) nl_flags = 0x0 nl_type = 19
         nl_len = 20 (4) nl_flags = 0x2 nl_type = 3
            error: -22

    Fixes: d3d854fd6a1d ("netdev-genl: create a simple family for netdev stuff")
    Reviewed-by: Amritha Nambiar <amritha.nambiar@intel.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://lore.kernel.org/r/20240613213044.3675745-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2024-12-10 10:37:55 +01:00
Petr Oros fb4954c1bf netdev: Add queue stats for TX stop and wake
JIRA: https://issues.redhat.com/browse/RHEL-57756

Upstream commit(s):
commit b56035101e1cdd9c4420ea5da17f09f87fb69285
Author: Daniel Jurgens <danielj@nvidia.com>
Date:   Fri May 10 23:19:26 2024 +0300

    netdev: Add queue stats for TX stop and wake

    TX queue stop and wake are counted by some drivers.
    Support reporting these via netdev-genl queue stats.

    Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Reviewed-by: Jason Xing <kerneljasonxing@gmail.com>
    Link: https://lore.kernel.org/r/20240510201927.1821109-2-danielj@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2024-12-10 10:37:54 +01:00
Petr Oros f0534f7f8f netdev: add queue stats
JIRA: https://issues.redhat.com/browse/RHEL-57756

Upstream commit(s):
commit 0cfe71f45f420e412fda2395807a56c453a6e0b6
Author: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Date:   Fri Apr 26 11:39:27 2024 +0800

    netdev: add queue stats

    These stats are commonly. Support reporting those via netdev-genl queue
    stats.

    name: rx-hw-drops
    name: rx-hw-drop-overruns
    name: rx-csum-unnecessary
    name: rx-csum-none
    name: rx-csum-bad
    name: rx-hw-gro-packets
    name: rx-hw-gro-bytes
    name: rx-hw-gro-wire-packets
    name: rx-hw-gro-wire-bytes
    name: rx-hw-drop-ratelimits
    name: tx-hw-drops
    name: tx-hw-drop-errors
    name: tx-csum-none
    name: tx-needs-csum
    name: tx-hw-gso-packets
    name: tx-hw-gso-bytes
    name: tx-hw-gso-wire-packets
    name: tx-hw-gso-wire-bytes
    name: tx-hw-drop-ratelimits

    Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
    Reviewed-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>

Signed-off-by: Petr Oros <poros@redhat.com>
2024-12-10 10:37:54 +01:00
Petr Oros a113128d04 netdev: support dumping a single netdev in qstats
JIRA: https://issues.redhat.com/browse/RHEL-57756

Upstream commit(s):
commit ce05d0f20368b583b43c99a7c8673e8a7187b76b
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Fri Apr 19 19:35:39 2024 -0700

    netdev: support dumping a single netdev in qstats

    Having to filter the right ifindex in the tests is a bit tedious.
    Add support for dumping qstats for a single ifindex.

    Reviewed-by: David Ahern <dsahern@kernel.org>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://lore.kernel.org/r/20240420023543.3300306-2-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2024-12-10 10:37:53 +01:00
Petr Oros 9cbade667f netdev: let netlink core handle -EMSGSIZE errors
JIRA: https://issues.redhat.com/browse/RHEL-57755

Upstream commit(s):
commit 0b11b1c5c320555483e8a94c44549db24c289987
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Sat Mar 2 21:24:07 2024 -0800

    netdev: let netlink core handle -EMSGSIZE errors

    Previous change added -EMSGSIZE handling to af_netlink, we don't
    have to hide these errors any longer.

    Theoretically the error handling changes from:
     if (err == -EMSGSIZE)
    to
     if (err == -EMSGSIZE && skb->len)

    everywhere, but in practice it doesn't matter.
    All messages fit into NLMSG_GOODSIZE, so overflow of an empty
    skb cannot happen.

    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Reviewed-by: Ido Schimmel <idosch@nvidia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Petr Oros <poros@redhat.com>
2024-11-20 10:13:44 +01:00
CKI Backport Bot c9a1aead38 netdev: add queue stat for alloc failures
JIRA: https://issues.redhat.com/browse/RHEL-57771

commit 92f8b1f5ca0f157f564e75cef4c63641c172e0f1
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Wed Mar 6 11:55:08 2024 -0800

    netdev: add queue stat for alloc failures

    Rx alloc failures are commonly counted by drivers.
    Support reporting those via netdev-genl queue stats.

    Acked-by: Stanislav Fomichev <sdf@google.com>
    Reviewed-by: Amritha Nambiar <amritha.nambiar@intel.com>
    Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
    Link: https://lore.kernel.org/r/20240306195509.1502746-3-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
2024-09-06 12:09:02 +00:00
CKI Backport Bot a5f14189b6 netdev: add per-queue statistics
JIRA: https://issues.redhat.com/browse/RHEL-57771

commit ab63a2387cb906d43b72a8effb611bbaecb2d0cd
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Wed Mar 6 11:55:07 2024 -0800

    netdev: add per-queue statistics

    The ethtool-nl family does a good job exposing various protocol
    related and IEEE/IETF statistics which used to get dumped under
    ethtool -S, with creative names. Queue stats don't have a netlink
    API, yet, and remain a lion's share of ethtool -S output for new
    drivers. Not only is that bad because the names differ driver to
    driver but it's also bug-prone. Intuitively drivers try to report
    only the stats for active queues, but querying ethtool stats
    involves multiple system calls, and the number of stats is
    read separately from the stats themselves. Worse still when user
    space asks for values of the stats, it doesn't inform the kernel
    how big the buffer is. If number of stats increases in the meantime
    kernel will overflow user buffer.

    Add a netlink API for dumping queue stats. Queue information is
    exposed via the netdev-genl family, so add the stats there.
    Support per-queue and sum-for-device dumps. Latter will be useful
    when subsequent patches add more interesting common stats than
    just bytes and packets.

    The API does not currently distinguish between HW and SW stats.
    The expectation is that the source of the stats will either not
    matter much (good packets) or be obvious (skb alloc errors).

    Acked-by: Stanislav Fomichev <sdf@google.com>
    Reviewed-by: Amritha Nambiar <amritha.nambiar@intel.com>
    Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
    Link: https://lore.kernel.org/r/20240306195509.1502746-2-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
2024-09-06 12:09:01 +00:00
Ivan Vecera 7c058a813d netdev-genl: Add PID for the NAPI thread
JIRA: https://issues.redhat.com/browse/RHEL-30139

commit db4704f4e4dfce835e934609fca735a648ce26e8
Author: Amritha Nambiar <amritha.nambiar@intel.com>
Date:   Fri Dec 1 15:29:18 2023 -0800

    netdev-genl: Add PID for the NAPI thread

    In the threaded NAPI mode, expose the PID of the NAPI thread.

    Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com>
    Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
    Link: https://lore.kernel.org/r/170147335818.5260.10253384006102593087.stgit@anambiarhost.jf.intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-06-05 17:57:53 +02:00
Ivan Vecera c7df211c47 net: Add NAPI IRQ support
JIRA: https://issues.redhat.com/browse/RHEL-30139

Conflicts:
- context conflict due to RH KABI reservations for z-stream

commit 26793bfb5d6072326d1465343e7cbf6156abca4f
Author: Amritha Nambiar <amritha.nambiar@intel.com>
Date:   Fri Dec 1 15:29:07 2023 -0800

    net: Add NAPI IRQ support

    Add support to associate the interrupt vector number for a
    NAPI instance.

    Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com>
    Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
    Link: https://lore.kernel.org/r/170147334728.5260.13221803396905901904.stgit@anambiarhost.jf.intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-06-05 17:57:52 +02:00
Ivan Vecera daa10dac98 netdev-genl: Add netlink framework functions for napi
JIRA: https://issues.redhat.com/browse/RHEL-30139

Conflicts:
- context conflict due to missing 9a675ba55a96 ("net, bpf: Add
  a warning if NAPI cb missed xdp_do_flush().")

commit 27f91aaf49b3a50e5a02ad5fa27b7c453d029a72
Author: Amritha Nambiar <amritha.nambiar@intel.com>
Date:   Fri Dec 1 15:28:56 2023 -0800

    netdev-genl: Add netlink framework functions for napi

    Implement the netdev netlink framework functions for
    napi support. The netdev structure tracks all the napi
    instances and napi fields. The napi instances and associated
    parameters can be retrieved this way.

    Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com>
    Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
    Link: https://lore.kernel.org/r/170147333637.5260.14807433239805550815.stgit@anambiarhost.jf.intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-06-05 17:57:52 +02:00
Ivan Vecera f3dd79ecae netdev-genl: spec: Extend netdev netlink spec in YAML for NAPI
JIRA: https://issues.redhat.com/browse/RHEL-30139

commit ff9991499fb53575c45eb92cd064bcd7141bb572
Author: Amritha Nambiar <amritha.nambiar@intel.com>
Date:   Fri Dec 1 15:28:51 2023 -0800

    netdev-genl: spec: Extend netdev netlink spec in YAML for NAPI

    Add support in netlink spec(netdev.yaml) for napi related information.
    Add code generated from the spec.

    Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com>
    Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
    Link: https://lore.kernel.org/r/170147333119.5260.7050639053080529108.stgit@anambiarhost.jf.intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-06-05 17:57:52 +02:00
Ivan Vecera 4187a33a6d netdev-genl: Add netlink framework functions for queue
JIRA: https://issues.redhat.com/browse/RHEL-30139

commit 6b6171db7fc8f7a6d0f0f0acb7aff16cecf14f42
Author: Amritha Nambiar <amritha.nambiar@intel.com>
Date:   Fri Dec 1 15:28:46 2023 -0800

    netdev-genl: Add netlink framework functions for queue

    Implement the netdev netlink framework functions for
    exposing queue information.

    Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com>
    Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
    Link: https://lore.kernel.org/r/170147332603.5260.7982559672617639065.stgit@anambiarhost.jf.intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-06-05 17:57:52 +02:00
Ivan Vecera 2e42ccfae2 netdev-genl: spec: Extend netdev netlink spec in YAML for queue
JIRA: https://issues.redhat.com/browse/RHEL-30139

commit bc877956272f0521fef107838555817112a450dc
Author: Amritha Nambiar <amritha.nambiar@intel.com>
Date:   Fri Dec 1 15:28:29 2023 -0800

    netdev-genl: spec: Extend netdev netlink spec in YAML for queue

    Add support in netlink spec(netdev.yaml) for queue information.
    Add code generated from the spec.

    Note: The "queue-type" attribute takes values 0 and 1 for rx
    and tx queue type respectively.

    Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com>
    Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
    Link: https://lore.kernel.org/r/170147330963.5260.2576294626647300472.stgit@anambiarhost.jf.intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-06-05 17:57:52 +02:00
Petr Oros dbe5eef18a xsk: Add TX timestamp and TX checksum offload support
JIRA: https://issues.redhat.com/browse/RHEL-31944

Conflicts:
- adjusted conflict which was resolved in upstream
  commit 753c8608f3e579 ("Merge tag 'for-netdev' of
  https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next")
- adjusted context conflict due to 3b3a52715a ("net: exclude BPF/XDP
  from kABI")
- field xsk_tx_metadata_ops wrapped by RH_KABI_EXCLUDE as any XDP
  material is excluded from KABI

Upstream commit(s):
commit 48eb03dd26304c24f03bdbb9382e89c8564e71df
Author: Stanislav Fomichev <sdf@google.com>
Date:   Mon Nov 27 11:03:08 2023 -0800

    xsk: Add TX timestamp and TX checksum offload support

    This change actually defines the (initial) metadata layout
    that should be used by AF_XDP userspace (xsk_tx_metadata).
    The first field is flags which requests appropriate offloads,
    followed by the offload-specific fields. The supported per-device
    offloads are exported via netlink (new xsk-flags).

    The offloads themselves are still implemented in a bit of a
    framework-y fashion that's left from my initial kfunc attempt.
    I'm introducing new xsk_tx_metadata_ops which drivers are
    supposed to implement. The drivers are also supposed
    to call xsk_tx_metadata_request/xsk_tx_metadata_complete in
    the right places. Since xsk_tx_metadata_{request,_complete}
    are static inline, we don't incur any extra overhead doing
    indirect calls.

    The benefit of this scheme is as follows:
    - keeps all metadata layout parsing away from driver code
    - makes it easy to grep and see which drivers implement what
    - don't need any extra flags to maintain to keep track of what
      offloads are implemented; if the callback is implemented - the offload
      is supported (used by netlink reporting code)

    Two offloads are defined right now:
    1. XDP_TXMD_FLAGS_CHECKSUM: skb-style csum_start+csum_offset
    2. XDP_TXMD_FLAGS_TIMESTAMP: writes TX timestamp back into metadata
       area upon completion (tx_timestamp field)

    XDP_TXMD_FLAGS_TIMESTAMP is also implemented for XDP_COPY mode: it writes
    SW timestamp from the skb destructor (note I'm reusing hwtstamps to pass
    metadata pointer).

    The struct is forward-compatible and can be extended in the future
    by appending more fields.

    Reviewed-by: Song Yoong Siang <yoong.siang.song@intel.com>
    Signed-off-by: Stanislav Fomichev <sdf@google.com>
    Acked-by: Jakub Kicinski <kuba@kernel.org>
    Link: https://lore.kernel.org/r/20231127190319.1190813-3-sdf@google.com
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>

Signed-off-by: Petr Oros <poros@redhat.com>
2024-06-05 17:00:39 +02:00
Jose Ignacio Tornos Martinez f0e3be5e78 bpf: expose information about supported xdp metadata kfunc
JIRA: https://issues.redhat.com/browse/RHEL-31945

commit a9c2a608549bb1a2363d289d63907640afcf22af
Author: Stanislav Fomichev <sdf@google.com>
Date:   Wed Sep 13 10:13:49 2023 -0700

    bpf: expose information about supported xdp metadata kfunc
    
    Add new xdp-rx-metadata-features member to netdev netlink
    which exports a bitmask of supported kfuncs. Most of the patch
    is autogenerated (headers), the only relevant part is netdev.yaml
    and the changes in netdev-genl.c to marshal into netlink.
    
    Example output on veth:
    
    $ ip link add veth0 type veth peer name veth1 # ifndex == 12
    $ ./tools/net/ynl/samples/netdev 12
    
    Select ifc ($ifindex; or 0 = dump; or -2 ntf check): 12
       veth1[12]    xdp-features (23): basic redirect rx-sg xdp-rx-metadata-features (3): timestamp hash xdp-zc-max-segs=0
    
    Cc: netdev@vger.kernel.org
    Cc: Willem de Bruijn <willemb@google.com>
    Signed-off-by: Stanislav Fomichev <sdf@google.com>
    Link: https://lore.kernel.org/r/20230913171350.369987-3-sdf@google.com
    Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-04-22 13:45:53 +02:00
Ivan Vecera eccded9958 netdev-genl: use struct genl_info for reply construction
JIRA: https://issues.redhat.com/browse/RHEL-30656

commit 0e19d3108aeab6a9edcef07bf0f123fa2961d0d6
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Mon Aug 14 14:47:21 2023 -0700

    netdev-genl: use struct genl_info for reply construction

    Use the just added APIs to make the code simpler.

    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Link: https://lore.kernel.org/r/20230814214723.2924989-9-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-04-10 09:19:31 +02:00
Ivan Vecera 05c238d0fc net: convert some netlink netdev iterators to depend on the xarray
JIRA: https://issues.redhat.com/browse/RHEL-30656

commit 84e00d9bd4e472bd9b145ed40dbd132dd7a15462
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Wed Jul 26 11:55:30 2023 -0700

    net: convert some netlink netdev iterators to depend on the xarray

    Reap the benefits of easier iteration thanks to the xarray.
    Convert just the genetlink ones, those are easier to test.

    Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
    Link: https://lore.kernel.org/r/20230726185530.2247698-3-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-04-10 09:19:28 +02:00
Ivan Vecera 96ba8afe11 xsk: add new netlink attribute dedicated for ZC max frags
JIRA: https://issues.redhat.com/browse/RHEL-15250

commit 13ce2daa259a3bfbc9a5aeeee8b9a87058703731
Author: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Date:   Wed Jul 19 15:24:07 2023 +0200

    xsk: add new netlink attribute dedicated for ZC max frags

    Introduce new netlink attribute NETDEV_A_DEV_XDP_ZC_MAX_SEGS that will
    carry maximum fragments that underlying ZC driver is able to handle on
    TX side. It is going to be included in netlink response only when driver
    supports ZC. Any value higher than 1 implies multi-buffer ZC support on
    underlying device.

    Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
    Link: https://lore.kernel.org/r/20230719132421.584801-11-maciej.fijalkowski@intel.com
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2023-11-01 14:56:57 +01:00
Felix Maurer b576afd91a netdev-genl: create a simple family for netdev stuff
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2178930
Conflicts:
- include/linux/netdevice.h: Context difference in includes due to missing
  406f42fa0d3c ("net-next: When a bond have a massive amount of VLANs with
  IPv6 addresses, performance of changing link state, attaching a VRF,
  changing an IPv6 address, etc. go down dramtically.")
- net/core/Makefile: Context difference due to missing 2c193f2cb110 ("net:
  kunit: add a test for dev_addr_lists")

commit d3d854fd6a1d97157f790604e07f6386e8df8fe4
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Wed Feb 1 11:24:17 2023 +0100

    netdev-genl: create a simple family for netdev stuff

    Add a Netlink spec-compatible family for netdevs.
    This is a very simple implementation without much
    thought going into it.

    It allows us to reap all the benefits of Netlink specs,
    one can use the generic client to issue the commands:

      $ ./cli.py --spec netdev.yaml --dump dev_get
      [{'ifindex': 1, 'xdp-features': set()},
       {'ifindex': 2, 'xdp-features': {'basic', 'ndo-xmit', 'redirect'}},
       {'ifindex': 3, 'xdp-features': {'rx-sg'}}]

    the generic python library does not have flags-by-name
    support, yet, but we also don't have to carry strings
    in the messages, as user space can get the names from
    the spec.

    Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
    Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
    Co-developed-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
    Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
    Co-developed-by: Marek Majtyka <alardam@gmail.com>
    Signed-off-by: Marek Majtyka <alardam@gmail.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Link: https://lore.kernel.org/r/327ad9c9868becbe1e601b580c962549c8cd81f2.1675245258.git.lorenzo@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>

Signed-off-by: Felix Maurer <fmaurer@redhat.com>
2023-06-13 22:45:50 +02:00