From patchwork Mon Jul 30 12:45:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 10549027 X-Patchwork-Delegate: idosch@idosch.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8E241A755 for ; Mon, 30 Jul 2018 12:45:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7D3D0296A7 for ; Mon, 30 Jul 2018 12:45:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 71B0729715; Mon, 30 Jul 2018 12:45:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A44CA296A7 for ; Mon, 30 Jul 2018 12:45:38 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41fK6l1R9MzF0jn for ; Mon, 30 Jul 2018 22:45:35 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="x1NlI9/H"; dkim-atps=neutral X-Original-To: linux-mlxsw@lists.ozlabs.org Delivered-To: linux-mlxsw@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=mellanox.com (client-ip=40.107.0.59; helo=eur02-am5-obe.outbound.protection.outlook.com; envelope-from=petrm@mellanox.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="x1NlI9/H"; dkim-atps=neutral Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00059.outbound.protection.outlook.com [40.107.0.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41fK6Q4ZFWzF0gv for ; Mon, 30 Jul 2018 22:45:17 +1000 (AEST) 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:X-MS-Exchange-SenderADCheck; bh=TqU9DENjW9ldOcYxhYcAJzTvQpxVbCXv9ZwAIAdAmgI=; b=x1NlI9/H3wj9+QwRY+4a8lPbNst6jiamVavH5V05VNtFoaNZ0jvTDubGwacjctLVUTQIxrPJ1GGdSHSsqYf53iIm7H5yzQ+Oal7zAM1U7vfWxBd3L4GXXIRQfkHCk9XlBoRXjnHM7zxsHXrreLqxDFkxHXEBfWdodCueYtVLgDc= Received: from t540p (78.45.160.211) by AM0PR05MB4177.eurprd05.prod.outlook.com (2603:10a6:208:57::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.19; Mon, 30 Jul 2018 12:45:12 +0000 From: Petr Machata To: Subject: [PATCH net-next mlxsw v3 2/7] net: ipv4: Notify about changes to ip_forward_update_priority In-Reply-To: References: Message-Id: Date: Mon, 30 Jul 2018 14:45:07 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 X-Originating-IP: [78.45.160.211] X-ClientProxiedBy: LO2P265CA0156.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9::24) To AM0PR05MB4177.eurprd05.prod.outlook.com (2603:10a6:208:57::26) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b0ec6e67-d6eb-4573-db14-08d5f61a4aa7 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600074)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:AM0PR05MB4177; X-Microsoft-Exchange-Diagnostics: 1; AM0PR05MB4177; 3:e5GVgvNwE7CSIPwGLeNvhOndywGxcMjABdleFFz52Om5lXA5CNAwUHNEs2Y/szt4EM90or3+rRaUKQr6pJXWGT2J5wO5Rm6LUNo6NbujCl8kaV+nnIezdmQEpchgFVaJIshQKlctmdTwcROqa0zwUFnv8VS6sYQW3sy6G4ZIR+2fUDAArm6MzFgJcpXnf2YK5XwRbEoJSskoAz6O+LJvQHPKiLRvAo0pIhXScr0PayuZzfrg7CnBxvnhgxBvBXwl; 25:CbBvOpc5/dCDGWonyVxfIpqOJJdZavBMd/fiIJb1RlCmA9x6k7+zx4LoZ3GRW0/PJlRpClgoq9N7tc1G7V84oyVapHsa54uJHQ5wQYbQpLXOoC3Cxmm/LURAe2rLb8dNBaDGxgH1kgKoZTHyhKFQxCxjXTaui9hdrd1FBS4RHn/abditZipsbnaBOYuwNpC8WDjgtuw7Kn8aTuCEwTwljklUpbTM2g0zXyQmb9W0Y5BlihVvO4KgCeYjQqqw16gxet9+4PY41Nkn81DAMAy5T6aqpuYml4Enhs2HYBqPiewuBxXsdxS60aeA8JkMZ5Sd1JZdEebIo2NsZPisPKB6zQ==; 31:WTo4eVe01h/MJgbA5xE6M8CRpYLSZqnoJPeEmAp6J9f4jT4ir//Yw7HdgVuJjgPhPhf4TBam/3UXwtx184dkWgidmaiGgC+fwuGM1QEzFEeNy83fnLGsaiWSgvMfaAmOjv5E2DAA+8gtZ2zLYDM3v38Yt1Er3K7LutSixsG0MMNvpH7wyxzYjUU8PvjXOReb3t0jX1UnuEuSDToZChZVUUg3wcffZFzk2oDM7H/b7hI= X-MS-TrafficTypeDiagnostic: AM0PR05MB4177: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; X-Microsoft-Exchange-Diagnostics: 1; AM0PR05MB4177; 20:mFBiNWGiko422wuq0uBkDbm3pKr2KAEFfoXUL06mdTajyXRdsF/OlR01lNqIXuLkCI2Tcf1uOj7Ja0Tg5w0ugdSZRpqFEOu0EY5oK9RolHPaMtI2C6beB5i/LTDmGJMT4wgAVMb0Ep0UFGl39nCyQPQHIQuqzlp3cSklmMJ/clFV3aWGzSvSAWpsILoNDuSOZDRAwdqTnBRA2xMN3ITBygdYReHoSoAy8/fFr3Zh0hbfmJn0dDkpdg8iJVVvx5A/cO8vUztYIqPLw6PyqAQKVZYoYLb1PMcZqtcfWlyCZ/u4/U5ZSWMdIDOw3TsxUI5mAc4Twk3X9sAP6BybryAlGXoap+r382teafshkrPSUdSJvDUYP9hJxGhG2y8TeqN7ttvUWN9kb4BfF5B3OBpPgRgvwaNNfvdSId+vuJNvMUK6yp8utuByJDu4UQp0NSPR28l8N/vyUt6owdlC9sc08kZ2NFzGluLcsr2OVz+RcpBwD44q/1/e00uvBeSCY4yE; 4:xUA58SdQCR0rNLXQI/skQUqxColDzpta71FO6to0sZncuOqAW1f+3NzR+3DAdT8xyK4REqTeCs0HEdm+mZjKFHAxb9P5VooCQI9rYaR+wakHMXjteWboFz11cpewRpvH3lpq6m5v8A84iUM1n70L6aNK2SnhNFhzwjAKhn9JX2a3wnKMm9yuvrHvF4cSnxCRxRjm+KL05yCmpPKDkQkFk3MALTZ7sN6Rivq0BSyeIMo4xvv7TB8vdDFRSD6JGivkPYSHE6c27b4NCCTywF9xEg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:AM0PR05MB4177; BCL:0; PCL:0; RULEID:; SRVR:AM0PR05MB4177; X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(39860400002)(366004)(396003)(376002)(346002)(189003)(199004)(6116002)(97736004)(25786009)(48376002)(50466002)(3846002)(2906002)(5660300001)(6862004)(6486002)(58126008)(316002)(16586007)(37006003)(6666003)(6636002)(118296001)(68736007)(8936002)(81156014)(8676002)(52116002)(81166006)(51416003)(47776003)(66066001)(76176011)(16526019)(36756003)(186003)(478600001)(6496006)(105586002)(386003)(7736002)(2616005)(956004)(2351001)(53936002)(486006)(446003)(26005)(14444005)(11346002)(305945005)(476003)(86362001)(106356001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR05MB4177; H:t540p; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR05MB4177; 23:/1jFlzkhO4bCqUZ+UVdRm24R2NJaE+uylNH+40nrf?= dLjpZ1DIerUYkASKnQnLGB0PomOgwHOgo6eWwaZCY9I4156b0XHM3fxxtYt/al8rrGioPjjP+LN3f64Vx9GDPWap9NsBhjzYGW7Rj5Lj4PUNUKVrr7m5ZPe4HFOd7TCBzI38Ist/iVs5XdUE9wAg7HPcgRB3TFqf7vfkLAoFwYXeP56RFmvXSy9/SLLNlfPZRTY3EyrlYL5FHTuvezlfEw0pdjyhjcNXWzAhBGl14OKACIVbfRN1fJTjkbMFIuIUO5Ku6j75niTdlgyFxu1y1BjR7WrpPkLBWihfEYeCdeyis3hWvCU8+pDzBD6F6tm0LiCMy0kR93xpLIRayap4D6U90Z/z+dKW0Js3OWIBvuJrm6FzTHUJCIC5oa2Ru03PcfvRzpD+sVL2vWmXQBxauvfS6pubTiTp6Gk54peV12MbRDoUVbmpyT8+oriGhPDnKX8zIeX6Z9NIr8GIRV7AWvr0f2CarrQ5x90QE9UxG/L4NVA+4IYAxfqOq06gFR3kBHS+RH6XKrv8OcZd59PleQlJ8eZddD0VB0/bt67FDWJr8Bq+0OtzHwaZd2FDuOH1VAbajTIwch5Ce4kl5qawcycr2FMW0vhhgaUXmakTinwAGYzcEXia7PotWU4I3x3FDGN3WPGv/eBxmRudf4yxEkZ0YPWdE5mZUAeGpBn1Q68XSLXohsnc1wcuPrRoi7KKgBbcvkTgNBexRyM3/y7Rrw6qPzeiMlqqv+4MxLfx9bFv79OzWuAUQ0jtrhjvJHDjs8eAZE+Dj72bVRsm4hO9Xmp51o52uLgw8SX5yfdCVhkCp6d0anLNRezXI6yupfmbKf4dbpYB3/3MatZwso0hqhoEZiTbbW4ervA+gQozUAQNcU020BJzUEJNCQGTkSX0Yo2dviZj0dGU/GjbcFU0qsBo8Qu5wRFzOzGqzKy5q9RYCcLLC7PSOGJqs/QdOwOAYylUR0krokFAvNRWSqjdMDHQIVkjUShqfEwuEZtTnvMz/Yoe0TqeFlI7IDGuB1mIG1odUTuBggva8Y0eL+M0LOiLETsb53BJZ0YcSrNd5xUWbABgUEQuFWHUZedkdV/+Oo6SF1WDRvSUetDYAGC4Opx6zHVXjnGiXrOM6YrKNOj/H6KIsnAHr13weyu0AsWPDPIxiJniLFz9iwQ1J1TFcUNZ1F1W1On23CJBn31/0GCXA== X-Microsoft-Antispam-Message-Info: LnfZh9hTpT8uZZ2t0TDsNl3r3NOvOcYzPfKxXV3oO3YKCP+VMuAzWJpnjPa7GZtPCPb7N+MludPth/fnckZdkEdG1ZZ4s9eLSOgE7/ZiDJA0u93iOWklpB4yJJBLBpyKRB8jsna9rni4xLkSuFK5BUuvp2guNDjurYRFSqbNCdboniCFlAXOXr+DrnBSbp80zqtLwGKeFRuWsjBBcViRU85albY/MjZD00/cZLW1CgwaVhmH3/+agCs+C+9pz5LYr+rqXlolWGMq5ms+MY40ck1H4j+AKolTFEMKWP/c5xWphta+up402pvbxqOZfAzPeWfeiOPBRzgx99GsjQx9qXx6OdDgdQS4W0i3UxuXNJc= X-Microsoft-Exchange-Diagnostics: 1; AM0PR05MB4177; 6:lVXx/R1jswE0yi1lR+F93QpehD4NR7HTod6jfqXZlxBAlEl/o05pBBDbL4pDiNJ81ClYiMRx+eQbi61hhTrEhufTJZ6vQu/00+MJxa4Tm9vnCEgwpAy6NgxxHIWBcetKAig0RfGyo/kQU3y9QvwCCD9wbtz3PNZAhVHZmT0YAVImEK+I9h083YxTpV8g1KlJ4RTlLR9zJF8ctBeyWi/gFa7MtRy0kPKu1/ZPIWllq5frpx4UEtJ8dwGBmawrlcBb7SH5ocZ2S1jWxVFJvnmwXJCy1Rxgu/GO7/oUMvmu430ItXf+MtO+xLBgrPm51dYV1l+hrFgeIgYO7tpEbhMzssY67I8N1e6WehZszPnW2Qx9x/mIoTxoLIeV1HpcjDmGJOZXAb2lpDeUYRHbNEdWt+9Ga71oLeTBPVkpBXFGAoh6fTGN6tNdS6Fn4tvw9G3UKYJTKjnstgBE/qyKCygXXQ==; 5:0MMANzqB1ybkjpvc1w91VHQkHhPA+/xzJQtmYmKGbVUPuxkKDSgUmru98pI8c5z9A/R0To6uQgblFTXArGsh+ISggDe1QhbbgdLNqj56wMeXVOD/K+DE8ypj9CQhcwr4juCluW4WYVBmc+o4kinHSkGdP6vKjDD84StaufKNPnw=; 7:fPE4JCvH/RIrTxs+/cwsotANGqPzC5JI63mH8d0fHWK1wr8fOPnF9bhQb3UT0+MqznNcHmnDRRnp911Rghs3ZTUYQDmYdzaDKzpg3a259VBUnpnKbznGSx5Y8tAMvQsfo65jWbyQPtDIC9Sdtp3v0idrMWA1AyOXxNC9pNGr9O83FKcab34Xd//4mKcJOymndkSxiO5hFgThDwuxSOMxZJAXu1HHDxtcbsWC9Dra3VlOtVarFG8UszOA/cKMenZg SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2018 12:45:12.2939 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b0ec6e67-d6eb-4573-db14-08d5f61a4aa7 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB4177 X-BeenThere: linux-mlxsw@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: mlxsw driver development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-mlxsw-bounces+patchwork-linux-mlxsw=patchwork.kernel.org@lists.ozlabs.org X-Virus-Scanned: ClamAV using ClamSMTP Drivers may make offloading decision based on whether ip_forward_update_priority is enabled or not. Therefore distribute netevent notifications to give them a chance to react to a change. Signed-off-by: Petr Machata --- include/net/netevent.h | 1 + net/ipv4/sysctl_net_ipv4.c | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/include/net/netevent.h b/include/net/netevent.h index d9918261701c..4107016c3bb4 100644 --- a/include/net/netevent.h +++ b/include/net/netevent.h @@ -28,6 +28,7 @@ enum netevent_notif_type { NETEVENT_DELAY_PROBE_TIME_UPDATE, /* arg is struct neigh_parms ptr */ NETEVENT_IPV4_MPATH_HASH_UPDATE, /* arg is struct net ptr */ NETEVENT_IPV6_MPATH_HASH_UPDATE, /* arg is struct net ptr */ + NETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE, /* arg is struct net ptr */ }; int register_netevent_notifier(struct notifier_block *nb); diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index e21dda015513..b92f422f2fa8 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c @@ -201,6 +201,23 @@ static int ipv4_ping_group_range(struct ctl_table *table, int write, return ret; } +static int ipv4_fwd_update_priority(struct ctl_table *table, int write, + void __user *buffer, + size_t *lenp, loff_t *ppos) +{ + struct net *net; + int ret; + + net = container_of(table->data, struct net, + ipv4.sysctl_ip_fwd_update_priority); + ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos); + if (write && ret == 0) + call_netevent_notifiers(NETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE, + net); + + return ret; +} + static int proc_tcp_congestion_control(struct ctl_table *ctl, int write, void __user *buffer, size_t *lenp, loff_t *ppos) { @@ -668,7 +685,7 @@ static struct ctl_table ipv4_net_table[] = { .data = &init_net.ipv4.sysctl_ip_fwd_update_priority, .maxlen = sizeof(int), .mode = 0644, - .proc_handler = proc_dointvec_minmax, + .proc_handler = ipv4_fwd_update_priority, .extra1 = &zero, .extra2 = &one, },