On Mon, Feb 28, 2022 at 4:27 PM Harold Huang <baymaxhu...@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: sta...@dpdk.org > Signed-off-by: Harold Huang <baymaxhu...@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?