{"id":819402,"url":"http://patchwork.ozlabs.org/api/patches/819402/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/20170928044132.30940-7-saeedm@mellanox.com/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170928044132.30940-7-saeedm@mellanox.com>","list_archive_url":null,"date":"2017-09-28T04:41:27","name":"[net,06/11] net/mlx5e: Check encap entry state when offloading tunneled flows","commit_ref":null,"pull_url":null,"state":"accepted","archived":true,"hash":"bbfef5b7773adcc0391ef1e52aaa5ef1ba645bea","submitter":{"id":65299,"url":"http://patchwork.ozlabs.org/api/people/65299/?format=json","name":"Saeed Mahameed","email":"saeedm@mellanox.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/20170928044132.30940-7-saeedm@mellanox.com/mbox/","series":[{"id":5488,"url":"http://patchwork.ozlabs.org/api/series/5488/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=5488","date":"2017-09-28T04:41:23","name":"Mellanox, mlx5 fixes 2017-09-28","version":1,"mbox":"http://patchwork.ozlabs.org/series/5488/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/819402/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/819402/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y2hqs0KtCz9t3x\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 28 Sep 2017 14:42:17 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751951AbdI1EmI (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 28 Sep 2017 00:42:08 -0400","from mail-il-dmz.mellanox.com ([193.47.165.129]:54398 \"EHLO\n\tmellanox.co.il\" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org\n\twith ESMTP id S1751626AbdI1EmG (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 28 Sep 2017 00:42:06 -0400","from Internal Mail-Server by MTLPINE1 (envelope-from\n\tsaeedm@mellanox.com)\n\twith ESMTPS (AES256-SHA encrypted); 28 Sep 2017 06:42:01 +0200","from sws.mtl.labs.mlnx (reg-l-vrt-045-015.mtl.labs.mlnx\n\t[10.135.45.15])\n\tby labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v8S4g1jA011096;\n\tThu, 28 Sep 2017 07:42:01 +0300"],"From":"Saeed Mahameed <saeedm@mellanox.com>","To":"\"David S. Miller\" <davem@davemloft.net>","Cc":"netdev@vger.kernel.org, Vlad Buslov <vladbu@mellanox.com>,\n\tSaeed Mahameed <saeedm@mellanox.com>","Subject":"[net 06/11] net/mlx5e: Check encap entry state when offloading\n\ttunneled flows","Date":"Thu, 28 Sep 2017 07:41:27 +0300","Message-Id":"<20170928044132.30940-7-saeedm@mellanox.com>","X-Mailer":"git-send-email 2.13.0","In-Reply-To":"<20170928044132.30940-1-saeedm@mellanox.com>","References":"<20170928044132.30940-1-saeedm@mellanox.com>","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"From: Vlad Buslov <vladbu@mellanox.com>\n\nEncap entries cached by the driver could be invalidated due to\ntunnel destination neighbour state changes.\nWhen attempting to offload a flow that uses a cached encap entry,\nwe must check the entry validity and defer the offloading\nif the entry exists but not valid.\n\nWhen EAGAIN is returned, the flow offloading to hardware takes place\nby the neigh update code when the tunnel destination neighbour\nbecomes connected.\n\nFixes: 232c001398ae (\"net/mlx5e: Add support to neighbour update flow\")\nSigned-off-by: Vlad Buslov <vladbu@mellanox.com>\nReviewed-by: Or Gerlitz <ogerlitz@mellanox.com>\nSigned-off-by: Saeed Mahameed <saeedm@mellanox.com>\n---\n drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 3 +++\n 1 file changed, 3 insertions(+)","diff":"diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c\nindex d3786005fba7..1aa2028ed995 100644\n--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c\n+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c\n@@ -1859,6 +1859,7 @@ static int mlx5e_attach_encap(struct mlx5e_priv *priv,\n \t\t}\n \t}\n \n+\t/* must verify if encap is valid or not */\n \tif (found)\n \t\tgoto attach_flow;\n \n@@ -1885,6 +1886,8 @@ static int mlx5e_attach_encap(struct mlx5e_priv *priv,\n \t*encap_dev = e->out_dev;\n \tif (e->flags & MLX5_ENCAP_ENTRY_VALID)\n \t\tattr->encap_id = e->encap_id;\n+\telse\n+\t\terr = -EAGAIN;\n \n \treturn err;\n \n","prefixes":["net","06/11"]}