> -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of David Marchand > Sent: Monday, June 01, 2015 1:11 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH] ixgbe: fix TSO in IPv6 > > From: Didier Pallard <didier.pallard at 6wind.com> > > When TSO is used with IPv6, generated frames are incorrect. > L4 frame is OK, but length field of IPv6 header was not populated correctly. > > Signed-off-by: Didier Pallard <didier.pallard at 6wind.com> > --- > drivers/net/ixgbe/ixgbe_rxtx.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c > index 4f9ab22..d123612 100644 > --- a/drivers/net/ixgbe/ixgbe_rxtx.c > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c > @@ -375,10 +375,15 @@ ixgbe_set_xmit_ctx(struct ixgbe_tx_queue *txq, > > /* check if TCP segmentation required for this packet */ > if (ol_flags & PKT_TX_TCP_SEG) { > - /* implies IP cksum and TCP cksum */ > - type_tucmd_mlhl = IXGBE_ADVTXD_TUCMD_IPV4 | > - IXGBE_ADVTXD_TUCMD_L4T_TCP | > - IXGBE_ADVTXD_DTYP_CTXT | IXGBE_ADVTXD_DCMD_DEXT; > + /* implies IP cksum in IPv4 */ > + if (ol_flags & PKT_TX_IP_CKSUM) > + type_tucmd_mlhl = IXGBE_ADVTXD_TUCMD_IPV4 | > + IXGBE_ADVTXD_TUCMD_L4T_TCP | > + IXGBE_ADVTXD_DTYP_CTXT | IXGBE_ADVTXD_DCMD_DEXT; > + else > + type_tucmd_mlhl = > + IXGBE_ADVTXD_TUCMD_L4T_TCP | > + IXGBE_ADVTXD_DTYP_CTXT | IXGBE_ADVTXD_DCMD_DEXT; > > tx_offload_mask.l2_len |= ~0; > tx_offload_mask.l3_len |= ~0; > --
Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com> > 1.7.10.4