DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: "Wiles, Roger Keith (Wind River)" <keith.wiles@windriver.com>,
	"Banashankar KV" <banveerad@gmail.com>
Cc: "<dev@dpdk.org>" <dev@dpdk.org>
Subject: Re: [dpdk-dev] pktgen offload checksum flag not able to make it work with pacp packets.
Date: Mon, 27 Jan 2014 00:38:09 +0000	[thread overview]
Message-ID: <2601191342CEEE43887BDE71AB97725808E61A0F@IRSMSX105.ger.corp.intel.com> (raw)
In-Reply-To: <7B58AC42-4409-4448-A748-BADA7F37E32C@windriver.com>

Hey,
As I remember, for TCP and UDP checksum HW offload, SW is responsible for generating and setting psudo-header checksum.
>From  82599 datasheet, 7.2.5.2:
Note: For non-TSO, software still needs to calculate a full checksum for the TCP/
UDP pseudo-header. This checksum of the pseudo-header should be placed
in the packet data buffer at the appropriate offset for the checksum
calculation.
Refer to app/test-pmd/csumonly.c for an example.
Konstantin

-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wiles, Roger Keith
Sent: Sunday, January 26, 2014 2:47 AM
To: Banashankar KV
Cc: <dev@dpdk.org>
Subject: Re: [dpdk-dev] pktgen offload checksum flag not able to make it work with pacp packets.

Hi Banashankar,

The tx_conf is used in the pktgen_config_ports() with the rte_eth_tx_queue_setup() and I am not sure why it matters that tx_conf is disable. The values are mostly zero, but some type of interaction must be going on. It may be the txq_flags being set to  IXGBE_SIMPLE_FLAGS and it is overriding the the per packet flag later. You will need to look at the driver to determine the real reason.

The checksum should not be wrong unless the hardware registers are not setup correctly, but I would not think that is the case. You may want to verify the checksum is correct another way, because I can not see the hardware doing the checksum wrong.

Thanks
++Keith


Keith Wiles, Principal Technologist for Networking member of the CTO office, Wind River mobile 940.213.5533 [Powering 30 Years of Innovation]<http://www.windriver.com/announces/wr30/>

On Jan 25, 2014, at 4:53 PM, Banashankar KV <banveerad@gmail.com<mailto:banveerad@gmail.com>> wrote:

Hi,
Thanks a lot for the reply !
Yes I have checked those examples and had set all those flags. But IP checksum started working after commenting off the txq_flags from the pktgen.c file's tx_conf .

And I added the following flag to calculate the tcp checksum.

m->ol_flags  |= PKT_TX_TCP_CKSUM

its calculating the TCP checksum but turning out to be wrong checksum.

Thanks
Banashankar



On Fri, Jan 24, 2014 at 11:44 AM, Wiles, Roger Keith <keith.wiles@windriver.com<mailto:keith.wiles@windriver.com>> wrote:
I have not enabled that feature myself, but I would expect it to work as long as the hardware does. What does the docs say about enabling hardware offload support? Did you look at the following files:

ip_reassembly/ipv4_rsmbl.h:     m->ol_flags |= PKT_TX_IP_CKSUM;
ipv4_frag/rte_ipv4_frag.h:              out_pkt->ol_flags |= PKT_TX_IP_CKSUM;

Thanks
++Keith

Keith Wiles, Principal Technologist for Networking member of the CTO office, Wind River mobile 940.213.5533<tel:940.213.5533> [Powering 30 Years of Innovation]<http://www.windriver.com/announces/wr30/>

On Jan 24, 2014, at 12:54 PM, Banashankar KV <banveerad@gmail.com<mailto:banveerad@gmail.com>> wrote:

I was modifying a packet in pktgen_pcap_mbuf_ctor() and after modifying I wanted to offload the checksum calculation to h/w so I am setting these flags in pktgen_pcap_mbuf_ctor function.

m->pkt.vlan_macip.f.l2_len = sizeof(struct ether_hdr); 
m->pkt.vlan_macip.f.l3_len = sizeof(struct ipv4_hdr);

m->ol_flags = PKT_TX_IP_CKSUM


I even tried with setting .txq_flags = 0 in rte_eth_txconf struct in pktgen.c.

But still not able to get the h/w checksum. Am I missing anything ?



Thanks
Banashankar



--------------------------------------------------------------
Intel Shannon Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263
Business address: Dromore House, East Park, Shannon, Co. Clare

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

  reply	other threads:[~2014-01-27  0:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-24 18:54 Banashankar KV
2014-01-24 19:44 ` Wiles, Roger Keith
2014-01-25 22:53   ` Banashankar KV
2014-01-26  2:46     ` Wiles, Roger Keith
2014-01-27  0:38       ` Ananyev, Konstantin [this message]
2014-01-27  8:02       ` Vladimir Medvedkin
2014-01-27 19:25         ` Banashankar KV
2014-01-27 19:04       ` Banashankar KV

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=2601191342CEEE43887BDE71AB97725808E61A0F@IRSMSX105.ger.corp.intel.com \
    --to=konstantin.ananyev@intel.com \
    --cc=banveerad@gmail.com \
    --cc=dev@dpdk.org \
    --cc=keith.wiles@windriver.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).