[PATCH] net/tap: do not include l2 header in gso size when compared with mtu
Ophir Munk
ophirmu at nvidia.com
Tue May 24 16:01:06 CEST 2022
Hi all,
Please note that max size is calculated in the same function (drivers/net/tap/rte_eth_tap.c) as:
max_size = *txq->mtu + (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + 4);
Since tso_setgsz should not exceed the max packet size - the desired update should be:
tso_segsz > max_size
rather than the suggested one:
tso_segsz > *txq->mtu + mbuf_in->l2_len)
Regards,
Ophir
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit at amd.com>
> Sent: Saturday, May 21, 2022 1:08 AM
> To: Harold Huang <baymaxhuang at gmail.com>; dev at dpdk.org;
> jiayu.hu at intel.com; Ophir Munk <ophirmu at nvidia.com>; Raslan Darawsheh
> <rasland at nvidia.com>
> Cc: stable at dpdk.org; Keith Wiles <keith.wiles at intel.com>
> Subject: Re: [PATCH] net/tap: do not include l2 header in gso size when
> compared with mtu
>
> On 3/8/2022 2:35 PM, Harold Huang wrote:
> > On Mon, Feb 28, 2022 at 4:27 PM Harold Huang
> <baymaxhuang at gmail.com> wrote:
> >>
> >> The gso size is calculated with all of the headers and payload. As a
> >> result, the l2 header should not be included when comparing gso size
> >> with mtu.
> >>
> >> Fixes: 050316a88313 ("net/tap: support TSO (TCP Segment Offload)")
> >> Cc: stable at dpdk.org
> >> Signed-off-by: Harold Huang <baymaxhuang at gmail.com>
> >> ---
> >> drivers/net/tap/rte_eth_tap.c | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/net/tap/rte_eth_tap.c
> >> b/drivers/net/tap/rte_eth_tap.c index f1b48cae82..2b561d232c 100644
> >> --- a/drivers/net/tap/rte_eth_tap.c
> >> +++ b/drivers/net/tap/rte_eth_tap.c
> >> @@ -731,7 +731,7 @@ pmd_tx_burst(void *queue, struct rte_mbuf
> **bufs, uint16_t nb_pkts)
> >> mbuf_in->l4_len;
> >> tso_segsz = mbuf_in->tso_segsz + hdrs_len;
> >> if (unlikely(tso_segsz == hdrs_len) ||
> >> - tso_segsz > *txq->mtu) {
> >> + tso_segsz > *txq->mtu +
> >> + mbuf_in->l2_len) {
> >> txq->stats.errs++;
> >> break;
> >> }
> >> --
> >> 2.27.0
> >>
> >
> > Hi, Jiayu,
> >
> > This is the only example in the driver to use GSO. I think it is
> > important for us to calculate a correct GSO size. I see you are the
> > GSO lib maintainer, could you please help review this patch?
>
>
> Hi Jiayu, Ophir,
>
> Can you please review this patch?
>
> For reference, patchwork link:
> https://patches.dpdk.org/project/dpdk/patch/20220228082724.1646930-1-
> baymaxhuang at gmail.com/
>
> Thanks,
> ferruh
More information about the stable
mailing list