DPDK patches and discussions
 help / color / mirror / Atom feed
From: Banashankar KV <banveerad@gmail.com>
To: Vladimir Medvedkin <medvedkinv@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 11:25:48 -0800	[thread overview]
Message-ID: <CABkBM5FDNu2VbX-6oCKZB3uJECg1LbZKrn-xtE+-n7uvNZkfCA@mail.gmail.com> (raw)
In-Reply-To: <CANDrEHnGjpbg-qPf4=tUuTvgT-gH+-3-J-6kfgM0_c6w-M3M1w@mail.gmail.com>

Hi Vladimir,
Once I added the pseudo header I was able to offload the TCP checksum.
Thanks a lot.

Thanks
Banashankar



On Mon, Jan 27, 2014 at 12:02 AM, Vladimir Medvedkin
<medvedkinv@gmail.com>wrote:

> Hi Banashankar,
>
> For proper TCP checksum calculation you have to calculate checksum over
> pseudo header (see app/test-pmd/cmdline.c) and put result in tcp_hdr->cksum
>
>
> 2014-01-26 Wiles, Roger Keith <keith.wiles@windriver.com>
>
>>  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
>>
>>
>>
>> Regards,
> Vladimir
>

  reply	other threads:[~2014-01-27 19:24 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
2014-01-27  8:02       ` Vladimir Medvedkin
2014-01-27 19:25         ` Banashankar KV [this message]
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=CABkBM5FDNu2VbX-6oCKZB3uJECg1LbZKrn-xtE+-n7uvNZkfCA@mail.gmail.com \
    --to=banveerad@gmail.com \
    --cc=dev@dpdk.org \
    --cc=medvedkinv@gmail.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).