[dpdk-users] Round-robin packet distribution

Tom Barbette barbette at kth.se
Mon Aug 24 12:08:38 CEST 2020


He means bytes.

I think some drivers only allow the flexible bytes to start after the 
actual matching though, eg TCP header. So check for that. I'd contact 
Sprayer authors to ask how they did it if I were you.

Do you have a specific NIC in mind? Mellanox's ones are pretty powerful, 
it may be worth it to have a PM-to-PM meeting asking about feature, or 
CC one of the maintainer. Devs do not always look at all mails.

Cheers,

Tom

Le 18/08/2020 à 16:27, Filip Janiszewski a écrit :
> 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
>>>>>


More information about the users mailing list