[dpdk-dev] [PATCH v3 06/22] net/hns3: fix the jumbo frame flag condition for mtu set
oulijun
oulijun at huawei.com
Mon Jan 18 02:30:18 CET 2021
Acked-by: Lijun Ou <oulijun at huawei.com>
在 2021/1/14 17:46, Steve Yang 写道:
> The jumbo frame uses the 'RTE_ETHER_MAX_LEN' as boundary condition,
> but the Ether overhead is larger than 18 when it supports dual VLAN tags.
> That will cause the jumbo flag rx offload is wrong when MTU size is
> 'RTE_ETHER_MTU'.
>
> This fix will change the boundary condition with 'HSN3_DEFAULT_FRAME_LEN',
> that perhaps impacts the cases of the jumbo frame related.
>
> Fixes: 1f5ca0b460cd ("net/hns3: support some device operations")
> Fixes: a5475d61fa34 ("net/hns3: support VF")
>
> Signed-off-by: Steve Yang <stevex.yang at intel.com>
> ---
> drivers/net/hns3/hns3_ethdev.c | 2 +-
> drivers/net/hns3/hns3_ethdev_vf.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
> index 7c34e382fb..10e0c0de46 100644
> --- a/drivers/net/hns3/hns3_ethdev.c
> +++ b/drivers/net/hns3/hns3_ethdev.c
> @@ -2467,7 +2467,7 @@ hns3_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
> }
>
> rte_spinlock_lock(&hw->lock);
> - is_jumbo_frame = frame_size > RTE_ETHER_MAX_LEN ? true : false;
> + is_jumbo_frame = frame_size > HNS3_DEFAULT_FRAME_LEN ? true : false;
> frame_size = RTE_MAX(frame_size, HNS3_DEFAULT_FRAME_LEN);
>
> /*
> diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c
> index f09cabcd82..ef03fb1c4e 100644
> --- a/drivers/net/hns3/hns3_ethdev_vf.c
> +++ b/drivers/net/hns3/hns3_ethdev_vf.c
> @@ -928,7 +928,7 @@ hns3vf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
> rte_spinlock_unlock(&hw->lock);
> return ret;
> }
> - if (frame_size > RTE_ETHER_MAX_LEN)
> + if (mtu > RTE_ETHER_MTU)
> dev->data->dev_conf.rxmode.offloads |=
> DEV_RX_OFFLOAD_JUMBO_FRAME;
> else
>
More information about the dev
mailing list