[DPDK,v3] net/e1000: add VLAN extend feature to capability

Message ID 20200721030514.18947-1-zhihongx.peng@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series [DPDK,v3] net/e1000: add VLAN extend feature to capability |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-intel-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS

Commit Message

Peng, ZhihongX July 21, 2020, 3:05 a.m. UTC
  From: Peng Zhihong <zhihongx.peng@intel.com>

The rte_eth_dev_set_vlan_offload function will check vlan rx offload
capability, the i350/i210/i211 nics have vlan extend feature but
DEV_RX_OFFLOAD_VLAN_EXTEND is not set into the capability, that will
cause setting fail. So need to add this capability in
igb_get_rx_port_offloads_capa function.

Fixes: ef990fb56e55 ("net/e1000: convert to new Rx offloads API")
Cc: stable@dpdk.org

Signed-off-by: Peng Zhihong <zhihongx.peng@intel.com>
---
 drivers/net/e1000/igb_rxtx.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
  

Comments

Zhao1, Wei July 21, 2020, 3:31 a.m. UTC | #1
Reviewed-by: Wei Zhao <wei.zhao1@intel.com>

> -----Original Message-----
> From: Peng, ZhihongX <zhihongx.peng@intel.com>
> Sent: Tuesday, July 21, 2020 11:05 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; Guo, Jia <jia.guo@intel.com>
> Cc: dev@dpdk.org; Peng, ZhihongX <zhihongx.peng@intel.com>;
> stable@dpdk.org
> Subject: [DPDK v3] net/e1000: add VLAN extend feature to capability
> 
> From: Peng Zhihong <zhihongx.peng@intel.com>
> 
> The rte_eth_dev_set_vlan_offload function will check vlan rx offload capability,
> the i350/i210/i211 nics have vlan extend feature but
> DEV_RX_OFFLOAD_VLAN_EXTEND is not set into the capability, that will cause
> setting fail. So need to add this capability in igb_get_rx_port_offloads_capa
> function.
> 
> Fixes: ef990fb56e55 ("net/e1000: convert to new Rx offloads API")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Peng Zhihong <zhihongx.peng@intel.com>
> ---
>  drivers/net/e1000/igb_rxtx.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c index
> 5717cdb70..6411924e0 100644
> --- a/drivers/net/e1000/igb_rxtx.c
> +++ b/drivers/net/e1000/igb_rxtx.c
> @@ -1637,8 +1637,10 @@ uint64_t
>  igb_get_rx_port_offloads_capa(struct rte_eth_dev *dev)  {
>  	uint64_t rx_offload_capa;
> +	struct e1000_hw *hw;
> +
> +	hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> 
> -	RTE_SET_USED(dev);
>  	rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP  |
>  			  DEV_RX_OFFLOAD_VLAN_FILTER |
>  			  DEV_RX_OFFLOAD_IPV4_CKSUM  |
> @@ -1649,6 +1651,11 @@ igb_get_rx_port_offloads_capa(struct rte_eth_dev
> *dev)
>  			  DEV_RX_OFFLOAD_SCATTER     |
>  			  DEV_RX_OFFLOAD_RSS_HASH;
> 
> +	if (hw->mac.type == e1000_i350 ||
> +	    hw->mac.type == e1000_i210 ||
> +	    hw->mac.type == e1000_i211)
> +		rx_offload_capa |= DEV_RX_OFFLOAD_VLAN_EXTEND;
> +
>  	return rx_offload_capa;
>  }
> 
> --
> 2.17.1
  
Qi Zhang July 21, 2020, 5:05 a.m. UTC | #2
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Zhao1, Wei
> Sent: Tuesday, July 21, 2020 11:31 AM
> To: Peng, ZhihongX <zhihongx.peng@intel.com>; Guo, Jia <jia.guo@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: Re: [dpdk-dev] [DPDK v3] net/e1000: add VLAN extend feature to
> capability
> 
> Reviewed-by: Wei Zhao <wei.zhao1@intel.com>
> 
> > -----Original Message-----
> > From: Peng, ZhihongX <zhihongx.peng@intel.com>
> > Sent: Tuesday, July 21, 2020 11:05 AM
> > To: Zhao1, Wei <wei.zhao1@intel.com>; Guo, Jia <jia.guo@intel.com>
> > Cc: dev@dpdk.org; Peng, ZhihongX <zhihongx.peng@intel.com>;
> > stable@dpdk.org
> > Subject: [DPDK v3] net/e1000: add VLAN extend feature to capability
> >
> > From: Peng Zhihong <zhihongx.peng@intel.com>
> >
> > The rte_eth_dev_set_vlan_offload function will check vlan rx offload
> > capability, the i350/i210/i211 nics have vlan extend feature but
> > DEV_RX_OFFLOAD_VLAN_EXTEND is not set into the capability, that will
> > cause setting fail. So need to add this capability in
> > igb_get_rx_port_offloads_capa function.
> >
> > Fixes: ef990fb56e55 ("net/e1000: convert to new Rx offloads API")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Peng Zhihong <zhihongx.peng@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
  

Patch

diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c
index 5717cdb70..6411924e0 100644
--- a/drivers/net/e1000/igb_rxtx.c
+++ b/drivers/net/e1000/igb_rxtx.c
@@ -1637,8 +1637,10 @@  uint64_t
 igb_get_rx_port_offloads_capa(struct rte_eth_dev *dev)
 {
 	uint64_t rx_offload_capa;
+	struct e1000_hw *hw;
+
+	hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
-	RTE_SET_USED(dev);
 	rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP  |
 			  DEV_RX_OFFLOAD_VLAN_FILTER |
 			  DEV_RX_OFFLOAD_IPV4_CKSUM  |
@@ -1649,6 +1651,11 @@  igb_get_rx_port_offloads_capa(struct rte_eth_dev *dev)
 			  DEV_RX_OFFLOAD_SCATTER     |
 			  DEV_RX_OFFLOAD_RSS_HASH;
 
+	if (hw->mac.type == e1000_i350 ||
+	    hw->mac.type == e1000_i210 ||
+	    hw->mac.type == e1000_i211)
+		rx_offload_capa |= DEV_RX_OFFLOAD_VLAN_EXTEND;
+
 	return rx_offload_capa;
 }