Commit c88b9b4c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from Jakub Kicinski:
 "Including fixes from netfilter, bluetooth and bpf.

  Fairly usual collection of driver and core fixes. The large selftest
  accompanying one of the fixes is also becoming a common occurrence.

  Current release - regressions:

   - ipv6: fix infinite recursion in fib6_dump_done()

   - net/rds: fix possible null-deref in newly added error path

  Current release - new code bugs:

   - net: do not consume a full cacheline for system_page_pool

   - bpf: fix bpf_arena-related file descriptor leaks in the verifier

   - drv: ice: fix freeing uninitialized pointers, fixing misuse of the
     newfangled __free() auto-cleanup

  Previous releases - regressions:

   - x86/bpf: fixes the BPF JIT with retbleed=stuff

   - xen-netfront: add missing skb_mark_for_recycle, fix page pool
     accounting leaks, revealed by recently added explicit warning

   - tcp: fix bind() regression for v6-only wildcard and v4-mapped-v6
     non-wildcard addresses

   - Bluetooth:
      - replace "hci_qca: Set BDA quirk bit if fwnode exists in DT" with
        better workarounds to un-break some buggy Qualcomm devices
      - set conn encrypted before conn establishes, fix re-connecting to
        some headsets which use slightly unusual sequence of msgs

   - mptcp:
      - prevent BPF accessing lowat from a subflow socket
      - don't account accept() of non-MPC client as fallback to TCP

   - drv: mana: fix Rx DMA datasize and skb_over_panic

   - drv: i40e: fix VF MAC filter removal

  Previous releases - always broken:

   - gro: various fixes related to UDP tunnels - netns crossing
     problems, incorrect checksum conversions, and incorrect packet
     transformations which may lead to panics

   - bpf: support deferring bpf_link dealloc to after RCU grace period

   - nf_tables:
      - release batch on table validation from abort path
      - release mutex after nft_gc_seq_end from abort path
      - flush pending destroy work before exit_net release

   - drv: r8169: skip DASH fw status checks when DASH is disabled"

* tag 'net-6.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (81 commits)
  netfilter: validate user input for expected length
  net/sched: act_skbmod: prevent kernel-infoleak
  net: usb: ax88179_178a: avoid the interface always configured as random address
  net: dsa: sja1105: Fix parameters order in sja1110_pcs_mdio_write_c45()
  net: ravb: Always update error counters
  net: ravb: Always process TX descriptor ring
  netfilter: nf_tables: discard table flag update with pending basechain deletion
  netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get()
  netfilter: nf_tables: reject new basechain after table flag update
  netfilter: nf_tables: flush pending destroy work before exit_net release
  netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path
  netfilter: nf_tables: release batch on table validation from abort path
  Revert "tg3: Remove residual error handling in tg3_suspend"
  tg3: Remove residual error handling in tg3_suspend
  net: mana: Fix Rx DMA datasize and skb_over_panic
  net/sched: fix lockdep splat in qdisc_tree_reduce_backlog()
  net: phy: micrel: lan8814: Fix when enabling/disabling 1-step timestamping
  net: stmmac: fix rx queue priority assignment
  net: txgbe: fix i2c dev name cannot match clkdev
  net: fec: Set mac_managed_pm during probe
  ...
parents ec25bd8d 1cfa2f10
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -94,6 +94,10 @@ properties:

  local-bd-address: true

  qcom,local-bd-address-broken:
    type: boolean
    description:
      boot firmware is incorrectly passing the address in big-endian order

required:
  - compatible
+76 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

==========================
Devlink E-Switch Attribute
==========================

Devlink E-Switch supports two modes of operation: legacy and switchdev.
Legacy mode operates based on traditional MAC/VLAN steering rules. Switching
decisions are made based on MAC addresses, VLANs, etc. There is limited ability
to offload switching rules to hardware.

On the other hand, switchdev mode allows for more advanced offloading
capabilities of the E-Switch to hardware. In switchdev mode, more switching
rules and logic can be offloaded to the hardware switch ASIC. It enables
representor netdevices that represent the slow path of virtual functions (VFs)
or scalable-functions (SFs) of the device. See more information about
:ref:`Documentation/networking/switchdev.rst <switchdev>` and
:ref:`Documentation/networking/representors.rst <representors>`.

In addition, the devlink E-Switch also comes with other attributes listed
in the following section.

Attributes Description
======================

The following is a list of E-Switch attributes.

.. list-table:: E-Switch attributes
   :widths: 8 5 45

   * - Name
     - Type
     - Description
   * - ``mode``
     - enum
     - The mode of the device. The mode can be one of the following:

       * ``legacy`` operates based on traditional MAC/VLAN steering
         rules.
       * ``switchdev`` allows for more advanced offloading capabilities of
         the E-Switch to hardware.
   * - ``inline-mode``
     - enum
     - Some HWs need the VF driver to put part of the packet
       headers on the TX descriptor so the e-switch can do proper
       matching and steering. Support for both switchdev mode and legacy mode.

       * ``none`` none.
       * ``link`` L2 mode.
       * ``network`` L3 mode.
       * ``transport`` L4 mode.
   * - ``encap-mode``
     - enum
     - The encapsulation mode of the device. Support for both switchdev mode
       and legacy mode. The mode can be one of the following:

       * ``none`` Disable encapsulation support.
       * ``basic`` Enable encapsulation support.

Example Usage
=============

.. code:: shell

    # enable switchdev mode
    $ devlink dev eswitch set pci/0000:08:00.0 mode switchdev

    # set inline-mode and encap-mode
    $ devlink dev eswitch set pci/0000:08:00.0 inline-mode none encap-mode basic

    # display devlink device eswitch attributes
    $ devlink dev eswitch show pci/0000:08:00.0
      pci/0000:08:00.0: mode switchdev inline-mode none encap-mode basic

    # enable encap-mode with legacy mode
    $ devlink dev eswitch set pci/0000:08:00.0 mode legacy inline-mode none encap-mode basic
+1 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ general.
   devlink-selftests
   devlink-trap
   devlink-linecard
   devlink-eswitch-attr

Driver-specific documentation
-----------------------------
+1 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0
.. _representors:

=============================
Network Function Representors
+2 −1
Original line number Diff line number Diff line
@@ -14019,6 +14019,7 @@ F: drivers/net/ethernet/mellanox/mlx4/en_*
MELLANOX ETHERNET DRIVER (mlx5e)
M:	Saeed Mahameed <saeedm@nvidia.com>
M:	Tariq Toukan <tariqt@nvidia.com>
L:	netdev@vger.kernel.org
S:	Supported
W:	http://www.mellanox.com
@@ -14086,6 +14087,7 @@ F: include/uapi/rdma/mlx4-abi.h
MELLANOX MLX5 core VPI driver
M:	Saeed Mahameed <saeedm@nvidia.com>
M:	Leon Romanovsky <leonro@nvidia.com>
M:	Tariq Toukan <tariqt@nvidia.com>
L:	netdev@vger.kernel.org
L:	linux-rdma@vger.kernel.org
S:	Supported
@@ -23679,7 +23681,6 @@ F: drivers/scsi/vmw_pvscsi.c
F:	drivers/scsi/vmw_pvscsi.h
VMWARE VIRTUAL PTP CLOCK DRIVER
M:	Jeff Sipek <jsipek@vmware.com>
R:	Ajay Kaher <akaher@vmware.com>
R:	Alexey Makhalov <amakhalov@vmware.com>
R:	VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
Loading