[dpdk-users] Round-robin packet distribution

Filip Janiszewski contact at filipjaniszewski.com
Tue Aug 18 16:27:20 CEST 2020


Do you mean bit or bytes? 'b' refers to bit, maybe you meant bytes? As
for the network traffic type, we're capturing financial market traffic
over TCP/UDP, nothing really fancy.

Thanks

Il 8/18/20 3:50 PM, Pawel Wodkowski ha scritto:
> Flexible payload matching (aka RAW in flow API) works up to first 64b of
> the
> packet - at least in e1000, ixgbe and i40e.
> 
> It will be easier if you can provide some details about you network
> traffic.
> 
> Paweł
> 
> On 18.08.2020 14:40, Filip Janiszewski wrote:
>> 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


More information about the users mailing list