[DPDK,v3] net/e1000: add VLAN extend feature to capability
Checks
Commit Message
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
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
> -----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
@@ -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;
}