All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Doug Ledford" <doug.ledford@hpe.com>,
	"Slingshot Open Source Team"
	<slingshot-os-team@groups.ext.hpe.com>,
	"Nathan Chancellor" <nathan@kernel.org>,
	"Nicolas Schier" <nsc@kernel.org>,
	"Richard Cochran" <richardcochran@gmail.com>,
	"Andrew Lunn" <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@kernel.org>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Sumit Semwal" <sumit.semwal@linaro.org>,
	"Christian König" <christian.koenig@amd.com>,
	"Guenter Roeck" <linux@roeck-us.net>
Cc: linux-kbuild@vger.kernel.org
Subject: Re: [PATCH 23/23] net: hpe: wire up the Slingshot NIC drivers
Date: Sat, 31 Oct 2026 21:02:20 +0000	[thread overview]
Message-ID: <sashiko-outbox-192149@kernel.org> (raw)
In-Reply-To: <20261030-cxi-netdev-submission-v1-23-8c2c391cc283@hpe.com>

Thank you for your contribution! Sashiko AI review found 12 potential issue(s) to consider:
- [Medium] net: hpe: ss1: missing HMM_MIRROR Kconfig selection for cass_hmm.c
- [Medium] net: hpe: ss1: missing IOMMU_IOVA Kconfig selection for cass_nta_iova_init()
- [Medium] net: hpe: ss1: missing I2C and HWMON Kconfig dependencies for cass_uc.c
- [Medium] net: hpe: ss1: missing PTP_1588_CLOCK_OPTIONAL dependency for cass_ptp.c
- [Medium] net: hpe: ss1: missing DMA_SHARED_BUFFER dependency on HPE_SS1_P2P_DMABUF
- [Low] MAINTAINERS: missing include/uapi/ethernet/ entry for Slingshot NIC driver
- [Low] net: hpe: missing IOMMU_IOVA select in HPE_SS1 breaks cass_nta.c
- [Low] net: hpe: missing SYSFS dependency in HPE_SS1 breaks SBL sprint calls
- [Low] net: hpe: compiling cass_sriov.o without CONFIG_KVM_VFIO fails -Werror
- [Low] net: hpe: cass_iommu_init() accesses pri_reqs_alloc without PCI_PRI
- [Low] net: hpe: sl: dead duplicate stub file sl_media_nic.c left unbuilt
- [Low] net: hpe: ss1: Makefile links unused cass_ats_inval.o dead code
--

commit 5de1fa07eeee00c1ea3705142e52d3babf03e9f2
Author: Doug Ledford <doug.ledford@hpe.com>

net: hpe: wire up the Slingshot NIC drivers

This commit hooks the HPE Slingshot SBL, SL, and SS1 drivers into Kconfig and
Kbuild and adds the corresponding MAINTAINERS entry.

> diff --git a/MAINTAINERS b/MAINTAINERS
> index 7336600952c8e..4974717d22c15 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11608,6 +11608,13 @@ S:	Supported
>  F:	Documentation/watchdog/hpwdt.rst
>  F:	drivers/watchdog/hpwdt.c
>  
> +HEWLETT PACKARD ENTERPRISE SLINGSHOT NIC DRIVER
> +M:	Slingshot Open Source Team <slingshot-os-team@groups.ext.hpe.com>
> +L:	netdev@vger.kernel.org
> +S:	Supported
> +F:	include/linux/hpe
> +F:	drivers/net/ethernet/hpe

[Severity: Low]
Earlier commits in this series also introduce ten Slingshot and Cassini UAPI
headers under include/uapi/ethernet/ (cassini_user_defs.h, sbl-abi.h,
sbl_cassini.h, sbl_counters.h, sbl_platform_config.h, sbl_sbm_constants.h,
sbl_serdes.h, sbl_serdes_defaults.h, sbl_serdes_map.h, and
sbl_serdes_map_init.h).

Should this MAINTAINERS entry also include include/uapi/ethernet/ so
scripts/get_maintainer.pl routes changes to those UAPI headers to the driver
maintainers?

[ ... ]

> diff --git a/drivers/net/ethernet/hpe/sl/Makefile b/drivers/net/ethernet/hpe/sl/Makefile
> new file mode 100644
> index 0000000000000..1930da475e599
> --- /dev/null
> +++ b/drivers/net/ethernet/hpe/sl/Makefile

[ ... ]

> +# Everything after here is specific to NICs
> +cxi-sl-$(CONFIG_HPE_SL)	+= nic/sl_ldev.o nic/sl_media.o \

[Severity: Low]
Here cxi-sl-$(CONFIG_HPE_SL) builds nic/sl_media.o, which provides the real
NIC implementations of sl_media_cable_insert() and sl_media_cable_remove() in
drivers/net/ethernet/hpe/sl/nic/sl_media.c.

However, drivers/net/ethernet/hpe/sl/sl_media_nic.c (added earlier in the
series) defines stub placeholder versions of the same two exported symbols:

drivers/net/ethernet/hpe/sl/sl_media_nic.c:
    int sl_media_cable_insert(struct sl_lgrp *lgrp, u8 *eeprom_page0,
                              u8 *eeprom_page1, u32 flags)
    {
            /* placeholder for future functionality */
            return 0;
    }
    EXPORT_SYMBOL(sl_media_cable_insert);

and is left unreferenced by this Makefile. Is
drivers/net/ethernet/hpe/sl/sl_media_nic.c a leftover stub file that should be
removed?

[ ... ]

> diff --git a/drivers/net/ethernet/hpe/ss1/Kconfig b/drivers/net/ethernet/hpe/ss1/Kconfig
> new file mode 100644
> index 0000000000000..d154506749d17
> --- /dev/null
> +++ b/drivers/net/ethernet/hpe/ss1/Kconfig
> @@ -0,0 +1,35 @@
> +# SPDX-License-Identifier: GPL-2.0
> +#
> +# Kernel config for HPE/Cray Net Cassini Slingshot 200/400Gbs hardware
> +# Copyright 2025 Hewlett Packard Enterprise Development LP
> +
> +config HPE_SS1
> +	tristate "HPE/Cray Slingshot 200/400Gbs NIC driver"
> +	depends on PCI && ETHERNET && NETDEVICES && INET
> +	depends on (ARM64 && CPU_LITTLE_ENDIAN) || X86_64

[Severity: Medium]
Can this fail to build or link when CONFIG_I2C or CONFIG_HWMON is disabled or
built as a module while CONFIG_HPE_SS1=y?

drivers/net/ethernet/hpe/ss1/Makefile unconditionally builds cass_uc.o into
cxi-ss1. In drivers/net/ethernet/hpe/ss1/cass_uc.c, create_sensors_intf() and
cass_unregister_uc() call hwmon_device_register_with_info() and
hwmon_device_unregister():

drivers/net/ethernet/hpe/ss1/cass_uc.c:create_sensors_intf()
    hw->hwmon.dev = hwmon_device_register_with_info(&hw->cdev.pdev->dev,
                                                    hw->cdev.name,
                                                    hw,
                                                    &hw->hwmon.chip_info,
                                                    NULL);

and uc_register_i2c() and uc_unregister_i2c() call i2c_add_adapter() and
i2c_del_adapter():

drivers/net/ethernet/hpe/ss1/cass_uc.c:uc_register_i2c()
    ret = i2c_add_adapter(&hw->uc_i2c);

In include/linux/i2c.h, i2c_add_adapter() and i2c_del_adapter() are guarded by
#if IS_ENABLED(CONFIG_I2C) with no fallback stubs, and in
include/linux/hwmon.h, hwmon_device_register_with_info() and
hwmon_device_unregister() are declared extern without inline stubs when
CONFIG_HWMON=n. Should HPE_SS1 depend on I2C and HWMON?

[Severity: Medium]
Does HPE_SS1 also need a dependency on PTP_1588_CLOCK_OPTIONAL?

drivers/net/ethernet/hpe/ss1/Makefile unconditionally compiles cass_ptp.o and
cass_eth.o into cxi-ss1. In drivers/net/ethernet/hpe/ss1/cass_ptp.c,
cass_ptp_init() and cass_ptp_fini() call ptp_clock_register() and
ptp_clock_unregister(), and in drivers/net/ethernet/hpe/ss1/cass_eth.c,
cxi_eth_devinfo() calls ptp_clock_index():

drivers/net/ethernet/hpe/ss1/cass_ptp.c:cass_ptp_init()
    hw->ptp_clock = ptp_clock_register(&hw->ptp_info,
                                       &hw->cdev.pdev->dev);

drivers/net/ethernet/hpe/ss1/cass_eth.c:cxi_eth_devinfo()
    eth_info->ptp_clock_index = ptp_clock_index(hw->ptp_clock);

When CONFIG_HPE_SS1=y and CONFIG_PTP_1588_CLOCK=m,
IS_ENABLED(CONFIG_PTP_1588_CLOCK) is true in include/linux/ptp_clock_kernel.h,
so built-in cxi-ss1 references symbols from the loadable ptp module and fails
to link vmlinux.

[Severity: Low]
What happens if CONFIG_HPE_SS1 is built with CONFIG_SYSFS=n (under
CONFIG_EXPERT=y)?

In include/linux/hpe/sbl/sbl.h and drivers/net/ethernet/hpe/sbl/*.c, the
sbl_*_sysfs_sprint() declarations and definitions are guarded by
#ifdef CONFIG_SYSFS:

include/linux/hpe/sbl/sbl.h:
    #ifdef CONFIG_SYSFS
    int sbl_media_sysfs_sprint(struct sbl_inst *sbl, int port_num, char *buf, size_t size);

However, drivers/net/ethernet/hpe/ss1/cass_sbl.c (in link_layer_retry_show(),
loopback_show(), media_show(), and speed_show()) and
drivers/net/ethernet/hpe/ss1/cass_ss1_debugfs.c (in port_debugfs_print() and
sbl_counters_print()) call sbl_base_link_llr_sysfs_sprint(),
sbl_media_sysfs_sprint(), and related helpers outside #ifdef CONFIG_SYSFS.
Should HPE_SS1 depend on SYSFS (or guard those callers with CONFIG_SYSFS)?

> +	select HPE_SBL
> +	select HPE_SL
> +	select CONFIGFS_FS
> +	select AUXILIARY_BUS

[Severity: Medium]
Should HPE_SS1 also select HMM_MIRROR?

drivers/net/ethernet/hpe/ss1/Makefile unconditionally includes cass_hmm.o in
cxi-ss1-objs. In drivers/net/ethernet/hpe/ss1/cass_hmm.c, cass_range_fault()
calls hmm_range_fault():

drivers/net/ethernet/hpe/ss1/cass_hmm.c:cass_range_fault()
    if (range->default_flags & HMM_PFN_REQ_FAULT)
            return hmm_range_fault(range);

and cass_notifier_cleanup(), cass_mirror_fault(), cass_sync_pagetables(), and
cass_mmu_notifier_insert() call mmu_interval_notifier_insert(),
mmu_interval_notifier_remove(), mmu_interval_read_begin(),
mmu_interval_read_retry(), mmu_notifier_range_blockable(), and
mmu_interval_set_seq():

drivers/net/ethernet/hpe/ss1/cass_hmm.c:cass_mmu_notifier_insert()
    ret = mmu_interval_notifier_insert(&md_priv->mn_sub,
                                       current->mm,
                                       m_opts->va_start,
                                       m_opts->va_len,
                                       &cass_notifier_ops);

Both HMM_MIRROR (which selects MMU_NOTIFIER) and MMU_NOTIFIER are promptless
bool symbols in mm/Kconfig with no fallback stubs in include/linux/hmm.h or
include/linux/mmu_notifier.h when disabled, so building CONFIG_HPE_SS1 when
nothing else selects HMM_MIRROR fails to compile and link cass_hmm.o.

[Severity: Medium]
Should HPE_SS1 also select IOMMU_IOVA?

drivers/net/ethernet/hpe/ss1/Makefile unconditionally includes cass_nta.o in
cxi-ss1-objs, and drivers/net/ethernet/hpe/ss1/cxi_core.h unconditionally
defines HAVE_IOVA_INIT_RCACHES. In drivers/net/ethernet/hpe/ss1/cass_nta.c,
cass_nta_iova_init() calls iova_domain_init_rcaches():

drivers/net/ethernet/hpe/ss1/cass_nta.c:cass_nta_iova_init()
    #ifdef HAVE_IOVA_INIT_RCACHES
            ret = iova_domain_init_rcaches(cac->iovad);
            if (ret) {
                    cass_nta_iova_fini(cac);
                    return ret;
            }
    #endif

In include/linux/iova.h, iova_domain_init_rcaches() is only declared under
#if IS_REACHABLE(CONFIG_IOMMU_IOVA) with no stub in the #else branch, and
IOMMU_IOVA is a promptless tristate symbol in drivers/iommu/Kconfig. When
CONFIG_IOMMU_IOVA is not reachable, cass_nta.c fails to compile with an
implicit declaration of iova_domain_init_rcaches().

[ ... ]

> +config HPE_SS1_P2P_DMABUF
> +	bool "Enable Peer-2-Peer dmabuf support"
> +	depends on HPE_SS1 && PCI_P2PDMA

[Severity: Medium]
Does HPE_SS1_P2P_DMABUF need a dependency on (or select of) DMA_SHARED_BUFFER?

When CONFIG_HPE_SS1_P2P_DMABUF=y, drivers/net/ethernet/hpe/ss1/Makefile
builds cass_dma_buf.o into cxi-ss1. In
drivers/net/ethernet/hpe/ss1/cass_dma_buf.c, cxi_dmabuf_get_pages() and
cxi_dmabuf_put_pages() call dma_buf_get(), dma_buf_put(),
dma_buf_dynamic_attach(), dma_buf_detach(), dma_buf_map_attachment(),
dma_buf_unmap_attachment(), dma_resv_get_singleton(), and
dma_resv_wait_timeout():

drivers/net/ethernet/hpe/ss1/cass_dma_buf.c:cxi_dmabuf_get_pages()
    md_priv->dmabuf = dma_buf_get(md_priv->dmabuf_fd);

Neither HPE_SS1 nor PCI_P2PDMA selects or depends on DMA_SHARED_BUFFER, and
include/linux/dma-buf.h declares those symbols extern without stubs when
CONFIG_DMA_SHARED_BUFFER=n, causing link failures when DMA_SHARED_BUFFER is
not enabled by another driver.

[ ... ]

> diff --git a/drivers/net/ethernet/hpe/ss1/Makefile b/drivers/net/ethernet/hpe/ss1/Makefile
> new file mode 100644
> index 0000000000000..538ac762cff22
> --- /dev/null
> +++ b/drivers/net/ethernet/hpe/ss1/Makefile
> @@ -0,0 +1,28 @@
> +# SPDX-License-Identifier: GPL-2.0
> +#
> +# Makefile for HPE/Cray Net Cassini Slingshot version 200/400Gbs hardware
> +# Copyright 2025 Hewlett Packard Enterprise Development LP
> +
> +subdir-ccflags-y += -I$(src)
> +
> +obj-$(CONFIG_HPE_SS1) += cxi-ss1.o cxi-eth.o
> +
> +cxi-ss1-objs := cxi_core.o cass_core.o cass_lni.o cass_rmu.o cass_eq.o \
> +		cass_cpt.o cass_cq.o cass_pt.o cass_atu.o cass_ct.o \
> +		cass_errors.o cass_sriov.o cass_nta.o cass_ptp.o \

[Severity: Low]
Will compiling cass_sriov.o fail under CONFIG_WERROR=y when CONFIG_KVM_VFIO is
not enabled?

In drivers/net/ethernet/hpe/ss1/cass_core.h, CXI_DISABLE_SRIOV is defined
whenever CONFIG_KVM_VFIO is not set:

drivers/net/ethernet/hpe/ss1/cass_core.h:
    #if !defined(CONFIG_KVM_VFIO)
    #define CXI_DISABLE_SRIOV
    #endif

and drivers/net/ethernet/hpe/ss1/cass_sriov.c then emits a preprocessor
#warning:

drivers/net/ethernet/hpe/ss1/cass_sriov.c:
    #if defined(CXI_DISABLE_SRIOV)
    #warning "SR-IOV support is disabled."

With CONFIG_WERROR=y, this #warning causes -Werror=cpp to fail the build
whenever CONFIG_KVM_VFIO is unset.

[Severity: Low]
In addition to the iova_domain_init_rcaches() build issue in cass_nta.o when
CONFIG_IOMMU_IOVA is not reachable, does cass_nta_init() also fail at runtime
if alloc_iova_fast() falls back to the stub in include/linux/iova.h?

In drivers/net/ethernet/hpe/ss1/cass_nta.c, cass_nta_init() calls
cass_nta_iova_alloc() -> alloc_iova_fast():

drivers/net/ethernet/hpe/ss1/cass_nta.c:cass_nta_init()
    m_opts->iova = cass_nta_iova_alloc(cac, m_opts);
    if (!m_opts->iova) {
            if (cac->iovad) {
                    pr_debug("cass_iova_alloc failed %lld\n", m_opts->iova);
                    ret = -ENOENT;
                    goto alloc_iova_fail;
            }
    }

When !IS_REACHABLE(CONFIG_IOMMU_IOVA), alloc_iova_fast() and iova_cache_get()
resolve to stubs returning 0 and -ENOTSUPP, causing NTA IOVA allocation in
cass_nta_init() to fail with -ENOENT unless IOMMU_IOVA is selected by HPE_SS1.

> +		cass_hni.o cass_eth.o cass_rmu_eth.o cass_ats.o cass_uc.o \

[Severity: Low]
Can building cass_ats.o fail on ARM64 when CONFIG_IOMMU_SVA=y and
CONFIG_PCI_PRI=n?

In drivers/net/ethernet/hpe/ss1/cass_ats.c, cass_iommu_init() accesses
pdev->pri_reqs_alloc inside an #ifdef CONFIG_IOMMU_SVA block:

drivers/net/ethernet/hpe/ss1/cass_ats.c:cass_iommu_init()
    #ifdef CONFIG_IOMMU_SVA
            ...
            pdev->pri_reqs_alloc = max_requests;

In include/linux/pci.h, struct pci_dev only defines pri_reqs_alloc under
#ifdef CONFIG_PCI_PRI:

include/linux/pci.h:struct pci_dev
    #ifdef CONFIG_PCI_PRI
            u16             pri_cap;        /* PRI Capability offset */
            u32             pri_reqs_alloc; /* Number of PRI requests allocated */
            unsigned int    pasid_required:1; /* PRG Response PASID Required */
    #endif

On ARM64, CONFIG_ARM_SMMU_V3_SVA selects IOMMU_SVA without selecting PCI_PRI,
so compiling cass_ats.c with CONFIG_IOMMU_SVA=y and CONFIG_PCI_PRI=n fails.

> +		cass_hmm.o cxi_qos_profiles.o cass_tc.o cass_svc.o \
> +		cass_telem.o cxi_link.o cass_sbl.o cass_sl.o \
> +		cass_sl_io.o cass_sysfs.o cass_sbus.o cass_phy.o \
> +		cass_dmac.o cass_link.o cass_link_misc.o cass_port_misc.o \
> +		cass_lmon.o cass_ixe.o cass_irq.o cass_cable.o \
> +		cass_odp_decouple.o cass_ats_inval.o cass_pcie_mon.o \

[Severity: Low]
Is cass_ats_inval.o needed in cxi-ss1-objs?

Its only non-static function is cass_amd_iommu_inval_cb_init() in
drivers/net/ethernet/hpe/ss1/cass_ats_inval.c:

drivers/net/ethernet/hpe/ss1/cass_ats_inval.c:cass_amd_iommu_inval_cb_init()
    void cass_amd_iommu_inval_cb_init(struct pci_dev *pdev)
    {
            int (*set_inval_range_cb)(struct pci_dev *pdev,
                                      amd_iommu_invalidate_range cb);
            struct cass_dev *hw = pci_get_drvdata(pdev);
            int ret;

            /* Only set up invalidation callback for Cassini 1 */
            if (!cass_version(hw, CASSINI_1))
                    return;

            set_inval_range_cb = symbol_get(amd_iommu_set_invalidate_range_cb);

cass_amd_iommu_inval_cb_init() has no callers anywhere in the tree, and
amd_iommu_set_invalidate_range_cb does not exist in the mainline kernel. Should
cass_ats_inval.o (and cass_ats_inval.c) be dropped?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261030-cxi-netdev-submission-v1-0-8c2c391cc283@hpe.com?part=23

  reply	other threads:[~2026-10-31 21:02 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-30 20:58 [PATCH 00/23] Subject: [PATCH net-next 00/23] net/hpe: add HPE Slingshot NIC drivers Doug Ledford
2026-10-30 20:58 ` [PATCH 01/23] net: hpe: ss1: add the Cassini headers Doug Ledford
2026-10-31 13:58   ` Andrew Lunn
2026-10-31 19:34     ` Doug Ledford
2026-10-30 20:58 ` [PATCH 02/23] net: hpe: sbl: add the Slingshot Base Link headers Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:58 ` [PATCH 03/23] net: hpe: sbl: add the core instance and configuration layer Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 04/23] net: hpe: sbl: add the SerDes layer Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 05/23] net: hpe: sbl: add the PML link layer Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 06/23] net: hpe: sbl: add link state management Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 07/23] net: hpe: sbl: add the SBM serial bus layer Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 08/23] net: hpe: sbl: add media, FEC and counter support Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 09/23] net: hpe: sl: add the Slingshot Link headers Doug Ledford
2026-10-30 20:59 ` [PATCH 10/23] net: hpe: sl: add the module entry points Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 11/23] net: hpe: sl: add the core link state machines Doug Ledford
2026-10-30 20:59 ` [PATCH 12/23] net: hpe: sl: add the control layer Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 13/23] net: hpe: sl: add media and cable handling Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 14/23] net: hpe: sl: add the sysfs interface Doug Ledford
2026-10-30 20:59 ` [PATCH 15/23] net: hpe: sl: add the NIC binding and logging helpers Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 16/23] net: hpe: ss1: add the Cassini core device layer Doug Ledford
2026-10-30 20:59 ` [PATCH 17/23] net: hpe: ss1: add the datapath and memory translation layers Doug Ledford
2026-10-30 20:59 ` [PATCH 18/23] net: hpe: ss1: add the link layer glue Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 19/23] net: hpe: ss1: add SR-IOV support Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 20/23] net: hpe: ss1: add the CXI core interfaces Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 21/23] net: hpe: ss1: add resource groups, QoS and services Doug Ledford
2026-10-30 20:59 ` [PATCH 22/23] net: hpe: ss1: add the Ethernet personality Doug Ledford
2026-10-31 21:02   ` sashiko-bot
2026-10-30 20:59 ` [PATCH 23/23] net: hpe: wire up the Slingshot NIC drivers Doug Ledford
2026-10-31 21:02   ` sashiko-bot [this message]
2026-10-30 22:11 ` [PATCH 00/23] Subject: [PATCH net-next 00/23] net/hpe: add HPE " Jakub Kicinski
2026-10-31 20:17   ` Andrew Lunn
2026-11-02  1:02     ` Doug Ledford
2026-11-02  1:35       ` Andrew Lunn
2026-11-02  3:45         ` Doug Ledford
2026-11-02  3:01       ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=sashiko-outbox-192149@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=christian.koenig@amd.com \
    --cc=davem@davemloft.net \
    --cc=doug.ledford@hpe.com \
    --cc=edumazet@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=nathan@kernel.org \
    --cc=nsc@kernel.org \
    --cc=pabeni@redhat.com \
    --cc=richardcochran@gmail.com \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=slingshot-os-team@groups.ext.hpe.com \
    --cc=sumit.semwal@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.