DPDK usage discussions
 help / color / mirror / Atom feed
From: Cliff Burdick <shaklee3@gmail.com>
To: David Aldrich <david.aldrich.ntml@gmail.com>
Cc: users <users@dpdk.org>
Subject: Re: [dpdk-users] Why is udp packet, sent by dpdk, received with zero'd payload?
Date: Wed, 1 Jul 2020 08:38:53 -0700	[thread overview]
Message-ID: <CA+Gp1na3w+8ouJGXoxFYSAbA+O43K2CD9zGnVnxJbSYqJidjnA@mail.gmail.com> (raw)
In-Reply-To: <CAJK_iegMP3fLAaDzvDQrzz2U0+ARegj+i4HcWzndgqLOyBBFow@mail.gmail.com>

How are you setting up ptMbuf before you call those? It seems that if you
had a payload beyond the UDP header you would need to set those
appropriately in the data/pkt_len fields prior to those calls.

On Wed, Jul 1, 2020 at 8:06 AM David Aldrich <david.aldrich.ntml@gmail.com>
wrote:

> >If you look at the code for  rte_pktmbuf_prepend  it appears to be just
> >incrementing data_len and pkt_len by the same amount.
>
> I'm sorry, but I don't understand. My calls to rte_pktmbuf_prepend are:
>
>
> p_udp_hdr = (struct udp_hdr*)rte_pktmbuf_prepend(ptMbuf, (uint16_t)sizeof(struct udp_hdr));
> p_ip_hdr  = (struct ipv4_hdr*)rte_pktmbuf_prepend(ptMbuf, (uint16_t)sizeof(struct ipv4_hdr));
>
> are you saying that those calls are wrong?  When you say 'if you look at the code' are you referring to this code?
>
> (I thought it best that I should ask for clarification rather than guess).
>
> Thanks
>
>
> On Wed, Jul 1, 2020 at 3:59 PM Cliff Burdick <shaklee3@gmail.com> wrote:
>
>> If you look at the code for  rte_pktmbuf_prepend  it appears to be just
>> incrementing data_len and pkt_len by the same amount. My guess is that
>> those fields were not set to the correct values before you called
>> rte_pktmbuf_prepend().
>>
>> On Wed, Jul 1, 2020 at 6:41 AM David Aldrich <
>> david.aldrich.ntml@gmail.com> wrote:
>>
>>> I think this is where my lack of understanding is my problem.  Looking
>>> at the mbuf dump:
>>>
>>> dump mbuf at 0x53e4e92c0, iova=73e4e9340, buf_len=2176
>>>   pkt_len=57, ol_flags=c0000000000000, nb_segs=2, in_port=65535
>>>   segment at 0x53e4e92c0, data=0x53e4e9396, data_len=42
>>>   Dump data at [0x53e4e9396], len=42
>>> 00000000: 94 40 C9 1F C4 DB 94 40 C9 1E 13 7D 08 00 45 B8 | .@.....@...}..E.
>>> 00000010: 00 2B 00 00 00 00 40 11 F5 E8 C0 A8 01 69 C0 A8 | .+....@......i..
>>> 00000020: 01 68 0B B9 0B B8 00 17 64 2D |  |  |  |  |  |  | .h......d-
>>>   segment at 0x53e146e40, data=0x53e4fbbc0, data_len=15
>>>   Dump data at [0x53e4fbbc0], len=15
>>> 00000000: 48 65 6C 6C 6F 20 66 72 6F 6D 20 64 70 64 6B |  | Hello from dpdk
>>>
>>> It consists of two parts (segments?), of lengths 42 and 15. This makes sense to me as I first
>>> put the payload in the mbuf (15 bytes) and then added the Ethernet and L3 headers (42 bytes) by calling rte_pktmbuf_prepend().
>>>
>>> I guess only the first segment is getting transmitted?
>>>
>>>
>>> On Wed, Jul 1, 2020 at 1:57 PM Cliff Burdick <shaklee3@gmail.com> wrote:
>>>
>>>> Are you setting data_len and packet_len in the mbuf before sending?
>>>>
>>>>
>>>> On Wed, Jul 1, 2020, 03:23 David Aldrich <david.aldrich.ntml@gmail.com>
>>>> wrote:
>>>>
>>>>>  Hi,
>>>>>
>>>>> I have a problem transmitting udp packets with dpdk-stable-18.11.8. I
>>>>> have
>>>>> posted a question about it on stackoverflow:
>>>>>
>>>>>
>>>>> https://stackoverflow.com/questions/62674596/why-is-udp-packet-sent-by-dpdk-received-with-zerod-payload
>>>>>
>>>>> I would be grateful for any comments either there or in this group
>>>>> please.
>>>>>
>>>>> Best regards
>>>>>
>>>>> David
>>>>>
>>>>

  reply	other threads:[~2020-07-01 15:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-01 10:23 David Aldrich
2020-07-01 12:57 ` Cliff Burdick
2020-07-01 13:04   ` David Aldrich
2020-07-01 13:08     ` Cliff Burdick
2020-07-01 13:40   ` David Aldrich
2020-07-01 14:59     ` Cliff Burdick
2020-07-01 15:06       ` David Aldrich
2020-07-01 15:38         ` Cliff Burdick [this message]
2020-07-01 15:56         ` Matt Laswell
2020-07-01 16:48           ` David Aldrich
2020-07-01 17:57             ` Cliff Burdick

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=CA+Gp1na3w+8ouJGXoxFYSAbA+O43K2CD9zGnVnxJbSYqJidjnA@mail.gmail.com \
    --to=shaklee3@gmail.com \
    --cc=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
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).