[dpdk-dev] [PATCH v2 12/22] net/octeontx2: fix the jumbo frame flag condition for mtu
Nithin Dabilpuram
nithind1988 at gmail.com
Fri Dec 18 11:15:12 CET 2020
On Thu, Dec 17, 2020 at 09:23:02AM +0000, Steve Yang wrote:
> 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 'RTE_ETHER_MTU' and
> overhead.
>
> Fixes: 0e2efd02db58 ("net/octeontx2: add MTU set operation")
>
> Signed-off-by: Steve Yang <stevex.yang at intel.com>
> ---
> drivers/net/octeontx2/otx2_ethdev.h | 2 ++
> drivers/net/octeontx2/otx2_ethdev_ops.c | 2 +-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h
> index 3b9871f4dc..99f0469d89 100644
> --- a/drivers/net/octeontx2/otx2_ethdev.h
> +++ b/drivers/net/octeontx2/otx2_ethdev.h
> @@ -51,6 +51,8 @@
> /* ETH_HLEN+ETH_FCS+2*VLAN_HLEN */
> #define NIX_L2_OVERHEAD \
> (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + 8)
> +#define NIX_L2_MAX_LEN \
> + (RTE_ETHER_MTU + NIX_L2_OVERHEAD)
>
> /* HW config of frame size doesn't include FCS */
> #define NIX_MAX_HW_FRS 9212
> diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c
> index b36d37b9f7..963cc285ed 100644
> --- a/drivers/net/octeontx2/otx2_ethdev_ops.c
> +++ b/drivers/net/octeontx2/otx2_ethdev_ops.c
> @@ -58,7 +58,7 @@ otx2_nix_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu)
> if (rc)
> return rc;
>
> - if (frame_size > RTE_ETHER_MAX_LEN)
> + if (frame_size > NIX_L2_MAX_LEN)
> dev->rx_offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
> else
> dev->rx_offloads &= ~DEV_RX_OFFLOAD_JUMBO_FRAME;
> --
> 2.17.1
>
Acked-by: Nithin Dabilpuram <ndabilpuram at marvell.com>
More information about the dev
mailing list