DPDK usage discussions
 help / color / mirror / Atom feed
From: Filip Janiszewski <contact@filipjaniszewski.com>
To: Tom Barbette <barbette@kth.se>, "users@dpdk.org" <users@dpdk.org>
Subject: Re: [dpdk-users] Round-robin packet distribution
Date: Tue, 18 Aug 2020 14:40:41 +0200
Message-ID: <2f9d3b69-4fef-b179-6510-2d2d4c23ec02@filipjaniszewski.com> (raw)
In-Reply-To: <8c8034d8-4cd5-bd0b-0958-14d08f5ae6e3@kth.se>

Hi,

We had a look at that, and decided that it might be a bit too
complicated to implement in our SW and will not work in a performant way
as we might wish, ideally we're looking for a simple approach even if
not ideal..

So, I was wondering if we can get at least a "fair" distribution (no
round robin) using rte flow? And BTW, is it even possible to access the
checksum from this API using for example the pattern matching with an
offset that points to the proper byte location in the packet? (It seems
it can't be done without modification to the driver..)

Thanks

Il 7/25/20 10:28 AM, Tom Barbette ha scritto:
> Hi Filip,
> 
> This is not possible, but you may use the idea of Sprayer
> (http://www.gta.ufrj.br/ftp/gta/TechReports/SCC18d.pdf) to dispatch
> packets randomly (use RSS on the checksum).
> 
> However, in our paper RSS++
> (https://www.diva-portal.org/smash/get/diva2:1371780/FULLTEXT01.pdf) we
> show it's nearly always a bad idea because you'll have to share state,
> and even for "stateless" function, that leads to a very bad locality in
> a firewall as the same rules have to be fetched to L1 to all cores at
> the same time when you receive a burst of similar packets.
> 
> Tom
> 
> Le 24/07/2020 à 12:05, Filip Janiszewski a écrit :
>> Hi,
>>
>> Is there a way in DPDK to configure the NIC to distribute the incoming
>> packets to multiple queues in a round robin fashion? Without taking into
>> account the payload/headers or type of packet, just plain round robin
>> distribution to multiple queues.
>>
>> I'm struggling to obtain a fair mechanism using RSS, perhaps the
>> rte_flow API can do the trick? Any other suggestion?
>>
>> Thanks
>>

-- 
BR, Filip
+48 666 369 823

  parent reply	other threads:[~2020-08-18 12:41 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-24 10:05 Filip Janiszewski
2020-07-25  8:35 ` Tom Barbette
     [not found] ` <8c8034d8-4cd5-bd0b-0958-14d08f5ae6e3@kth.se>
2020-08-18 12:40   ` Filip Janiszewski [this message]
2020-08-18 13:50     ` Pawel Wodkowski
2020-08-18 14:27       ` Filip Janiszewski
2020-08-24 10:08         ` Tom Barbette
     [not found]         ` <09498ac1-672d-a1e5-f917-d5720e1c90a7@kth.se>
2020-08-25 12:17           ` Pawel Wodkowski
2020-08-31 14:56             ` Filip Janiszewski

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=2f9d3b69-4fef-b179-6510-2d2d4c23ec02@filipjaniszewski.com \
    --to=contact@filipjaniszewski.com \
    --cc=barbette@kth.se \
    --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

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://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/ https://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


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