Message ID | 20180107104518.31693-3-idosch@mellanox.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show
Return-Path: <netdev-owner@vger.kernel.org> X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=<UNKNOWN>) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="x0E06O3e"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zDw823khRz9ryr for <patchwork-incoming@ozlabs.org>; Sun, 7 Jan 2018 21:46:58 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753338AbeAGKqz (ORCPT <rfc822;patchwork-incoming@ozlabs.org>); Sun, 7 Jan 2018 05:46:55 -0500 Received: from mail-eopbgr00048.outbound.protection.outlook.com ([40.107.0.48]:42941 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753177AbeAGKqr (ORCPT <rfc822;netdev@vger.kernel.org>); Sun, 7 Jan 2018 05:46:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=JdJ46YufvU5ah554moEFObJ07FOFPa1BA4KItWHpsr0=; b=x0E06O3e8nxyc2PQSy+Ojyu6XPjEvb/3gAgDbQPBrPUj8T3/E/1y6xy6OiGfRkw1FnP4BJn609UZaS6v/G0F3cIMOlc+Cn2mKiVCOkwMBXwiWt/1me2S84+u7eyoj3M2L9/MJeV32knAxhb9ycZSAyHWiKu+VLH3U3JN6T6SbQQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; Received: from splinter.mtl.com (79.177.48.236) by HE1PR0501MB2012.eurprd05.prod.outlook.com (2603:10a6:3:35::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Sun, 7 Jan 2018 10:46:35 +0000 From: Ido Schimmel <idosch@mellanox.com> To: netdev@vger.kernel.org Cc: davem@davemloft.net, dsahern@gmail.com, roopa@cumulusnetworks.com, nicolas.dichtel@6wind.com, weiwan@google.com, kafai@fb.com, yoshfuji@linux-ipv6.org, mlxsw@mellanox.com, Ido Schimmel <idosch@mellanox.com> Subject: [PATCH net-next 02/18] ipv6: Mark dead nexthops with appropriate flags Date: Sun, 7 Jan 2018 12:45:02 +0200 Message-Id: <20180107104518.31693-3-idosch@mellanox.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180107104518.31693-1-idosch@mellanox.com> References: <20180107104518.31693-1-idosch@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [79.177.48.236] X-ClientProxiedBy: VI1PR0701CA0039.eurprd07.prod.outlook.com (2603:10a6:800:90::25) To HE1PR0501MB2012.eurprd05.prod.outlook.com (2603:10a6:3:35::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: b0364bd1-c827-4204-e027-08d555bbed7c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:HE1PR0501MB2012; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2012; 3:qS7jEzwaotp+u3kq4qRddRFcRUOhEsqkyxW4ZKH4CKhEli6aIbZ2caYYFXbN/OjLTIvt6njNkSnTQanV+jPbqAvipmyxyhhSMQ+t77lugbY62unYD7kF66UDf6p6JF0TwThDRyquyn2T1VXk6yXG2NeQVMNNutMZ5ItyLjGw8MBlbDIea9MKK1bKJXPHCI5+hgu2hqHTm+PnjJDVx+YJCyrHcTaoCYbB1ZA00OKPjE2TFBnMFpajfaR51D5tBagK; 25:BgIQQ1nMUYppW+okFAQqbgM6olOPpvf0d05pzfBbgHahjIehZW6rj0Qj2d75LdsBSGBmsfZ5DDFuZFmy0WemPShOJrFB2A0pwSv8qivIJEaaekn6QTyMawIqKR88G1rgZhPNrk2me4S7x5ws1CWdKJ0hXi/khbpvAbmqITk2iqW542RUMiEYvr4MEjqdYZ7tIRhwj0OwJqFJEfC0Qnwfk8pw4QDDpyK/fLXtXOKZRA3wwb9+qkMs/ARFWugewzuu2YlpaIwCcB3F/ws0i1uFVToGLyj3eVWw991wAOV5Jhe3bu/xpFfVoStZ/2/XQ31mv59sKTD8qPi3KlGMI06DkA==; 31:X3HxavXP+tiw8f60OuVxApQC/yIboWTkhtuBQr4ufYSoqYbsv2h0RPk0rf9BQTAYQPKsCyn//LqplHj8PFIQTSPC39UsrMknOz7JJChKAFt7GJ0ciaM+a4Bci1VS2l/6NCIJ3ZLDRRo7MQIDBoyenwVFS3X1g8V38aMoAiMMKHy1UobeQ1VDd3RWxOvdGJIOLta6Wn3mBKkBtKcTHzV4brwxihj+wQqy9FbfcvQzYrs= X-MS-TrafficTypeDiagnostic: HE1PR0501MB2012: X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2012; 20:EOwmZpXwBb+rZm2s1FyxEI5fq1UEVi0vBGbm/aT/jufKNBqPe0f0ddnII0XKj/IxQZJRf2IzbIbLnWCQhRxsgcd4nzO5scVqbHOcANSZb2vkS/C2refiWzKJF0+0LTyx5oIlq9Hc4jsscMOCh3Ar9IfHtNGE3r6xPlEHuDibN0VLETd71cgbeqyQ/zVIiL7dpx7I7FBKTvP4aYEKTL//GfoGPBSupPflwsljDFcceuBX5as0ayjr53pXi7S0tsKRR9vpD03/3USe13D3enKPhAqZOFi8f4ze90ol8LWFKT4xOx7+4h6CVLjdmm7rL0QuZfrR0jLX+1EbTXd8pFuglf7d8iBKrv5XJYzNxYnFsc5k8H0r9UXv0LP8tcT7y+0Pao4PyWJuF3OzxFOzsMpbOnq2tSbuPQfNippJkF4G6IuAfGV1VWVUiRbLLTiK8LlIxRK3SQ5B7k8HIJ+DWeKnoHFANCWgbrhpu+A+bxViDgD7A4IV8aEmDLSJpz9x2fVQ; 4:MrmRSNbIT3iS/f+Z8OUAk+NWGTpt9Ql75LHbf6KCV5l/SjG0tKRcqtYIJHa0eoHKfCXfM55L52TJu04ZDwXGOp5OaqCjNpDjO3cQJN4dx5YYy46VjzZyqOrrQqFozEJk0rVkvcjEEy0lX+kkBuOj5KCejlxDISSznzTghMqLvzVIZsgmnnbFE6V5ZXtQb9bIMoT6IB7d1IOyZUhb6JP1XWbexwFuXbQmqnnzDlzRx+wtZ65KGvI6gcuW6zQFDlBXAJmzr0i7o1a9yIosg8Xjzw== X-Microsoft-Antispam-PRVS: <HE1PR0501MB2012561F84EFF6A7F1956BF9BF120@HE1PR0501MB2012.eurprd05.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231023)(944501075)(6055026)(6041268)(20161123564045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011); SRVR:HE1PR0501MB2012; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:HE1PR0501MB2012; X-Forefront-PRVS: 0545EFAC9A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(346002)(366004)(39380400002)(376002)(39860400002)(189003)(199004)(107886003)(106356001)(59450400001)(76176011)(51416003)(50466002)(86362001)(16586007)(4326008)(575784001)(8936002)(68736007)(105586002)(81166006)(1076002)(81156014)(2361001)(47776003)(6486002)(6506007)(50226002)(386003)(6512007)(66066001)(16526018)(8676002)(2351001)(5660300001)(53936002)(7736002)(36756003)(2950100002)(6916009)(305945005)(97736004)(478600001)(6666003)(2906002)(6116002)(52116002)(48376002)(25786009)(3846002)(316002)(53416004); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0501MB2012; H:splinter.mtl.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2012; 23:uJhNX2Zn+9MK93LQiIwChEr5ol5xZSR7EOFE17wIgk9ZOCBNczypRRklGEMsurqTGQ6uiKHrrwga9rGqsgfbnnXA0Vg2PkhiTOR1kwkJMnDGyn0K/Ev8/yvjCCzDsX3/iyCTLROzpLyehsGlK5yIOZ5qiLFHydFEjJpPdsqRlCdfhIkQgZV5djDID/NBIvzKaLYVssT3idxUgr6JsjAyfAr+k20pv/BkqcbxXummxbod2Kk6iXzZMRhM2jQKat8ckG3NQVrJiC2UwA7iVPaVr4UJy1bmSOGUp99cK5Gh8FCIWhSxnXGMoQKRsLqTsTvc/HjeHQq60AkvpsuDHX7RvoVokySxW/tS8eW4YNRZlhXqoTmpfbMTSywkjSf7pUXQiQbVV4mVg5ESmbSw4JcpKRkW6/dDRYB+VlLjPikoPQrJcIoNivQiwcTY5fc8Sz+0ZUuYi+j6SNVCYB4Zhacw1ix9oxEVMNFJfoK6Ui4sQFaxut3pN/bEjpNunKIJRzx5AYBDTC0Bm0X25WI30j9k6e4l+NnJ/6yA5flzNj9gDnDIyURPrUgdIYsjbvuND7RA5lpJjOUoQmLoz4Y2s0fgfJp+TkNRdM94x4UzHVvjGOTFAf1+tpeW/9Z23NhiScnPb044Pqu5cPq268bneN2s953Lb5/K7sjWq8rovXLqC8QJWb9bUbqV2fs8V6ShzQUFMT094SHl6I1Kqr0DZm/5vHDdVQb3U65Tz+9KgtxrGhrJqS5pSyC3cNv9kUZa7HdDs0WFi8PkFSvCKzNUDcZOyM+JUI9A+tT51uXnkOSurwSfnPQXEwYXXsyuVcx/BKr7a9tdnkAExOVDMxB2UMIid8nH2sOaZ+YJMIRYhgkTlgZUZJYNwfa+HsEBZXhTJxPQDiarBRE8ev6NWqhtc8IYdEEbtBfw1rWTkjtrRwRUbe4wrngLUlPoyxPukwQTG65WLRfu/+HeWAIVhJTi9HVHIqbBtlgCuCTUjRV3SYiiS8sfxXKIdQQxDUW/rTsrOi015T5+I5BwpiKI0rnhT3iEClZZiH4IODnz+H82liwdAcgXAt2reD0Lte5PkffSugmi+QolaaYaTPBHxoZ8mEFqF14GpKH7Mj/Q6K/ZEORFIC2LwTFMbe/3MnHwyvmUg5Yapxi6peJL/vmGnKODW5/vP/ptDoDRsTUcMDC/3FmgdGK30Y4vIzPAPse/mwUD5/TcUClQdrfMS6jwg43POFk7VA== X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2012; 6:o54fGa3d1uH3X6Oaq5mEqLqVCSfuWtEa9Qt7kNkJL3LKeSSi3/Fz0A1/87b3a+d1dhJBks1gxMKj9DtYuGqF4UKXYskgmYfIu4oXG1beJK3f8bzaLS6OFT5oB1uzU+cEw+ALhLArr2Zz7dVuCbiilK4t+mfmt/4F0dbVCvhC0mSRnv/Z4KFur+eiqF4D+BxHX0cu6yw9pR4k3lqpvGVJJbzvL4fRfVOLuKD/VlXht5EzBf3Sec3CcS852+MGi1/GLtw73wCiw3TfLABuxpZfHTjqaXxTe78H6MJyxt5VYCtqM/4EV0c20kq2ua+4jwKQFEEaGrXxPCE7PIBmUeS89+MqPIomKwhY2UodrB2ykdk=; 5:lkWtugSSNoYKbBTVy3vSO0tHBvAJJZRx7KMdU35wtfZPrnUHq3mrKYSD7kydsvniq5nARo4be7SQNRF+y3WySfm5wuQ2/hZ4vj8y1PE6woxvAGM9zF5zFWYqFTM5J8rwRmlxDKbdGFztffcR7dGyaeODrrqg+uLZOecPbQjIgbY=; 24:TJ8ZrAUp7tKNYXR01dAzcqj7Es1JS/MEeSpD5Dq2gNd9AtjBn0zU2+d8lDDvRSxPVtchbfgQX1uYvBeAs+w1awp01/47t5dlHJCcELBvfi4=; 7:UHsAKG6c22OjK5Ffowy2HII2lqjs/uc3CgJY3l0m120PO2xM+AlQcbeeCufgoRe5ZCL9ofyTL/9uCt4YEwN9X/oTvwyrJkwQNlw+nhy3VuLLYm4E60hedSauPg2eKdGm/NAfTCT4vTJPk5bNr/sE/rhUWf95VsVe0i18+IVRR9uD3IXQ/XjquosM1R78gPg6WlPbtqGzzHTNYp84UpeIoxS0avibjyWdTA7cPwUxGn9gdlPO7j8fQz+Wx9m3HbUl SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2018 10:46:35.0359 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b0364bd1-c827-4204-e027-08d555bbed7c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0501MB2012 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: <netdev.vger.kernel.org> X-Mailing-List: netdev@vger.kernel.org |
Series |
ipv6: Align nexthop behaviour with IPv4
|
expand
|
On 1/7/18 3:45 AM, Ido Schimmel wrote: > When a netdev is put administratively down or unregistered all the > nexthops using it as their nexthop device should be marked with the > 'dead' and 'linkdown' flags. > > Currently, when a route is dumped its nexthop device is tested and the > flags are set accordingly. A similar check is performed during route > lookup. > > Instead, we can simply mark the nexthops based on netdev events and > avoid checking the netdev's state during route dump and lookup. > > Signed-off-by: Ido Schimmel <idosch@mellanox.com> > --- > net/ipv6/route.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > Acked-by: David Ahern <dsahern@gmail.com>
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index c557362daa23..f5eda0aeab55 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -3473,8 +3473,10 @@ static int fib6_ifdown(struct rt6_info *rt, void *arg) if (rt->dst.dev == dev && rt != adn->net->ipv6.ip6_null_entry && (rt->rt6i_nsiblings == 0 || netdev_unregistering(dev) || - !rt->rt6i_idev->cnf.ignore_routes_with_linkdown)) + !rt->rt6i_idev->cnf.ignore_routes_with_linkdown)) { + rt->rt6i_nh_flags |= (RTNH_F_DEAD | RTNH_F_LINKDOWN); return -1; + } return 0; }
When a netdev is put administratively down or unregistered all the nexthops using it as their nexthop device should be marked with the 'dead' and 'linkdown' flags. Currently, when a route is dumped its nexthop device is tested and the flags are set accordingly. A similar check is performed during route lookup. Instead, we can simply mark the nexthops based on netdev events and avoid checking the netdev's state during route dump and lookup. Signed-off-by: Ido Schimmel <idosch@mellanox.com> --- net/ipv6/route.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)