From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f196.google.com (mail-wr0-f196.google.com [209.85.128.196]) by dpdk.org (Postfix) with ESMTP id 03E4FA84E for ; Fri, 26 Jan 2018 14:17:04 +0100 (CET) Received: by mail-wr0-f196.google.com with SMTP id g21so491015wrb.13 for ; Fri, 26 Jan 2018 05:17:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=TUgM/5DX4eNPfLkjEtBJrcGpBadHYcwG1HFHgo7xhjs=; b=A3whEe/ZBA1DkrFvK7Uy/OUNZeuaX4v+S7hYFTiqFtZW7EpGRz/JRRtx/vwaX9MHh0 QHT7xyPcnOinmK0LlzKmwwOaTmHZcet9NCNflEogA6F0Ib3zPab1v67ZFQO9RKOWxk3P 3PqSwCSD1vxTlcxqy7aor236XpLp5eQCyaeJGqVg4N67a83wyZXeYpwhqRHcPZbPiM2G 39YaWpIIBhp2qZsAriEK4ZEHkxHFZiuZeF2Lkv4FYx5XdrsHvyYfjoEX2R0f1sMSWC6C cZwxx/9lgd8H8xogEVQyNj1GxmKXaxXYvSksginEZVzzme0K9IX6gl3Kzk3HaKqmrjxp yDwg== 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; bh=TUgM/5DX4eNPfLkjEtBJrcGpBadHYcwG1HFHgo7xhjs=; b=QbtUKEAsACNqkJhoeVmqvekUx3cHJTsx7lD3MLlvcCt3/svbua1TAIz+ZwLPN5ICE8 T73M+PsdU3ENCAaZFL2grzLqaATg66+wtqUAWXFXudqDzZ91AJuw1uEKMTxul4XKyV4v 6rDs8TBR7Knrcm+l3rxhca2Ir6eIWtLKA8R3yVPyVnCcQbzkwtQ5mFRyHAOwfr5Ad6/V rtZu51VasQjSh23GJ8UPIh5YTYCVL0KT3SRHFbbpyYuegixxZz1+eNBHa8OTbKBw/NR8 bjFs6JvPV7QgqVqifVtWOqspmXyCoMNVyhi3kgxjZRxiHV4I445XGSpOaRZ0ugS+0jQE oICA== X-Gm-Message-State: AKwxytdsfrHU/JK5x10044a9XVo4y/AJXZOPBDYYS2FXYQHh2XCPp6wI aQaIaQg4vne6UqDnOHXuSNWF8QLWdWU= X-Google-Smtp-Source: AH8x2260Mk6M6K36tncKlMMBBD2G2WcZXZHnWRposD9s2DWmMopWD0PSkuPzktEfb+ymp6n5oALs1Q== X-Received: by 10.223.186.129 with SMTP id p1mr11831165wrg.183.1516972623701; Fri, 26 Jan 2018 05:17:03 -0800 (PST) Received: from localhost ([2a00:23c5:bef3:400:9531:588b:44ae:bec4]) by smtp.gmail.com with ESMTPSA id h200sm4185836wme.11.2018.01.26.05.17.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 26 Jan 2018 05:17:03 -0800 (PST) From: luca.boccassi@gmail.com To: Beilei Xing Cc: Jingjing Wu , dpdk stable Date: Fri, 26 Jan 2018 13:13:32 +0000 Message-Id: <20180126131332.15346-62-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20180126131332.15346-1-luca.boccassi@gmail.com> References: <20180126131332.15346-1-luca.boccassi@gmail.com> Subject: [dpdk-stable] patch 'net/i40e: fix flow director Rx resource defect' has been queued to LTS release 16.11.5 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jan 2018 13:17:04 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.5 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 01/28/18. So please shout if anyone has objections. Thanks. Luca Boccassi --- >>From c9a156ad307b9ccc12cc4987b57924678c54d395 Mon Sep 17 00:00:00 2001 From: Beilei Xing Date: Fri, 19 Jan 2018 13:23:44 +0800 Subject: [PATCH] net/i40e: fix flow director Rx resource defect [ upstream commit f4c8ad4f97e24af7f6200723ca8d93702f15b1e6 ] FDIR Rx ring isn't initialized and Rx queue HW tail isn't updated when there's error detected during programming FDIR flow. There'll be some potential risk. This patch updates FDIR Rx resource. Fixes: a778a1fa2e4e ("i40e: set up and initialize flow director") Fixes: 05999aab4ca6 ("i40e: add or delete flow director") Signed-off-by: Beilei Xing Acked-by: Jingjing Wu --- drivers/net/i40e/i40e_fdir.c | 8 ++++++-- drivers/net/i40e/i40e_rxtx.c | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c index e78610b8e..e25b8e0c4 100644 --- a/drivers/net/i40e/i40e_fdir.c +++ b/drivers/net/i40e/i40e_fdir.c @@ -165,7 +165,6 @@ i40e_fdir_rx_queue_init(struct i40e_rx_queue *rxq) rte_wmb(); /* Init the RX tail regieter. */ - I40E_PCI_REG_WRITE(rxq->qrx_tail, 0); I40E_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1); return err; @@ -1011,13 +1010,18 @@ i40e_check_fdir_programming_status(struct i40e_rx_queue *rxq) PMD_DRV_LOG(ERR, "invalid programming status" " reported, error = %u.", error); } else - PMD_DRV_LOG(ERR, "unknown programming status" + PMD_DRV_LOG(INFO, "unknown programming status" " reported, len = %d, id = %u.", len, id); rxdp->wb.qword1.status_error_len = 0; rxq->rx_tail++; if (unlikely(rxq->rx_tail == rxq->nb_rx_desc)) rxq->rx_tail = 0; + if (rxq->rx_tail == 0) + I40E_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1); + else + I40E_PCI_REG_WRITE(rxq->qrx_tail, rxq->rx_tail - 1); } + return ret; } diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 86546ca8e..777ffc215 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -2606,6 +2606,7 @@ i40e_fdir_setup_rx_resources(struct i40e_pf *pf) rxq->vsi = pf->fdir.fdir_vsi; rxq->rx_ring_phys_addr = rte_mem_phy2mch(rz->memseg_id, rz->phys_addr); + memset(rz->addr, 0, I40E_FDIR_NUM_RX_DESC * sizeof(union i40e_rx_desc)); rxq->rx_ring = (union i40e_rx_desc *)rz->addr; /* -- 2.14.2