All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olivier MATZ <olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: Prashant Upadhyaya
	<praupadhyaya-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	dev-VfR2kkLFssw@public.gmane.org
Subject: Re: Regarding UDP checksum offload
Date: Wed, 28 Jan 2015 14:02:43 +0100	[thread overview]
Message-ID: <54C8DDF3.2000802@6wind.com> (raw)
In-Reply-To: <CAPBAu3V594AoWqzWoFBhwyqq9uodkcrof88eHoE3QpF75uXuwA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Hi Prashant,

On 01/28/2015 12:25 PM, Prashant Upadhyaya wrote:
> Hi,
>
> I am aware that this topic has been discussed several times before, but I
> am somehow still stuck with this.
>
> I am using dpdk 1.6r1, intel 82599 NIC.
> I have an mbuf, I have hand-constructed a UDP packet (IPv4) in the data
> portion, filled the relevant fields of the headers and I do a tx burst. No
> problems, the destination gets the packet. I filled UDP checksum as zero
> and there was no checksum offloaded in ol_flags.
>
> Now in the same usecase, I want to offload UDP checksum.
> I am aware that the checksum field in UDP header has to be filled with the
> pseudo header checksum, I did that, duly added the PKT_TX_UDP_CKSUM flag in
> ol_flags, did a tx_burst and the packet does not reach the destination.
>
> I realized that I have to fill the following fields as well (my packet does
> not have vlan tag)
> mbuf->pkt.vlan_macip.f.l2_len
> mbuf->pkt.vlan_macip.f.l3_len
>
> so I filled the l2_len as 14 and l3_len as 20 (IP header with no options)
> Yet the packet did not reach the destination.
>
> So my question is -- am I filling the l2_len and l3_len properly ?
> Is there anything else to be done before I can get this UDP checksum
> offload to work properly for me.


As far as I remember, this should be working on 1.6r1.
When you say "did not reach the destination", do you mean that the
packet is not transmitted at all? Or is it transmitted with a wrong
checksum?

I think you should try to reproduce the issue with the latest DPDK
which is known to work with test-pmd (csum forward engine).

Regards,
Olivier

  parent reply	other threads:[~2015-01-28 13:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-28 11:25 Regarding UDP checksum offload Prashant Upadhyaya
     [not found] ` <CAPBAu3V594AoWqzWoFBhwyqq9uodkcrof88eHoE3QpF75uXuwA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-28 13:02   ` Olivier MATZ [this message]
     [not found]     ` <54C8DDF3.2000802-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2015-01-28 14:57       ` Prashant Upadhyaya
     [not found]         ` <CAPBAu3Vy8ESOeyLmr3enn8-4o3aHqhbmbOnSp6nyaH7rggpT0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-28 15:09           ` Olivier MATZ
     [not found]             ` <54C8FB95.7040503-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2015-01-29 12:56               ` Prashant Upadhyaya
     [not found]                 ` <CAPBAu3V6Dwt=MTauBpBU9QxySk4Rj6n5ARZ4PsvZujWQe3w1ew-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-30  9:15                   ` Olivier MATZ

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=54C8DDF3.2000802@6wind.com \
    --to=olivier.matz-pdr9zngts4eavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=praupadhyaya-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.