From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3842EA04AC for ; Mon, 31 Aug 2020 16:56:38 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B3C4C1C07D; Mon, 31 Aug 2020 16:56:37 +0200 (CEST) Received: from delivery.mailspamprotection.com (delivery.mailspamprotection.com [146.66.121.216]) by dpdk.org (Postfix) with ESMTP id C240C1C07B for ; Mon, 31 Aug 2020 16:56:36 +0200 (CEST) Received: from 72.204.214.35.bc.googleusercontent.com ([35.214.204.72] helo=es18.siteground.eu) by se22.mailspamprotection.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1kClEB-000GpT-86; Mon, 31 Aug 2020 09:56:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=filipjaniszewski.com; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=7x9Q5+EYMbhq5o8lMLyRtUb2Dgd2Hm3KOpjuncvxjVk=; b=gx6Pu1cqOWhefd6sguyLu0cxTD Qpz69ygWFFNAne8/3Cd2QjCkjk06JmafF9GhLA0aXrSRbRYwA5AXkbklZLGXiauahVBoX2RQYz2Mc 1gjZtY979+GtFqjoeZZX8WFCksQpG/1rPqJH7SISYre58/PVeRwqz46O8tqPxherplrZvWEQD33gX Lkt4TsGFMziQ4ljmbFYyPrmwUyiSBsrBsAfnmRPZA61+MdHVWxMkWLtCR8nwd2Q2Ok9MDaXpym7y/ JzEXR67BT+d3ErRx9+Iz0rTgnr7qmwD2B9IylZwWoaoB/t63wdTbi4NzUXPKZXHm4nmLkO26jfrMS CFQiQpTw==; Received: from [89.64.148.179] (port=49168 helo=localhost.localdomain) by es18.siteground.eu with esmtpsa tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.90devstart-1178-b07e68e5-XX) (envelope-from ) id 1kClE9-0004Tu-HJ; Mon, 31 Aug 2020 16:56:09 +0200 To: Pawel Wodkowski Cc: Tom Barbette , "users@dpdk.org" References: <9a39c4d5-8248-5223-df10-1c25fa1331c0@filipjaniszewski.com> <8c8034d8-4cd5-bd0b-0958-14d08f5ae6e3@kth.se> <2f9d3b69-4fef-b179-6510-2d2d4c23ec02@filipjaniszewski.com> <09498ac1-672d-a1e5-f917-d5720e1c90a7@kth.se> From: Filip Janiszewski Message-ID: <687facb9-b112-2612-08ed-2f989cf66c98@filipjaniszewski.com> Date: Mon, 31 Aug 2020 16:56:07 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: 35.214.204.72 X-SpamExperts-Domain: es18.siteground.eu X-SpamExperts-Username: 35.214.204.72 Authentication-Results: mailspamprotection.com; auth=pass smtp.auth=35.214.204.72@es18.siteground.eu X-SpamExperts-Outgoing-Class: ham X-SpamExperts-Outgoing-Evidence: Combined (0.04) X-Recommended-Action: accept X-Filter-ID: Mvzo4OR0dZXEDF/gcnlw0VKALJWqpbz84ezJUOplsTqpSDasLI4SayDByyq9LIhVLXzf+1uooI8z XXidm2qhIkTNWdUk1Ol2OGx3IfrIJKyP9eGNFz9TW9u+Jt8z2T3KvY2jVFWQfFeu+5dFXby93o/w udTyfNATXcaUWleDawd0XXBD72g/jvyZwMeiwHIr+pKPHvcXSn9cbFfxhBL/omDD9EdoxtQ/pQ/h 4nagn45aa40DxZPJuLUk3zkVKd8pBBofbCPI56f2fjexvn9vC9CfNP8N9v3/2zWBV/WhpZXeAiXB Qargo4P7g+T6VYKFdIrqhnZCR3/cWQaqoZYvLlVuSQuWpryUKXSfRAF6rXwhvM2yhwdAtTv2S68a 2gHaZVmFI2PiVka7GM8ohTztCAsNeLUbnBV0gI3ZdaSQKthli19mW0G91CSooRJqA7sIQZ9xAZXS Wfhf24Rub6jPR8t4QGHh8z4JwntNZcENOTyB/XXeZlhRtdWlq12+IWgwmQe0NR41Q9AG+69OB6hw B6O1G7ls8LzOXkY85X1GAzFhYDivIFvoWs4fOKAXjLRh8dcxvnQYERkMuRL5/fo3RGhIYjUQxco4 M/6qu/uYuOVFXXqpVcVFhDpgnnGd9TvwpduFUH54xozIXYC/AO4ruUl+WAcFzyHcAXhob++rEkJb O+uWqv+yIXuSaTRGCFbDjMhpwyKUnIZXKOkSA6DYP4dABxZpJ5hWPABfQt0zo2euA7dIExCvbzpT r6RV14zsrnI+9+ZhXBaqHOMsrL0DPAEiRQv+PVjjwa+Z5RFCOMSgJ/vTr+UOMnqtdnzMAGW+4GS5 Q0LO8HIdVVFlXX6KieuWhhtV4qO5sjw1nrWKMluznpeKLu9COPP1aeFuNbDL5yzHpuQX2nkNbSxf 2vdqTWXgvsThlHiRxQ8x62W/ETEyARhSNb1jk8KH6Pqtz2+WXUsB79fGyF2gkqM62OmLwYnETcRP JR1UXnVx88fQdt9qiAE5pwKylKODoBbEqRaPKrb/hXco3jdGA78wfJWQ4bsMcInU4RNgO4UhJ0N5 tKYDw7huBwAZVadsFaHBFohFZVo2Cuv3fzeCXyleC6uzlX6m+UeFXprlCOm3BAEbJtAOj2EffpgY ijUvUMfuHE6OCq5c8EqSwrtjlaER7RKPdlU+FtN3/zWIlITwoqmbxkdnrqWGHcz5u2H0Q2lCzlNp 1TdBphqYc7PW6V3n6hA0Kw6QtnY9DAYoPA5kzH4gVloxBrMB8hgEk42sw6CkSqFa X-Report-Abuse-To: spam@quarantine1.mailspamprotection.com Subject: Re: [dpdk-users] Round-robin packet distribution X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Sender: "users" Hi, > Start from reading https://doc.dpdk.org/guides/prog_guide/rte_flow.html > eg Table 12.22 > And here's the painful news, the Mellanox cards we're using do not support RAW flow items, which means I can't make use of the features explained in the table 12.22 > But in my mind, as already mentioned by someone else, I think that > randomly spreading packets across different cores > might not be a good idea. > > If you want packets to be spread across all cores in deterministic but > even way then easiest would be to use > RSS over IP / UDP. As a second iteration I would use Flow director API + > IP / UDP rules *without* RAW items. > Can you elaborate a bit? Perhaps there's some example somewhere on git we can use as reference? Thanks > Paweł > > On 24.08.2020 12:07, Tom Barbette wrote: >> 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 >>>>>>> >> > -- BR, Filip +48 666 369 823