From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CC466461F4 for ; Tue, 11 Feb 2025 08:45:37 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 68F3740156; Tue, 11 Feb 2025 08:45:37 +0100 (CET) Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) by mails.dpdk.org (Postfix) with ESMTP id 22CB340150 for ; Tue, 11 Feb 2025 08:45:36 +0100 (CET) Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-6e1a41935c3so76334656d6.3 for ; Mon, 10 Feb 2025 23:45:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739259935; x=1739864735; darn=dpdk.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=9AHymk5XsDqAIf3ZQTy2e77e6ObcDAnqN1z+Zi0xE5M=; b=EyS7tlrxzIGLxqWRDyFyS4pzjHGFKFxLF7zOSnqfhXF27VnSC6w9u0Wr5ft9OyOKAr JYfe+i6MF25PfJXtyqx0UiLR1JKcKi9kbKynFx2OJdhH11nnKYvXcSej4qm63C8xFtgt jCaiwKG2wXPN9OWfdOmjDMivSmbaWIuUgYgeabxUMi7rIqVwtPNCWj9SWrV2Wb3rxIZO wqPLSbVZs604nRNEYzza7DFretZ16q0z6sAKdCQke5aCn10C+jDlJjAkYmBwIv0dH1yy IwgSjUZ2XrXOJxZ7+soBjqfJ/T2lYN9o7tucpnB2XbCl2bF+kKcsp07H0X4hynFu11lv 4mpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739259935; x=1739864735; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9AHymk5XsDqAIf3ZQTy2e77e6ObcDAnqN1z+Zi0xE5M=; b=QWLMZwIbzLhpH7VSQsu1whQ9DPT4F/0wdj62bKME2yCZcHVrZT/nRhWfzpupldrxlt 1EQ+3uPB7i1WCHxRacEJygjX3JMDaJyLonv7POUhCVE43mqaioV6YCk3/RaDqk5Uq3AN uPXPM4QK4abpSnsqtpkQtHX96xnL6eKGXX1vE8QAosntFTwkqo8bVTBIxUHNFG58ktha /pYvTO6nAjs582/ooeRlmwLmlLfAseCViS0WpcXOImUNuD9NXHDmr3leBCnfAxnNBKjn +HIssOOGExPAhB/3eXgvOWtxvuWzgU4WUgmdSn43br5VJQKev0QsWAJOSarzyH31wgcy Lj9g== X-Gm-Message-State: AOJu0YwEtpaIKW4ZbcKv843NGBDNc7KZIRJwTIrpxaImiJsx+oMeuec9 8NjI3bVcEXrItYVHcWbcuZBo/MRt1Z+ckX8eE3Ab6uQll28iFxY9yfXpWPKrgDkcTwlfbUUO/xC 4cjzU8KveK5J7IuVV7OPBUmh7Zbl3Yhmz X-Gm-Gg: ASbGnctOrcEYjaJm8loRtm3pOgaHVGh/2VqRWlg8TqMPTyeYktQVcvD6r+eZU3p+Z61 8FqK82XLTjMgLEYMSZs5R3nW39f/jBIWbbgrvyF+2GVqVAFbAIGIJysDv1bMERF1ZWCN+YA== X-Google-Smtp-Source: AGHT+IHvl0pQFYBhDgVQrWON0gPatRJk2u4uUYPsxjUZzhM9EyB/8AHmF35zFSqoDl418Fj+zfQw73I+sS3QmbI8xEg= X-Received: by 2002:ad4:5bc4:0:b0:6e4:2d6d:5394 with SMTP id 6a1803df08f44-6e4456e0c5amr249911336d6.28.1739259935296; Mon, 10 Feb 2025 23:45:35 -0800 (PST) MIME-Version: 1.0 References: <20250205084957.02e14a3e@hermes.local> In-Reply-To: From: Pavel Vazharov Date: Tue, 11 Feb 2025 09:45:24 +0200 X-Gm-Features: AWEUYZmoLMuJWXVr0wCTs54Vn3cWwz7muEH0k847NKdJxI7EstOSYFIUC_Sd36Y Message-ID: Subject: Re: IPv4 flows per queue on top of RSS for ixgbe and i40e drivers To: Stephen Hemminger Cc: users Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org On Wed, Feb 5, 2025 at 6:53=E2=80=AFPM Pavel Vazharov w= rote: > > On Wed, Feb 5, 2025 at 6:50=E2=80=AFPM Stephen Hemminger > wrote: > > > > On Wed, 5 Feb 2025 18:21:33 +0200 > > Pavel Vazharov wrote: > > > > > Hi there, > > > > > > We have a proxy application on top of DPDK where we use a symmetric > > > RSS key to receive the packets for a given connection in both > > > directions on a single queue. In addition to that, we've few IPv4 > > > addresses where we need to receive their traffic on particular queues= . > > > We use the rte flows functionality with RTE_FLOW_ACTION_TYPE_QUEUE to > > > achieve that and it seemed to work with the DPDK ixgbe driver. > > > However, today we tried the same application on top of DPDK i40e > > > driver and this setup doesn't seem to work there. It prints the > > > following errors: > > > `i40e_flow_add_del_fdir_filter(): Conflict with existing flow directo= r rules!` > > > It seems that the i40e driver doesn't allow adding flow rules on top > > > of the already set RSS. > > > > > > Can somebody suggest a way to achieve what we need with i40e: to use = a > > > symmetric RSS key for most of the traffic but to redirect the traffic > > > for a few specific IPv4 addresses to particular queues? > > > > > > Thanks, > > > Pavel. > > > > If you are mixing RSS and rte_flow the results are not well defined. > > Many drivers treat all active queues (including those used by rte_flow) > > as candidates for RSS. > > > > If you want to mix, the the safe way is: > > - don't enable RSS in the device config (rx_mode) > > - define an rte_flow rule with RTE_FLOW_ACTION_TYPE_RSS > > with a match all > > - define a rte_flow rule with RTE_FLOW_ACTION_TYPE_QUEUE > > that matches the IP > > and set rule priorities so that specific IP rule matches before > > the match all. > Thank you for this idea. I'll give it a try. The proposed setup worked for NICs with e1000 and ixgb drivers but with i40e driver it returns error "Not support priority.". I poke through the code of the DPDK i40e driver and the `i40e_flow_parse_attr` is called for every type of flow - rss, fdir, etc. And inside this function, there is this piece of code: /* Not supported */ if (attr->priority) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY, attr, "Not support priority."); return -rte_errno; } So, it seems to me that the driver don't support any flows with priority. > > > You still maybe at risk of hardware quirks and driver incompatibilities > > which is part of the problem with rte_flow.