Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorPaolo Abeni <pabeni@redhat.com>
Thu, 13 Mar 2025 22:01:29 +0000 (23:01 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 13 Mar 2025 22:08:11 +0000 (23:08 +0100)
Cross-merge networking fixes after downstream PR (net-6.14-rc6).

Conflicts:

tools/testing/selftests/drivers/net/ping.py
  75cc19c8ff89 ("selftests: drv-net: add xdp cases for ping.py")
  de94e8697405 ("selftests: drv-net: store addresses in dict indexed by ipver")
https://lore.kernel.org/netdev/20250311115758.17a1d414@canb.auug.org.au/

net/core/devmem.c
  a70f891e0fa0 ("net: devmem: do not WARN conditionally after netdev_rx_queue_restart()")
  1d22d3060b9b ("net: drop rtnl_lock for queue_mgmt operations")
https://lore.kernel.org/netdev/20250313114929.43744df1@canb.auug.org.au/

Adjacent changes:

tools/testing/selftests/net/Makefile
  6f50175ccad4 ("selftests: Add IPv6 link-local address generation tests for GRE devices.")
  2e5584e0f913 ("selftests/net: expand cmsg_ipv6.sh with ipv4")

drivers/net/ethernet/broadcom/bnxt/bnxt.c
  661958552eda ("eth: bnxt: do not use BNXT_VNIC_NTUPLE unconditionally in queue restart logic")
  fe96d717d38e ("bnxt_en: Extend queue stop/start for TX rings")

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
27 files changed:
1  2 
MAINTAINERS
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
drivers/net/ethernet/intel/ice/ice_arfs.c
drivers/net/ethernet/intel/ice/ice_lib.c
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c
drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c
drivers/net/ethernet/microsoft/mana/gdma_main.c
drivers/net/ethernet/microsoft/mana/mana_en.c
drivers/net/phy/nxp-c45-tja11xx.c
drivers/net/wireless/intel/iwlwifi/iwl-trans.c
drivers/net/wireless/intel/iwlwifi/mvm/fw.c
lib/Kconfig.debug
net/core/dev.c
net/core/devmem.c
net/core/netpoll.c
net/ethtool/tsinfo.c
net/mac80211/rx.c
net/mac80211/sta_info.c
net/mac80211/util.c
net/sched/sch_api.c
net/wireless/core.c
net/wireless/nl80211.c
tools/testing/selftests/drivers/net/ping.py
tools/testing/selftests/net/Makefile

diff --cc MAINTAINERS
Simple merge
index d4dc812eb7e248e3cd4f2307d41e3be78423eecc,55f553debd3b293db68756e091378072c47cb3a5..869bdde09c730f315986ec2d8ad8975489e4b41b
@@@ -15869,16 -15648,10 +15888,16 @@@ static int bnxt_queue_start(struct net_
        if (bp->flags & BNXT_FLAG_AGG_RINGS)
                bnxt_db_write(bp, &rxr->rx_agg_db, rxr->rx_agg_prod);
  
 -      cpr = &rxr->bnapi->cp_ring;
 -      cpr->sw_stats->rx.rx_resets++;
 +      if (bp->flags & BNXT_FLAG_SHARED_RINGS) {
 +              rc = bnxt_tx_queue_start(bp, idx);
 +              if (rc)
 +                      goto err_reset;
 +      }
 +
 +      napi_enable(&bnapi->napi);
 +      bnxt_db_nq_arm(bp, &cpr->cp_db, cpr->cp_raw_cons);
  
-       for (i = 0; i <= BNXT_VNIC_NTUPLE; i++) {
+       for (i = 0; i <= bp->nr_vnics; i++) {
                vnic = &bp->vnic_info[i];
  
                rc = bnxt_hwrm_vnic_set_rss_p5(bp, vnic, true);
@@@ -15907,12 -15676,10 +15926,12 @@@ static int bnxt_queue_stop(struct net_d
  {
        struct bnxt *bp = netdev_priv(dev);
        struct bnxt_rx_ring_info *rxr;
 +      struct bnxt_cp_ring_info *cpr;
        struct bnxt_vnic_info *vnic;
 +      struct bnxt_napi *bnapi;
        int i;
  
-       for (i = 0; i <= BNXT_VNIC_NTUPLE; i++) {
+       for (i = 0; i <= bp->nr_vnics; i++) {
                vnic = &bp->vnic_info[i];
                vnic->mru = 0;
                bnxt_hwrm_vnic_update(bp, vnic,
index 63945fe58227e1fd34dda44d8dc84c3d7a620682,e9fc54517449c8ec78bdd2909fdbad551ea56885..250a018d5546854b65aa118b21ac3ada673a6fd4
  
  #include "nxp-c45-tja11xx.h"
  
 +#define PHY_ID_MASK                   GENMASK(31, 4)
 +/* Same id: TJA1103, TJA1104 */
  #define PHY_ID_TJA_1103                       0x001BB010
 +/* Same id: TJA1120, TJA1121 */
  #define PHY_ID_TJA_1120                       0x001BB031
  
+ #define VEND1_DEVICE_ID3              0x0004
+ #define TJA1120_DEV_ID3_SILICON_VERSION       GENMASK(15, 12)
+ #define TJA1120_DEV_ID3_SAMPLE_TYPE   GENMASK(11, 8)
+ #define DEVICE_ID3_SAMPLE_TYPE_R      0x9
  #define VEND1_DEVICE_CONTROL          0x0040
  #define DEVICE_CONTROL_RESET          BIT(15)
  #define DEVICE_CONTROL_CONFIG_GLOBAL_EN       BIT(14)
Simple merge
diff --cc net/core/dev.c
Simple merge
index 5c4d79a1bcd821cd39e985429f56bed76b8e92e1,0e5a2c672efd89d6d495ee67ca6ab525c21901eb..6802e82a4d03b6030f6df50ae3661f81e40bc101
@@@ -125,12 -118,11 +126,14 @@@ void net_devmem_unbind_dmabuf(struct ne
                WARN_ON(rxq->mp_params.mp_priv != binding);
  
                rxq->mp_params.mp_priv = NULL;
 +              rxq->mp_params.mp_ops = NULL;
  
 +              netdev_lock(binding->dev);
                rxq_idx = get_netdev_rx_queue_index(rxq);
-               WARN_ON(netdev_rx_queue_restart(binding->dev, rxq_idx));
+               err = netdev_rx_queue_restart(binding->dev, rxq_idx);
+               WARN_ON(err && err != -ENETDOWN);
 +              netdev_unlock(binding->dev);
        }
  
        xa_erase(&net_devmem_dmabuf_bindings, binding->id);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 17dc11e9b6dd61431070054d40b771ee92aa4028,93f4b411b378fb0cb442812e27a8ab22ce97c35b..7a1026a073681d159202015fc6945e91368863fe
@@@ -1,27 -1,34 +1,34 @@@
  #!/usr/bin/env python3
  # SPDX-License-Identifier: GPL-2.0
  
+ import os
+ import random, string, time
  from lib.py import ksft_run, ksft_exit
- from lib.py import ksft_eq
- from lib.py import NetDrvEpEnv
+ from lib.py import ksft_eq, KsftSkipEx, KsftFailEx
+ from lib.py import EthtoolFamily, NetDrvEpEnv
  from lib.py import bkg, cmd, wait_port_listen, rand_port
+ from lib.py import ethtool, ip
  
+ remote_ifname=""
+ no_sleep=False
  
- def test_v4(cfg) -> None:
+ def _test_v4(cfg) -> None:
 -    cfg.require_v4()
 +    cfg.require_ipver("4")
  
-     cmd("ping -c 1 -W0.5 " + cfg.remote_addr_v["4"])
-     cmd("ping -c 1 -W0.5 " + cfg.addr_v["4"], host=cfg.remote)
+     cmd(f"ping -c 1 -W0.5 {cfg.remote_v4}")
+     cmd(f"ping -c 1 -W0.5 {cfg.v4}", host=cfg.remote)
+     cmd(f"ping -s 65000 -c 1 -W0.5 {cfg.remote_v4}")
+     cmd(f"ping -s 65000 -c 1 -W0.5 {cfg.v4}", host=cfg.remote)
  
- def test_v6(cfg) -> None:
+ def _test_v6(cfg) -> None:
 -    cfg.require_v6()
 +    cfg.require_ipver("6")
  
-     cmd("ping -c 1 -W0.5 " + cfg.remote_addr_v["6"])
-     cmd("ping -c 1 -W0.5 " + cfg.addr_v["6"], host=cfg.remote)
+     cmd(f"ping -c 1 -W5 {cfg.remote_v6}")
+     cmd(f"ping -c 1 -W5 {cfg.v6}", host=cfg.remote)
+     cmd(f"ping -s 65000 -c 1 -W0.5 {cfg.remote_v6}")
+     cmd(f"ping -s 65000 -c 1 -W0.5 {cfg.v6}", host=cfg.remote)
  
- def test_tcp(cfg) -> None:
+ def _test_tcp(cfg) -> None:
      cfg.require_cmd("socat", remote=True)
  
      port = rand_port()
index d5aa16185f429598bec24062d40cacb117c6fb92,5916f3b81c39ffe361a17db24625f11910452174..f03a0399e7a3a04dee6f318cb656f8aaa10a35e5
@@@ -31,14 -31,12 +31,15 @@@ TEST_PROGS += veth.s
  TEST_PROGS += ioam6.sh
  TEST_PROGS += gro.sh
  TEST_PROGS += gre_gso.sh
+ TEST_PROGS += gre_ipv6_lladdr.sh
  TEST_PROGS += cmsg_so_mark.sh
  TEST_PROGS += cmsg_so_priority.sh
 -TEST_PROGS += cmsg_time.sh cmsg_ipv6.sh
 +TEST_PROGS += test_so_rcv.sh
 +TEST_PROGS += cmsg_time.sh cmsg_ip.sh
  TEST_PROGS += netns-name.sh
 +TEST_PROGS += link_netns.py
  TEST_PROGS += nl_netdev.py
 +TEST_PROGS += rtnetlink.py
  TEST_PROGS += srv6_end_dt46_l3vpn_test.sh
  TEST_PROGS += srv6_end_dt4_l3vpn_test.sh
  TEST_PROGS += srv6_end_dt6_l3vpn_test.sh