[dpdk-dev] [PATCH v2 11/12] net/bnxt: set VLAN strip mode before default vnic cfg

Ferruh Yigit ferruh.yigit at intel.com
Tue Sep 25 13:34:15 CEST 2018


On 9/22/2018 5:55 AM, Ajit Khaparde wrote:
> From: Bei Sun <bei.sun at broadcom.com>
> 
> Firmware sets pf pair in default vnic cfg. If the VLAN strip
> setting is not available at this time, it will not be
> configured correctly in the CFA.
> Set the desired VLAN strip mode before default vnic configuration.

vnic used as uppercase in prev patch titles, can you please make usage consistent?

> 
> Signed-off-by: Bei Sun <bei.sun at broadcom.com>
> Signed-off-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
> ---
>  drivers/net/bnxt/bnxt_ethdev.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index e1b684c2e..e605df424 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -202,7 +202,9 @@ static int bnxt_init_chip(struct bnxt *bp)
>  	struct bnxt_rx_queue *rxq;
>  	struct rte_eth_link new;
>  	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(bp->eth_dev);
> +	struct rte_eth_conf *dev_conf = &bp->eth_dev->data->dev_conf;
>  	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
> +	uint64_t rx_offloads = dev_conf->rxmode.offloads;
>  	uint32_t intr_vector = 0;
>  	uint32_t queue_id, base = BNXT_MISC_VEC_ID;
>  	uint32_t vec = BNXT_MISC_VEC_ID;
> @@ -283,6 +285,16 @@ static int bnxt_init_chip(struct bnxt *bp)
>  			}
>  		}
>  
> +		/*
> +		 * Firmware sets pf pair in default vnic cfg. If the VLAN strip
> +		 * setting is not available at this time, it will not be
> +		 * configured correctly in the CFA.
> +		 */
> +		if (rx_offloads & DEV_RX_OFFLOAD_VLAN_STRIP)
> +			vnic->vlan_strip = true;
> +		else
> +			vnic->vlan_strip = false;
> +
>  		rc = bnxt_hwrm_vnic_cfg(bp, vnic);
>  		if (rc) {
>  			PMD_DRV_LOG(ERR, "HWRM vnic %d cfg failure rc: %x\n",
> 



More information about the dev mailing list