net/iavf: fix L3 checksum Tx offload flag
When ol_flag is only RTE_MBUF_F_TX_IPV4, the Tx L3
checksum offload is still configured to IIPT in the
command field of Tx data descriptor.
This patch is to fix the issue to make the Tx L3
checksum offload flags and Tx data descriptor
consistent.
Fixes: 1e728b0112
("net/iavf: rework Tx path")
Cc: stable@dpdk.org
Signed-off-by: Ke Zhang <ke1x.zhang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
parent
c0444f6273
commit
817577c03a
@ -2538,9 +2538,11 @@ iavf_build_data_desc_cmd_offset_fields(volatile uint64_t *qw1,
|
||||
offset |= (m->l2_len >> 1) << IAVF_TX_DESC_LENGTH_MACLEN_SHIFT;
|
||||
|
||||
/* Enable L3 checksum offloading inner */
|
||||
if (m->ol_flags & (RTE_MBUF_F_TX_IP_CKSUM | RTE_MBUF_F_TX_IPV4)) {
|
||||
command |= IAVF_TX_DESC_CMD_IIPT_IPV4_CSUM;
|
||||
offset |= (m->l3_len >> 2) << IAVF_TX_DESC_LENGTH_IPLEN_SHIFT;
|
||||
if (m->ol_flags & RTE_MBUF_F_TX_IP_CKSUM) {
|
||||
if (m->ol_flags & RTE_MBUF_F_TX_IPV4) {
|
||||
command |= IAVF_TX_DESC_CMD_IIPT_IPV4_CSUM;
|
||||
offset |= (m->l3_len >> 2) << IAVF_TX_DESC_LENGTH_IPLEN_SHIFT;
|
||||
}
|
||||
} else if (m->ol_flags & RTE_MBUF_F_TX_IPV4) {
|
||||
command |= IAVF_TX_DESC_CMD_IIPT_IPV4;
|
||||
offset |= (m->l3_len >> 2) << IAVF_TX_DESC_LENGTH_IPLEN_SHIFT;
|
||||
|
Loading…
Reference in New Issue
Block a user