[dpdk-dev] Regarding UDP checksum offload

Olivier MATZ olivier.matz at 6wind.com
Wed Jan 28 14:02:43 CET 2015


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



More information about the dev mailing list