lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z4THNzvTUecR8QUp@mev-dev.igk.intel.com>
Date: Mon, 13 Jan 2025 08:56:39 +0100
From: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
To: Michael Chan <michael.chan@...adcom.com>
Cc: davem@...emloft.net, netdev@...r.kernel.org, edumazet@...gle.com,
	kuba@...nel.org, pabeni@...hat.com, andrew+netdev@...n.ch,
	pavan.chebbi@...adcom.com, andrew.gospodarek@...adcom.com,
	somnath.kotur@...adcom.com
Subject: Re: [PATCH net-next 01/10] bnxt_en: Set NAPR 1.2 support when
 registering with firmware

On Sun, Jan 12, 2025 at 10:39:18PM -0800, Michael Chan wrote:
> NPAR 1.2 adds a transparent VLAN tag for all packets between the NIC
> and the switch.  Because of that, RX VLAN acceleration cannot be
> supported for any additional host configured VLANs.  The driver has
> to acknowledge that it can support no RX VLAN acceleration and
> set the NPAR 1.2 supported flag when registering with the FW.
> Otherwise, the FW call will fail and the driver will abort on these
> NPAR 1.2 NICs with this error:
> 
> bnxt_en 0000:26:00.0 (unnamed net_device) (uninitialized): hwrm req_type 0x1d seq id 0xb error 0x2
> 
> Reviewed-by: Somnath Kotur <somnath.kotur@...adcom.com>
> Signed-off-by: Michael Chan <michael.chan@...adcom.com>
> ---
>  drivers/net/ethernet/broadcom/bnxt/bnxt.c | 5 +++++
>  drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
>  2 files changed, 6 insertions(+)
> 
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> index 884d42db5554..8527788bed91 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> @@ -5537,6 +5537,8 @@ int bnxt_hwrm_func_drv_rgtr(struct bnxt *bp, unsigned long *bmap, int bmap_size,
>  	if (bp->fw_cap & BNXT_FW_CAP_ERROR_RECOVERY)
>  		flags |= FUNC_DRV_RGTR_REQ_FLAGS_ERROR_RECOVERY_SUPPORT |
>  			 FUNC_DRV_RGTR_REQ_FLAGS_MASTER_SUPPORT;
> +	if (bp->fw_cap & BNXT_FW_CAP_NPAR_1_2)
> +		flags |= FUNC_DRV_RGTR_REQ_FLAGS_NPAR_1_2_SUPPORT;
>  	req->flags = cpu_to_le32(flags);
>  	req->ver_maj_8b = DRV_VER_MAJ;
>  	req->ver_min_8b = DRV_VER_MIN;
> @@ -8338,6 +8340,7 @@ static int bnxt_hwrm_func_qcfg(struct bnxt *bp)
>  
>  	switch (resp->port_partition_type) {
>  	case FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_0:
> +	case FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_2:
>  	case FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_5:
>  	case FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR2_0:
>  		bp->port_partition_type = resp->port_partition_type;
> @@ -9502,6 +9505,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
>  		bp->fw_cap |= BNXT_FW_CAP_HOT_RESET_IF;
>  	if (BNXT_PF(bp) && (flags_ext & FUNC_QCAPS_RESP_FLAGS_EXT_FW_LIVEPATCH_SUPPORTED))
>  		bp->fw_cap |= BNXT_FW_CAP_LIVEPATCH;
> +	if (flags_ext & FUNC_QCAPS_RESP_FLAGS_EXT_NPAR_1_2_SUPPORTED)
> +		bp->fw_cap |= BNXT_FW_CAP_NPAR_1_2;
>  	if (BNXT_PF(bp) && (flags_ext & FUNC_QCAPS_RESP_FLAGS_EXT_DFLT_VLAN_TPID_PCP_SUPPORTED))
>  		bp->fw_cap |= BNXT_FW_CAP_DFLT_VLAN_TPID_PCP;
>  	if (flags_ext & FUNC_QCAPS_RESP_FLAGS_EXT_BS_V2_SUPPORTED)
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
> index 094c9e95b463..a634ad76177d 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
> @@ -2488,6 +2488,7 @@ struct bnxt {
>  	#define BNXT_FW_CAP_CFA_RFS_RING_TBL_IDX_V3	BIT_ULL(39)
>  	#define BNXT_FW_CAP_VNIC_RE_FLUSH		BIT_ULL(40)
>  	#define BNXT_FW_CAP_SW_MAX_RESOURCE_LIMITS	BIT_ULL(41)
> +	#define BNXT_FW_CAP_NPAR_1_2			BIT_ULL(42)
>  
>  	u32			fw_dbg_cap;
>  
> -- 
> 2.30.1

Reviewed-by: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ