Subject: linux-next: manual merge of the bpf-next tree with the net-next tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 1 Dec 2023 09:47:05 +1100

Hi all,

Today's linux-next merge of the bpf-next tree got a conflict in:

  Documentation/netlink/specs/netdev.yaml

between commit:

  839ff60df3ab ("net: page_pool: add nlspec for basic access to page pools")
(and a few following)

from the net-next tree and commit:

  48eb03dd2630 ("xsk: Add TX timestamp and TX checksum offload support")

from the bpf-next tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc Documentation/netlink/specs/netdev.yaml
index 20f75b7d3240,00439bcbd2e3..000000000000
--- a/Documentation/netlink/specs/netdev.yaml
+++ b/Documentation/netlink/specs/netdev.yaml
@@@ -86,112 -97,11 +97,117 @@@ attribute-sets
               See Documentation/networking/xdp-rx-metadata.rst for more details.
          type: u64
          enum: xdp-rx-metadata
+       -
+         name: xsk-features
+         doc: Bitmask of enabled AF_XDP features.
+         type: u64
+         enum: xsk-flags
 +  -
 +    name: page-pool
 +    attributes:
 +      -
 +        name: id
 +        doc: Unique ID of a Page Pool instance.
 +        type: uint
 +        checks:
 +          min: 1
 +          max: u32-max
 +      -
 +        name: ifindex
 +        doc: |
 +          ifindex of the netdev to which the pool belongs.
 +          May be reported as 0 if the page pool was allocated for a netdev
 +          which got destroyed already (page pools may outlast their netdevs
 +          because they wait for all memory to be returned).
 +        type: u32
 +        checks:
 +          min: 1
 +          max: s32-max
 +      -
 +        name: napi-id
 +        doc: Id of NAPI using this Page Pool instance.
 +        type: uint
 +        checks:
 +          min: 1
 +          max: u32-max
 +      -
 +        name: inflight
 +        type: uint
 +        doc: |
 +          Number of outstanding references to this page pool (allocated
 +          but yet to be freed pages). Allocated pages may be held in
 +          socket receive queues, driver receive ring, page pool recycling
 +          ring, the page pool cache, etc.
 +      -
 +        name: inflight-mem
 +        type: uint
 +        doc: |
 +          Amount of memory held by inflight pages.
 +      -
 +        name: detach-time
 +        type: uint
 +        doc: |
 +          Seconds in CLOCK_BOOTTIME of when Page Pool was detached by
 +          the driver. Once detached Page Pool can no longer be used to
 +          allocate memory.
 +          Page Pools wait for all the memory allocated from them to be freed
 +          before truly disappearing. "Detached" Page Pools cannot be
 +          "re-attached", they are just waiting to disappear.
 +          Attribute is absent if Page Pool has not been detached, and
 +          can still be used to allocate new memory.
 +  -
 +    name: page-pool-info
 +    subset-of: page-pool
 +    attributes:
 +      -
 +        name: id
 +      -
 +        name: ifindex
 +  -
 +    name: page-pool-stats
 +    doc: |
 +      Page pool statistics, see docs for struct page_pool_stats
 +      for information about individual statistics.
 +    attributes:
 +      -
 +        name: info
 +        doc: Page pool identifying information.
 +        type: nest
 +        nested-attributes: page-pool-info
 +      -
 +        name: alloc-fast
 +        type: uint
 +        value: 8 # reserve some attr ids in case we need more metadata later
 +      -
 +        name: alloc-slow
 +        type: uint
 +      -
 +        name: alloc-slow-high-order
 +        type: uint
 +      -
 +        name: alloc-empty
 +        type: uint
 +      -
 +        name: alloc-refill
 +        type: uint
 +      -
 +        name: alloc-waive
 +        type: uint
 +      -
 +        name: recycle-cached
 +        type: uint
 +      -
 +        name: recycle-cache-full
 +        type: uint
 +      -
 +        name: recycle-ring
 +        type: uint
 +      -
 +        name: recycle-ring-full
 +        type: uint
 +      -
 +        name: recycle-released-refcnt
 +        type: uint
  
  operations:
    list: