From patchwork Tue Jan 31 16:02:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?N=C3=A9lio_Laranjeiro?= X-Patchwork-Id: 20099 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id C6129AB08; Tue, 31 Jan 2017 17:04:16 +0100 (CET) Received: from mail-wj0-f170.google.com (mail-wj0-f170.google.com [209.85.210.170]) by dpdk.org (Postfix) with ESMTP id 5A22328FD for ; Tue, 31 Jan 2017 17:03:50 +0100 (CET) Received: by mail-wj0-f170.google.com with SMTP id uo9so16336242wjc.1 for ; Tue, 31 Jan 2017 08:03:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=3k3jvyylLLx++ZIuDr+mQ4ZQ8gExoySIkGinMQUaLlQ=; b=BKPTGalKs85DOJV/yxrRXvtTMFBDbLUPfBC0T+nieDavn8ecRLbUeCypgkN9iFx+Qj j6lqr8UQpsgcdGj8RQsRXqs4lxhzgza4IavUqMdDJqfwllmgzDTyFOGsmrzF44oAIwrE 7S7B8aQXMvO3skCf6J+njIaJZzxvlm+UDXD4eyFODT9OuUfCXerdjtgLPyG3R9lpEoz1 gKvU7SlD/GDCu3GwBHYpOIRnsS6LnCkafsj+rc2pjrxTGMOMLSfD4w3VpVcUqWmtppXh qYPv+IyMNgUJYZG9pzlrdmzbdWz2Parauggu6SoF0PeBZy3DLVNvzyVfz0Kjm+oQuWAr L1dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=3k3jvyylLLx++ZIuDr+mQ4ZQ8gExoySIkGinMQUaLlQ=; b=LbluSnSTvl3EQTjqhfM3Yol8+ev65WUv2iea3rpgHeMkxNN38qmMHw0rd/GVBAFtyg WYFe5mdP7zh58T3M9EVU/g58JNcv/u86Dk/M7FTKAz68pSNh+P92qasqf35ZUcViKlYe 5Cj2x5TBIT2tb54RhoBC4QpbS+Xgg8X8cxr8OSR0tZFfr8YaOikRupUMKLocsMSiDJxC rrR/Hli8W48S3mYUc923rVf9GybqKrBDBhJaKCOeOnMt74GzvAY1aoX2k+hxy2XmJ7Kn tp0fV/QXF6Ub7RFbodK5CZzdJNaDLvbRpFTHmSl7HVZis13umE/u12qhEM/ujvu9Ib12 Cmsg== X-Gm-Message-State: AIkVDXIy7cfK1890NJ7ZidU/YpxmCvaHOFB55DLz9WoH9TV4PjqnfeWz8Qk+0L1WYWKxWVtM X-Received: by 10.223.163.201 with SMTP id m9mr27307304wrb.66.1485878630492; Tue, 31 Jan 2017 08:03:50 -0800 (PST) Received: from ping.vm.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id 33sm29010127wrd.34.2017.01.31.08.03.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 31 Jan 2017 08:03:50 -0800 (PST) From: Nelio Laranjeiro To: dev@dpdk.org Cc: Adrien Mazarguil Date: Tue, 31 Jan 2017 17:02:48 +0100 Message-Id: <1b5005cdb2cfe9bc160dc4d61a717db42e7c70bd.1485878361.git.nelio.laranjeiro@6wind.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <8772a5838ed3733da6749b333375e2a6aa6ea2ad.1485878361.git.nelio.laranjeiro@6wind.com> References: <8772a5838ed3733da6749b333375e2a6aa6ea2ad.1485878361.git.nelio.laranjeiro@6wind.com> In-Reply-To: <8772a5838ed3733da6749b333375e2a6aa6ea2ad.1485878361.git.nelio.laranjeiro@6wind.com> References: <8772a5838ed3733da6749b333375e2a6aa6ea2ad.1485878361.git.nelio.laranjeiro@6wind.com> Subject: [dpdk-dev] [PATCH 3/3] net/mlx5: fix flow rule creation if ports are stopped X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Adding a flow when the port is stopped ends in an inconsistent situation where the queue can receive traffic when it should not. Record new rules and apply them as soon as the port is started. Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions") Signed-off-by: Nelio Laranjeiro Acked-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5_flow.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 34ac5d3..23c1b5e 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -948,6 +948,8 @@ priv_flow_create_action_queue(struct priv *priv, NULL, "cannot allocate QP"); goto error; } + if (!priv->started) + return rte_flow; rte_flow->ibv_flow = ibv_exp_create_flow(rte_flow->qp, rte_flow->ibv_attr); if (!rte_flow->ibv_flow) {