From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Matz Subject: [PATCH RFC 01/11] igb/ixgbe: fix IP checksum calculation Date: Fri, 9 May 2014 16:50:28 +0200 Message-ID: <1399647038-15095-2-git-send-email-olivier.matz@6wind.com> References: <1399647038-15095-1-git-send-email-olivier.matz@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable To: dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: <1399647038-15095-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" According to Intel=C2=AE 82599 10 GbE Controller Datasheet (Table 7-38), = both L2 and L3 lengths are needed to offload the IP checksum. Note that the e1000 driver does not need to be patched as it already contains the fix. Signed-off-by: Olivier Matz --- lib/librte_pmd_e1000/igb_rxtx.c | 2 +- lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_pmd_e1000/igb_rxtx.c b/lib/librte_pmd_e1000/igb_r= xtx.c index 4608595..b3c8149 100644 --- a/lib/librte_pmd_e1000/igb_rxtx.c +++ b/lib/librte_pmd_e1000/igb_rxtx.c @@ -233,7 +233,7 @@ igbe_set_xmit_ctx(struct igb_tx_queue* txq, =20 if (ol_flags & PKT_TX_IP_CKSUM) { type_tucmd_mlhl =3D E1000_ADVTXD_TUCMD_IPV4; - cmp_mask |=3D TX_MAC_LEN_CMP_MASK; + cmp_mask |=3D TX_MACIP_LEN_CMP_MASK; } =20 /* Specify which HW CTX to upload. */ diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/lib/librte_pmd_ixgbe/ixg= be_rxtx.c index 55414b9..4e307c2 100644 --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c @@ -367,7 +367,7 @@ ixgbe_set_xmit_ctx(struct igb_tx_queue* txq, =20 if (ol_flags & PKT_TX_IP_CKSUM) { type_tucmd_mlhl =3D IXGBE_ADVTXD_TUCMD_IPV4; - cmp_mask |=3D TX_MAC_LEN_CMP_MASK; + cmp_mask |=3D TX_MACIP_LEN_CMP_MASK; } =20 /* Specify which HW CTX to upload. */ --=20 1.9.2