[dpdk-dev] [EXT] [PATCH v2 12/22] net/octeontx2: fix the jumbo frame flag condition for mtu

Sunil Kumar Kori skori at marvell.com
Mon Dec 21 08:19:41 CET 2020


>-----Original Message-----
>From: Steve Yang <stevex.yang at intel.com>
>Sent: Thursday, December 17, 2020 2:53 PM
>To: dev at dpdk.org
>Cc: wenzhuo.lu at intel.com; beilei.xing at intel.com;
>bernard.iremonger at intel.com; asomalap at amd.com;
>rahul.lakkireddy at chelsio.com; hemant.agrawal at nxp.com;
>sachin.saxena at oss.nxp.com; jia.guo at intel.com; haiyue.wang at intel.com;
>g.singh at nxp.com; xuanziyang2 at huawei.com;
>cloud.wangxiaoyun at huawei.com; zhouguoyang at huawei.com;
>xavier.huwei at huawei.com; humin29 at huawei.com;
>yisen.zhuang at huawei.com; oulijun at huawei.com; jingjing.wu at intel.com;
>qiming.yang at intel.com; qi.z.zhang at intel.com; rosen.xu at intel.com; Shijith
>Thotton <sthotton at marvell.com>; Srisivasubramanian Srinivasan
><srinivasan at marvell.com>; heinrich.kuhn at netronome.com; Harman Kalra
><hkalra at marvell.com>; Jerin Jacob Kollanukkaran <jerinj at marvell.com>;
>Nithin Kumar Dabilpuram <ndabilpuram at marvell.com>; Kiran Kumar
>Kokkilagadda <kirankumark at marvell.com>; Rasesh Mody
><rmody at marvell.com>; Shahed Shaikh <shshaikh at marvell.com>;
>andrew.rybchenko at oktetlabs.ru; Maciej Czekaj [C] <mczekaj at marvell.com>;
>thomas at monjalon.net; ferruh.yigit at intel.com; ivan.boule at 6wind.com;
>konstantin.ananyev at intel.com; samuel.gauthier at 6wind.com;
>david.marchand at 6wind.com; shahafs at mellanox.com;
>stephen at networkplumber.org; maxime.coquelin at redhat.com;
>olivier.matz at 6wind.com; lihuisong at huawei.com; shreyansh.jain at nxp.com;
>wei.dai at intel.com; fengchunsong at huawei.com; chenhao164 at huawei.com;
>tangchengchang at hisilicon.com; helin.zhang at intel.com;
>yanglong.wu at intel.com; xiaolong.ye at intel.com; ting.xu at intel.com;
>xiaoyun.li at intel.com; dan.wei at intel.com; andy.pei at intel.com; Vamsi
>Krishna Attunuru <vattunuru at marvell.com>; Sunil Kumar Kori
><skori at marvell.com>; sony.chacko at qlogic.com;
>bruce.richardson at intel.com; ivan.malov at oktetlabs.ru; rad at semihalf.com;
>slawomir.rosek at semihalf.com; kamil.rytarowski at caviumnetworks.com;
>wei.zhao1 at intel.com; junyux.jiang at intel.com; kumaras at chelsio.com;
>girish.nandibasappa at amd.com; rolf.neugebauer at netronome.com;
>alejandro.lucero at netronome.com; Steve Yang <stevex.yang at intel.com>
>Subject: [EXT] [PATCH v2 12/22] net/octeontx2: fix the jumbo frame flag
>condition for mtu
>
>External Email
>
>----------------------------------------------------------------------
>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: Sunil Kumar Kori <skori at mavell.com>


More information about the dev mailing list