DPDK usage discussions
 help / color / Atom feed
* [dpdk-users] Sequential UDP packets
@ 2019-11-13  7:56 Sarvesh Verma
  2019-11-13  9:54 ` Nutman, Richard
  2019-11-15  0:23 ` Pierre Laurent
  0 siblings, 2 replies; 6+ messages in thread
From: Sarvesh Verma @ 2019-11-13  7:56 UTC (permalink / raw)
  To: users

Hey DPDK users,

Since last two months I'm struggling to generate my own sequential UDP
packets through DPDK. At receiving side my packets counts are matching but
are not in sequence in Wireshark.
Expected- 1,2,3,4,5,6,7,8,9,10.........
Getting-1,4,6,8,9,2,3,5,7,10........…

Hope anyone will reply soon.

Thank you
Sarvesh Verma

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-users] Sequential UDP packets
  2019-11-13  7:56 [dpdk-users] Sequential UDP packets Sarvesh Verma
@ 2019-11-13  9:54 ` Nutman, Richard
  2019-11-13 15:46   ` sachin gupta
  2019-11-15  0:23 ` Pierre Laurent
  1 sibling, 1 reply; 6+ messages in thread
From: Nutman, Richard @ 2019-11-13  9:54 UTC (permalink / raw)
  To: users

Hi Sarvesh,

UDP is not a reliable protocol, not even for the order of packets you receive.
You have to re-order them when you receive them. For example using a sequence number to index them into a circular buffer.

Wireshark does not re-order UDP packets but merely shows them in the order they were captured.

Regards,
Richard

> -----Original Message-----
> From: Sarvesh Verma [mailto:sarveshfwecverma79@gmail.com]
> Sent: 13 November 2019 07:56
> To: users@dpdk.org
> Subject: [dpdk-users] Sequential UDP packets
> 
> Hey DPDK users,
> 
> Since last two months I'm struggling to generate my own sequential UDP
> packets through DPDK. At receiving side my packets counts are matching but
> are not in sequence in Wireshark.
> Expected- 1,2,3,4,5,6,7,8,9,10.........
> Getting-1,4,6,8,9,2,3,5,7,10........…
> 
> Hope anyone will reply soon.
> 
> Thank you
> Sarvesh Verma


**********************************************************************
DISCLAIMER:
Privileged and/or Confidential information may be contained in this message. If you are not the addressee of this message, you may not copy, use or deliver this message to anyone. In such event, you should destroy the message and kindly notify the sender by reply e-mail. It is understood that opinions or conclusions that do not relate to the official business of the company are neither given nor endorsed by the company. Thank You.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-users] Sequential UDP packets
  2019-11-13  9:54 ` Nutman, Richard
@ 2019-11-13 15:46   ` sachin gupta
  2019-11-13 15:52     ` Pathak, Pravin
  0 siblings, 1 reply; 6+ messages in thread
From: sachin gupta @ 2019-11-13 15:46 UTC (permalink / raw)
  To: users, Nutman, Richard

 Hi Sarvesh, Richard
In general any router is not supposed to re-order the packets, even when the packets are received from outside.In this case, the packets are created internally only. So as such UDP protocol makes no difference.
One reason i can think is the use of multiple queues, or threads for transmission.
Sachin
    On Wednesday, November 13, 2019, 03:24:35 PM GMT+5:30, Nutman, Richard <richard.nutman@grassvalley.com> wrote:  
 
 Hi Sarvesh,

UDP is not a reliable protocol, not even for the order of packets you receive.
You have to re-order them when you receive them. For example using a sequence number to index them into a circular buffer.

Wireshark does not re-order UDP packets but merely shows them in the order they were captured.

Regards,
Richard

> -----Original Message-----
> From: Sarvesh Verma [mailto:sarveshfwecverma79@gmail.com]
> Sent: 13 November 2019 07:56
> To: users@dpdk.org
> Subject: [dpdk-users] Sequential UDP packets
> 
> Hey DPDK users,
> 
> Since last two months I'm struggling to generate my own sequential UDP
> packets through DPDK. At receiving side my packets counts are matching but
> are not in sequence in Wireshark.
> Expected- 1,2,3,4,5,6,7,8,9,10.........
> Getting-1,4,6,8,9,2,3,5,7,10........…
> 
> Hope anyone will reply soon.
> 
> Thank you
> Sarvesh Verma


**********************************************************************
DISCLAIMER:
Privileged and/or Confidential information may be contained in this message. If you are not the addressee of this message, you may not copy, use or deliver this message to anyone. In such event, you should destroy the message and kindly notify the sender by reply e-mail. It is understood that opinions or conclusions that do not relate to the official business of the company are neither given nor endorsed by the company. Thank You.
  

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-users] Sequential UDP packets
  2019-11-13 15:46   ` sachin gupta
@ 2019-11-13 15:52     ` Pathak, Pravin
  2019-11-14 14:27       ` Tom Barbette
  0 siblings, 1 reply; 6+ messages in thread
From: Pathak, Pravin @ 2019-11-13 15:52 UTC (permalink / raw)
  To: sachin gupta, users, Nutman, Richard

Hi Sarvesh -
How are you generating and sending UDP packets? Can you describe a bit more on send and receive configuration?
Pravin

-----Original Message-----
From: users <users-bounces@dpdk.org> On Behalf Of sachin gupta
Sent: Wednesday, November 13, 2019 10:46 AM
To: users@dpdk.org; Nutman, Richard <Richard.Nutman@grassvalley.com>
Subject: Re: [dpdk-users] Sequential UDP packets

 Hi Sarvesh, Richard
In general any router is not supposed to re-order the packets, even when the packets are received from outside.In this case, the packets are created internally only. So as such UDP protocol makes no difference.
One reason i can think is the use of multiple queues, or threads for transmission.
Sachin
    On Wednesday, November 13, 2019, 03:24:35 PM GMT+5:30, Nutman, Richard <richard.nutman@grassvalley.com> wrote:  
 
 Hi Sarvesh,

UDP is not a reliable protocol, not even for the order of packets you receive.
You have to re-order them when you receive them. For example using a sequence number to index them into a circular buffer.

Wireshark does not re-order UDP packets but merely shows them in the order they were captured.

Regards,
Richard

> -----Original Message-----
> From: Sarvesh Verma [mailto:sarveshfwecverma79@gmail.com]
> Sent: 13 November 2019 07:56
> To: users@dpdk.org
> Subject: [dpdk-users] Sequential UDP packets
> 
> Hey DPDK users,
> 
> Since last two months I'm struggling to generate my own sequential UDP 
> packets through DPDK. At receiving side my packets counts are matching 
> but are not in sequence in Wireshark.
> Expected- 1,2,3,4,5,6,7,8,9,10.........
> Getting-1,4,6,8,9,2,3,5,7,10........…
> 
> Hope anyone will reply soon.
> 
> Thank you
> Sarvesh Verma


**********************************************************************
DISCLAIMER:
Privileged and/or Confidential information may be contained in this message. If you are not the addressee of this message, you may not copy, use or deliver this message to anyone. In such event, you should destroy the message and kindly notify the sender by reply e-mail. It is understood that opinions or conclusions that do not relate to the official business of the company are neither given nor endorsed by the company. Thank You.
  

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-users] Sequential UDP packets
  2019-11-13 15:52     ` Pathak, Pravin
@ 2019-11-14 14:27       ` Tom Barbette
  0 siblings, 0 replies; 6+ messages in thread
From: Tom Barbette @ 2019-11-14 14:27 UTC (permalink / raw)
  To: Pathak, Pravin, sachin gupta, users, Nutman, Richard

Are they from the same UDP flow? Else RSS and multi-queing in general could lead to this.

Tom
________________________________________
De : users <users-bounces@dpdk.org> de la part de Pathak, Pravin <pravin.pathak@intel.com>
Envoyé : mercredi 13 novembre 2019 16:52
À : sachin gupta; users@dpdk.org; Nutman, Richard
Objet : Re: [dpdk-users] Sequential UDP packets

Hi Sarvesh -
How are you generating and sending UDP packets? Can you describe a bit more on send and receive configuration?
Pravin

-----Original Message-----
From: users <users-bounces@dpdk.org> On Behalf Of sachin gupta
Sent: Wednesday, November 13, 2019 10:46 AM
To: users@dpdk.org; Nutman, Richard <Richard.Nutman@grassvalley.com>
Subject: Re: [dpdk-users] Sequential UDP packets

 Hi Sarvesh, Richard
In general any router is not supposed to re-order the packets, even when the packets are received from outside.In this case, the packets are created internally only. So as such UDP protocol makes no difference.
One reason i can think is the use of multiple queues, or threads for transmission.
Sachin
    On Wednesday, November 13, 2019, 03:24:35 PM GMT+5:30, Nutman, Richard <richard.nutman@grassvalley.com> wrote:

 Hi Sarvesh,

UDP is not a reliable protocol, not even for the order of packets you receive.
You have to re-order them when you receive them. For example using a sequence number to index them into a circular buffer.

Wireshark does not re-order UDP packets but merely shows them in the order they were captured.

Regards,
Richard

> -----Original Message-----
> From: Sarvesh Verma [mailto:sarveshfwecverma79@gmail.com]
> Sent: 13 November 2019 07:56
> To: users@dpdk.org
> Subject: [dpdk-users] Sequential UDP packets
>
> Hey DPDK users,
>
> Since last two months I'm struggling to generate my own sequential UDP
> packets through DPDK. At receiving side my packets counts are matching
> but are not in sequence in Wireshark.
> Expected- 1,2,3,4,5,6,7,8,9,10.........
> Getting-1,4,6,8,9,2,3,5,7,10........…
>
> Hope anyone will reply soon.
>
> Thank you
> Sarvesh Verma


**********************************************************************
DISCLAIMER:
Privileged and/or Confidential information may be contained in this message. If you are not the addressee of this message, you may not copy, use or deliver this message to anyone. In such event, you should destroy the message and kindly notify the sender by reply e-mail. It is understood that opinions or conclusions that do not relate to the official business of the company are neither given nor endorsed by the company. Thank You.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-users] Sequential UDP packets
  2019-11-13  7:56 [dpdk-users] Sequential UDP packets Sarvesh Verma
  2019-11-13  9:54 ` Nutman, Richard
@ 2019-11-15  0:23 ` Pierre Laurent
  1 sibling, 0 replies; 6+ messages in thread
From: Pierre Laurent @ 2019-11-15  0:23 UTC (permalink / raw)
  To: Sarvesh Verma, users

HI

Without much information , it is very hard to imagine what you are doing and what you are getting.

From the packet numbers you provide, it looks like you are seeing all packets, and it is not a packet loss problem.

DPDK itself does not reorder the packets.
But your DPDK setup might be built from multiple path and transmit packets from multiple threads and /or multiple queues , or both, or over multiple interfaces.


If you are sure to use one single TX thread, one single TX queue, one single TX interface to transmit your packets with DPDK, then this cannot be a DPDK problem.

The problem can be on the receive side where you are using wireshark with some standard OS and standard driver. It is very frequent in standard OS and standard drivers to implement multiple RX queues (e.g. Windows, Ubuntu ...).  With such a config, packets with the same tuple5 (source IP, dest IP, source Port, dest Port, protocol  https://www.techopedia.com/definition/28190/5-tuple ) are not reordered and assigned to the same RX queue.

If you number your packets by changing one of the elements of the tuple 5, e.g. the destination udp  port, then RX packets will be sent to different RX queues, this standard   feature is known as receive-side-scaling (RSS)   https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-receive-side-scaling  . Then Wireshark would get the packets in any order, depending on polling strategies and priorities, rates and packet distributions in the different queues. There are options in most OS to set the number of queues, or disable RSS.

Alternatively, make sure your packets have all the same "tuple5", and if you want to put some sequential number, I suggest you do it in the UDP payload.

This response is a guess, because you provided NO information about your environment, your setup, any packet size, any packet rate, any packet dump nor investigations you already did.

Regards,

Pierre



________________________________
From: users <users-bounces@dpdk.org> on behalf of Sarvesh Verma <sarveshfwecverma79@gmail.com>
Sent: Wednesday 13 November 2019 07:56
To: users@dpdk.org <users@dpdk.org>
Subject: [dpdk-users] Sequential UDP packets

Hey DPDK users,

Since last two months I'm struggling to generate my own sequential UDP
packets through DPDK. At receiving side my packets counts are matching but
are not in sequence in Wireshark.
Expected- 1,2,3,4,5,6,7,8,9,10.........
Getting-1,4,6,8,9,2,3,5,7,10........…

Hope anyone will reply soon.

Thank you
Sarvesh Verma

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, back to index

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-13  7:56 [dpdk-users] Sequential UDP packets Sarvesh Verma
2019-11-13  9:54 ` Nutman, Richard
2019-11-13 15:46   ` sachin gupta
2019-11-13 15:52     ` Pathak, Pravin
2019-11-14 14:27       ` Tom Barbette
2019-11-15  0:23 ` Pierre Laurent

DPDK usage discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ http://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/ public-inbox