DPDK usage discussions
 help / color / mirror / Atom feed
From: David Aldrich <david.aldrich.ntml@gmail.com>
To: users <users@dpdk.org>
Subject: [dpdk-users] Checksum offloading changes in DPDK v.19?
Date: Mon, 26 Apr 2021 16:31:11 +0100
Message-ID: <CAJK_ieiG_Rss8sGtM5jX3ipXEzERXJzJq0pHfFKHw1ZejrF7Rw@mail.gmail.com> (raw)

Hi

Since upgrading from DPDK 18.11.9 to 19.11.8 UDP TX checksum offloading has
stopped working on our X722 device.

I enable offloading as follows:

First I check the device capability:

struct rte_eth_dev_info dev_info;
rte_eth_dev_info_get(a_portId, &dev_info);
if ((dev_info.tx_offload_capa & DEV_TX_OFFLOAD_MULTI_SEGS) == 0)
        fatal("Socket_setupPort failed: Ethernet device lacks capabability:
DEV_TX_OFFLOAD_MULTI_SEGS");
if ((dev_info.tx_offload_capa & DEV_TX_OFFLOAD_IPV4_CKSUM) == 0)
        fatal("Socket_setupPort failed: Ethernet device lacks capabability:
DEV_TX_OFFLOAD_IPV4_CKSUM");
if ((dev_info.tx_offload_capa & DEV_TX_OFFLOAD_UDP_CKSUM) == 0)
        fatal("Socket_setupPort failed: Ethernet device lacks capabability:
DEV_TX_OFFLOAD_UDP_CKSUM");

Then I enable offloading:

struct rte_eth_conf local_port_conf;
local_port_conf.txmode.offloads = local_port_conf.txmode.offloads |
DEV_TX_OFFLOAD_IPV4_CKSUM  | DEV_TX_OFFLOAD_UDP_CKSUM;

I notice that the 19.08 release notes mention checksum changes:

"ip_frag: The IP fragmentation library converts input mbuf into fragments
using input MTU size via the rte_ipv4_fragment_packet() interface. Once
fragmentation is done, each mbuf->ol_flags are set to enable IP checksum
H/W offload irrespective of the platform capability. Cleared IP checksum
H/W offload flag from the library. The application must set this flag if it
is supported by the platform and application wishes to use it."

Could that be related to my problem or is there another change that may
have caused the problem?

Best regards
David

                 reply	other threads:[~2021-04-26 15:31 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJK_ieiG_Rss8sGtM5jX3ipXEzERXJzJq0pHfFKHw1ZejrF7Rw@mail.gmail.com \
    --to=david.aldrich.ntml@gmail.com \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ https://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git