From patchwork Tue Feb 4 14:55:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 13959308 X-Patchwork-Delegate: kuba@kernel.org Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2079.outbound.protection.outlook.com [40.107.236.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 62DC7213E65 for ; Tue, 4 Feb 2025 14:56:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.79 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738680998; cv=fail; b=W86fE4OMbdQq5vsUhBL2SNOZPw89uiAK4vDvh7hL9LCeq32Mek8EB9sdRogT9FiMou8IiGlBopiSzbYnJXRZMuxN/qjNC/XVoSHwqX+JhaSy2XSZJP/KhjaPOGMBb1lCiC1SBr5ZH44CaYy8nHlI4733qIpUbfrPzdnPVhOL3yw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738680998; c=relaxed/simple; bh=2JYX/ya3+DRcM4h2yy/TmA3lZUVGcrci82YmKsKzJic=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=E9mtuGfaxRk92GweXoAGCuPzIUAK3n2wauifkFGwoNii6C3D+IqWTadKO/4x7V7NtC+rSp6YINXw/0F7IR9AVpXwwFfoFhOV1ZC+Yn8riB2vMzWZP5r+aFsr60jiVpxIM/a7dzxBIIk4t4bkbcMapN7tEaRKWLs2ipkekgJzK/8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=nJ8hoHtm; arc=fail smtp.client-ip=40.107.236.79 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="nJ8hoHtm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uTJcXkO89krdC/zctZZDbEwdlmKhGiIsH+0JI7LGaa4ExTm6W4FazGtPeKbAeoOBlwTRyJthK+briVQF/EU/QIVyXsZ3pZKgwSZGS3EzEryZnUia9IJ+EEgHJ5Pxf7uSeo3BHYm+zy1UjN01ESM4k8Mk47naSLmr6oO3oQbcUBcu4bCJnzF4kwHcy6JswwcNSONOzrcw20oklQ0Yontu2tewWmMKA7HR3Epk3FRP+s8V0xRfF5LSinzN0jjeXoHGKsjX4HVDtTbTL1PjxYKSla8OSJwG62MGkMHTIm4DqIV5ZCmzA2q/RQpUWdutM6bCIYv5E3VYBrWTAwqMhxAdfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1d1Eh1DcFpRu9Bo42hd8vw3mLKSRt1+nesqGT2gqpMk=; b=fAN/MWhCBVjMywaEwoj2WnrLaK2eekJSL7k8fcZ97x2hurQQJQlDmdC9gU8Z1ZDt6cwImuv3oSHZog8IfJgjm9xtjk9El6QTenJt21utbKwlDqYz2N3QfkOyUQePhxq29IpEgd1F2sNvg2pgzI4i4EUOrs43EUmLTn5FMvtyFDJKAGRB5ZrwH7AZ2Dj/Q1T1DlbrZ1k2FVhwdFcxMFtaYFmdms8xekgV+H/SDxePrL/4p8ZGKKFmKgde40QuEXs5EMruaHXdTEGcR1tmEXO8C/jSfuA8WYxclJxH6LbFSkdQfW8AT1GA5g9PEGfYd6p4xl3KBD7MMbJQePWYjmQo7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1d1Eh1DcFpRu9Bo42hd8vw3mLKSRt1+nesqGT2gqpMk=; b=nJ8hoHtmTcDB8VNuBWm0pI11RetYQfhI5I4BHZa7HDTWZgiyL6X9UmdaCHGHZXd9v4kARrVfGRcLSdr0Hgg9/GxwFamjeGqe/oQSL1H1IIMxh6bXH3dvK+rC7/ove0R0g5Pvq5t3viDVmCz7AIEAGnPk4Y3ABHkTucYUkJTjoVv5LeYx4E0dTX0nxeWRY+NjqClxNtMKsNP5HLe91OTRWny1oZqiglUUQxBR2PluxI2C/GvoNROHRLJXNhPJX7n0Sc/mu4bTMTvO27MecaflUl0FzrwCAXhfOhe80EGU5C6BvI2gqgRK7yfDqgSQJeK1AE/Nom2HwsIGKfpP8XHi5Q== Received: from BL1PR13CA0207.namprd13.prod.outlook.com (2603:10b6:208:2be::32) by DS0PR12MB7945.namprd12.prod.outlook.com (2603:10b6:8:153::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Tue, 4 Feb 2025 14:56:33 +0000 Received: from BN2PEPF000055DB.namprd21.prod.outlook.com (2603:10b6:208:2be:cafe::d0) by BL1PR13CA0207.outlook.office365.com (2603:10b6:208:2be::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.20 via Frontend Transport; Tue, 4 Feb 2025 14:56:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by BN2PEPF000055DB.mail.protection.outlook.com (10.167.245.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.0 via Frontend Transport; Tue, 4 Feb 2025 14:56:32 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 4 Feb 2025 06:56:15 -0800 Received: from shredder.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 4 Feb 2025 06:56:11 -0800 From: Ido Schimmel To: CC: , , , , , , , , Ido Schimmel Subject: [PATCH net-next 1/8] vxlan: Annotate FDB data races Date: Tue, 4 Feb 2025 16:55:42 +0200 Message-ID: <20250204145549.1216254-2-idosch@nvidia.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250204145549.1216254-1-idosch@nvidia.com> References: <20250204145549.1216254-1-idosch@nvidia.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000055DB:EE_|DS0PR12MB7945:EE_ X-MS-Office365-Filtering-Correlation-Id: 61f96c7c-dacf-40ad-1a68-08dd452c1d4c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info: UUDVz/la7ChTljsp2Grepz3ZWC3a7o71x5Wu0LJ5v75X8XX6oUdmHOw1YZAya5mRxiUSIIuLWyCTR81KpCI3+4nkDDmtyLTozOUPrl8hnKO/f88lER4WgEZYZ9vqhYwA2FB52wVeHN6NMCDCoiUWSwZa0mKyAtCnpixIaER2JnBKwMhLlVTAQPn63j26IP0BbW23K6HW3oakhbTFiMlN5qrD89lRUcGYhAhMcCMHQrAukfo5fxbX9K4nRWxcLAD/ZCYqDB2hCTkCHN0tnKyv282X92AM3rp+ULDaZvXaa0VUGdzZ+t+pkhN6qMhH245FcV3Ext0/vfTphsYBxw9v0JsmyWr28r6j09orwNtMr4yx2onwtn2xC9cDj39D7AL22EsUkhB6btU+cGcUhJKc0YXOjrbMwWu0Qb6TVTMl08ERhsFbf9LL4NBjWiEnBLeuGwwC/JZ7ijXM7aJBU5/1DnRHGXPYX5meoCXMU4rL+RykIf+WbgaoIHgd2+42ApqJl5JzaIYZ3p30UaW4akdmd/9MJTrrMQEtapxxkQ+ATmyE0H0LKYh4PCrU00ShZE1eJXlwnZAIqf0s4p9Z9gDauXWsJ4Igfkk4sb1cyYKyaObPMbljtEzGGYQkvze/c8zflCA6XEMxncQ+adH7UGd1P8yJMUVJE+tWH7v27SeEeCflHkvor1/ad5D1YEZpaHyz6N9V/+Bv8XPvQCsHeB/3+du/+BXlgkcfEaTwlCLn7BpayaTFt88SoMW9s/O7RJ8MqHLUWyJS6fk+jlKaZXvNCEJ7hBBuSg2P8jimXosE/KsWaSvIv30oeLSD51Gg09E4lY7nrhwYqouW7k9zsZ1RLx70pwKJy4e3BotG64uKTU23159aMuk91QGcGTaj+SQ19IIdxSbCVTVwvoL5styJfSf9YQoP96EcWMLQ3M213ek28I4qEw0FsLPHpx5V7oxbhvWkLywJUFtiwC93M/2578qvrrKEBVYosicegB5rAq8y2cXi9bhwUzJF+NlhkG1PG9ePXLksJWg9/WaSU685RzJldQEEf9gD871uYSDKNqAypRGoYjGI+p4bYIwwPHfhXPmSuyCi1lpX/233qI4+Wu7PUISLOIIU7WpAkOqXXbJ0aUhtY9iBzC2j1K36V5BlUOTipn7CchjdJtwdUB4LzjO2ER73nx9hwP89f2ec9RBGWpxp7E61zrRaqjHA9NxR1582Rj3SZz99FLVT2LUmqMm2ltxZgOxXBUdwOnVgQ9bZBDhvB3byMDK/GKcGdPX4KQ9WKeQ1Bi1oAg+wGVQ9UuG/CzXcBid9ZPVqHf7z9b96XuTxId7Zdsw4i3DZAdcyoXWTlFeW3/UKqelPwpoyffnYSAdkUxAhobzv2lYALE7iVGHfhd+UESePJSeQMQzdjOBENpSR33NUA9trRSp1MhdGuZXbxOw7fiDLP5yiXzr0++zurUulbwnqP2JgDAULpwU4n4CqJb1qWY1CtQZ1RMoHhCRQE53TDvp/OTUV12g= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 14:56:32.6695 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 61f96c7c-dacf-40ad-1a68-08dd452c1d4c X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000055DB.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7945 X-Patchwork-Delegate: kuba@kernel.org The 'used' and 'updated' fields in the FDB entry structure can be accessed concurrently by multiple threads, leading to reports such as [1]. Can be reproduced using [2]. Suppress these reports by annotating these accesses using READ_ONCE() / WRITE_ONCE(). [1] BUG: KCSAN: data-race in vxlan_xmit / vxlan_xmit write to 0xffff942604d263a8 of 8 bytes by task 286 on cpu 0: vxlan_xmit+0xb29/0x2380 dev_hard_start_xmit+0x84/0x2f0 __dev_queue_xmit+0x45a/0x1650 packet_xmit+0x100/0x150 packet_sendmsg+0x2114/0x2ac0 __sys_sendto+0x318/0x330 __x64_sys_sendto+0x76/0x90 x64_sys_call+0x14e8/0x1c00 do_syscall_64+0x9e/0x1a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffff942604d263a8 of 8 bytes by task 287 on cpu 2: vxlan_xmit+0xadf/0x2380 dev_hard_start_xmit+0x84/0x2f0 __dev_queue_xmit+0x45a/0x1650 packet_xmit+0x100/0x150 packet_sendmsg+0x2114/0x2ac0 __sys_sendto+0x318/0x330 __x64_sys_sendto+0x76/0x90 x64_sys_call+0x14e8/0x1c00 do_syscall_64+0x9e/0x1a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x00000000fffbac6e -> 0x00000000fffbac6f Reported by Kernel Concurrency Sanitizer on: CPU: 2 UID: 0 PID: 287 Comm: mausezahn Not tainted 6.13.0-rc7-01544-gb4b270f11a02 #5 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014 [2] #!/bin/bash set +H echo whitelist > /sys/kernel/debug/kcsan echo !vxlan_xmit > /sys/kernel/debug/kcsan ip link add name vx0 up type vxlan id 10010 dstport 4789 local 192.0.2.1 bridge fdb add 00:11:22:33:44:55 dev vx0 self static dst 198.51.100.1 taskset -c 0 mausezahn vx0 -a own -b 00:11:22:33:44:55 -c 0 -q & taskset -c 2 mausezahn vx0 -a own -b 00:11:22:33:44:55 -c 0 -q & Reviewed-by: Petr Machata Signed-off-by: Ido Schimmel Reviewed-by: Eric Dumazet Reviewed-by: Nikolay Aleksandrov --- drivers/net/vxlan/vxlan_core.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index 05c10acb2a57..2f2c6606f719 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -227,9 +227,9 @@ static int vxlan_fdb_info(struct sk_buff *skb, struct vxlan_dev *vxlan, be32_to_cpu(fdb->vni))) goto nla_put_failure; - ci.ndm_used = jiffies_to_clock_t(now - fdb->used); + ci.ndm_used = jiffies_to_clock_t(now - READ_ONCE(fdb->used)); ci.ndm_confirmed = 0; - ci.ndm_updated = jiffies_to_clock_t(now - fdb->updated); + ci.ndm_updated = jiffies_to_clock_t(now - READ_ONCE(fdb->updated)); ci.ndm_refcnt = 0; if (nla_put(skb, NDA_CACHEINFO, sizeof(ci), &ci)) @@ -434,8 +434,8 @@ static struct vxlan_fdb *vxlan_find_mac(struct vxlan_dev *vxlan, struct vxlan_fdb *f; f = __vxlan_find_mac(vxlan, mac, vni); - if (f && f->used != jiffies) - f->used = jiffies; + if (f && READ_ONCE(f->used) != jiffies) + WRITE_ONCE(f->used, jiffies); return f; } @@ -1009,12 +1009,12 @@ static int vxlan_fdb_update_existing(struct vxlan_dev *vxlan, !(f->flags & NTF_VXLAN_ADDED_BY_USER)) { if (f->state != state) { f->state = state; - f->updated = jiffies; + WRITE_ONCE(f->updated, jiffies); notify = 1; } if (f->flags != fdb_flags) { f->flags = fdb_flags; - f->updated = jiffies; + WRITE_ONCE(f->updated, jiffies); notify = 1; } } @@ -1048,7 +1048,7 @@ static int vxlan_fdb_update_existing(struct vxlan_dev *vxlan, } if (ndm_flags & NTF_USE) - f->used = jiffies; + WRITE_ONCE(f->used, jiffies); if (notify) { if (rd == NULL) @@ -1481,7 +1481,7 @@ static enum skb_drop_reason vxlan_snoop(struct net_device *dev, src_mac, &rdst->remote_ip.sa, &src_ip->sa); rdst->remote_ip = *src_ip; - f->updated = jiffies; + WRITE_ONCE(f->updated, jiffies); vxlan_fdb_notify(vxlan, f, rdst, RTM_NEWNEIGH, true, NULL); } else { u32 hash_index = fdb_head_index(vxlan, src_mac, vni); @@ -2852,7 +2852,7 @@ static void vxlan_cleanup(struct timer_list *t) if (f->flags & NTF_EXT_LEARNED) continue; - timeout = f->used + vxlan->cfg.age_interval * HZ; + timeout = READ_ONCE(f->used) + vxlan->cfg.age_interval * HZ; if (time_before_eq(timeout, jiffies)) { netdev_dbg(vxlan->dev, "garbage collect %pM\n", From patchwork Tue Feb 4 14:55:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 13959309 X-Patchwork-Delegate: kuba@kernel.org Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2067.outbound.protection.outlook.com [40.107.93.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7261E213E93 for ; Tue, 4 Feb 2025 14:56:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681002; cv=fail; b=j1yEc446+1OoZ4gYy/5GHz8hajiT9iXnvZ+c3THc4xQ7WFNQ6G3C8k0h2/5D9y/P3p6XCTASxiH5BPsL2dYBBtyvudou3ZD/3GW4XQpY8xjVcBflDek8x7TBf3YQ6AxQQIkx844pXdkFlmab4Q2rgj2UwrnCTw3fDmtEagjdANo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681002; c=relaxed/simple; bh=+krwwr9dQo4AKkodO0sEHk51ZhtS9g/ol+wU0rTafy0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=itHyy7EULM8M7fnBR7ypen+PFJD3CaTsBGliv8QyVOMp54S/QbJOlLx/TOfz87WnSXWp381XWm3blu4TZ8iN/Wudua2W7VT+OyHKYaYhv8AOnue4FWg464ghyUnWAR7t67Fxi/pDbMur4ih0B1TVJwvSHlF8VR+9W00npRzhFE0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=lhu44r3M; arc=fail smtp.client-ip=40.107.93.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="lhu44r3M" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WQ+2ogpykxGfIXTyB+KArttCHoDdo4GFKtXMPNUr81HZ4iNCzl0hv+QwKCdKwqKMUGQJ2jmeUhifU/bXxXs45IWLX28NsMPdzhLZsgJe1YMkc0NNM914svdExEGjHjkEOlMQoWsVkHFceP08zRH6FlPt/oOEf64GGXNzZma02I+x9ZCkXVkuyQsx9aJhivK81+7wctxZSJQ8t5isacU8KXisN0jDnpFtEjOWpbyT7Yd54ohxsQwhv9P9jIiGt+LWarNieBd3k4DA+HUeanJz4RjsvshSNRbKcm33PTjHik4z7ZWwNi/kPwuG/D0f6QBb4+mdwUJ/HMRnFHTIXmKTuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Owb6/SPja6g/rrUCtNGbPG7QitmibSkv3zSN+2V2j6M=; b=nSl2AAT2lIVkOn+Nwe56v801/Ry1DCZSTzOO3ZC+Kbyy9xy/1msHeFSrcHdg/LYIczJ86HAoHtCJ1A6hyIXrtkXAKbnVTA7QKD/XeGkhIJeyuymgWwtyuyuXqEPUEUHMGWu7q1le88EvHWr6IFtmLUqdKP2k/CFj/z9oN2LSdgKESsJkjN67oYxsR3FRuI+qDzfV6Xj2Eies7nbYKrxc1bqQF6QSrwvgmpqEqlymRLXH4m+Oxl5N/KE/5jvKrHad+aQY6wOR9dZwofnlicl6e2oYFd5xvmYJz7mntTubFVEcVkiFJlX6d3yLwtloHEtdod8GoJ/L9dxk8N8MVnPAaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Owb6/SPja6g/rrUCtNGbPG7QitmibSkv3zSN+2V2j6M=; b=lhu44r3M6VGbkTKi3auGCzt8iCq0b47971yiIsHDLd0d3hgWhYxvj8mmlN5NU2wX8rtdjS3YYg7dJbAgVoYXlMT6+gKfJ15EbR5yal+SWTsBZwLxImVJIHQJFDZKswLqw51oDKZ4Cwr1alxQsuIDcffnp0JfoO7UU4M7UFt1ylW2DsqRYkL7EEK/S8y1sdNElEQMuEZ2/sQajcIY2m168ZU8NwxzT2+Sh/EAlgpR3hMArkgM7VU6Qt+5BTqfcZ1C3M2/xrOVLt3TdwK3WIIx+GOM1U42kV+qcFN1m/9YifA8beA7PV0IUl44gCyoEXlQPPLNv4UyWq8XZmJ31e/L2g== Received: from SJ0PR03CA0213.namprd03.prod.outlook.com (2603:10b6:a03:39f::8) by SN7PR12MB8435.namprd12.prod.outlook.com (2603:10b6:806:2e2::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.23; Tue, 4 Feb 2025 14:56:37 +0000 Received: from CY4PEPF0000FCC2.namprd03.prod.outlook.com (2603:10b6:a03:39f:cafe::1) by SJ0PR03CA0213.outlook.office365.com (2603:10b6:a03:39f::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Tue, 4 Feb 2025 14:56:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000FCC2.mail.protection.outlook.com (10.167.242.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.14 via Frontend Transport; Tue, 4 Feb 2025 14:56:37 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 4 Feb 2025 06:56:19 -0800 Received: from shredder.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 4 Feb 2025 06:56:15 -0800 From: Ido Schimmel To: CC: , , , , , , , , Ido Schimmel Subject: [PATCH net-next 2/8] vxlan: Read jiffies once when updating FDB 'used' time Date: Tue, 4 Feb 2025 16:55:43 +0200 Message-ID: <20250204145549.1216254-3-idosch@nvidia.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250204145549.1216254-1-idosch@nvidia.com> References: <20250204145549.1216254-1-idosch@nvidia.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCC2:EE_|SN7PR12MB8435:EE_ X-MS-Office365-Filtering-Correlation-Id: 76fde0ba-3a5f-4ca7-7c18-08dd452c1fd4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info: ng5ZWTGgTFwm0wujUItUMC65Yya/TwNmIwIrdQ2FfT6nRzOsmE9nnemnJcIU6Z8Dr56I2/ywQe3GrlGHydQPU1oOoakOxHN8W7/8MaNH1vhbx5dP3WlEadxkvXK/sK257YpdLtTzSPbehtqif/0Urjn6uJaQGtFbhFu3PLc5JHxDMu+HsmUo3/BfOPqFqxXjcNPfsr591HXhFVw/Q1+zVaD8Mvda36AZuzPDYMi0Q/eB8zuXT7CfBw9QiBoSCutQH+mRm/pvwOekt7uqLG0Pp7RMNp6z04niaB2nU05GNXsCLNezTq3zFM2eDgy1GiPXyBnEuYLkwVchd8WQAyaYax1jzPL29C2wsCVCXU9wdJHe2ol/zYU7j6XKObxfm8e9Wb2ucRxIY+ZMqgxsQxfRVjHflxauV5vj6+k7JKN9cgOEA5aemjNjsYFgsVCoU5+DBjnjvkD3XSIPkO2w60bldqHbEdEd+ypkE3/fyYuqbYur0iiwh4f3ikhfO2vZezTqkd3sCxjJTJfULngeyV/PS2/qbart3mTY/DtZ9nKpNc2V/6/RRAtrPpGp2faukE7Hp6GFiPJMqHtgqnVsPDKNFOv91umXNmeCrDgkuwtLiolbfklRHqH8YPVg6qjyVoqyq2FGxCQ87UKkWr1kaQaEaeaVFvne5EHYuaR06cJpfSjAkYYex9NJmwGWesJXmnkbX4owaKZPhc5SdoVuCk8jEHQW4HnMw94IC2pmUurwy6UOFXfanr0bCJqzw7xjBhKFgORFEDCgBDReOStpC2RrkE5r4eYnM3AQZKc6U1UoQITLhh0NwsrHAPsUEyWUru4zkfCiuc6+T53i1Y+ABLe9Ad6O3jygxE3KmqQJPeaXBT5GQxqMvcdP5jt6u6AicWBIzqmECE/Yt8GXZuR/9IFNiO7wlRXC06qb44izWi/8UXTwf3xYFI3iNZMaJB0hpppiqLn5tKGWdMD6ZnBznFj1vrG3wEdDpCIQJWWOn+KrlBLyyXYBX1bYY4ANoxKJ5Q1tVRhQSqjjcivE3wMmFRvmIX4/tVN7FwEc9p5uRZIQdoCMwhR2J1wusifqUVnvUjFHa0QmjqksrKdSiT7aZOzHlpDzbFlCmmc3gNkXWMD0jbKi85f6zcRgxTejdvwmOzrdxYs7ybxVdT7hHybGhYkWSQl5oAKVPOhPkw9IzPLPyEm4700wnsHTKlu+CVXSpmlPYni1g6utq4HR7nanFeJtNSraOtbJjetzOwhEUt8VR+l7B7mazYvMaPznpAr8LbQGZ2IIV9Lycy8woYry4sb2lo/ksivet4EhQni3unNYC6fnsd1I7MQC7TqbFvrdG33XHNLAMD21Ae915Rf49O8zaAa/p8oJ7jsj4pBYFkmPuOk9GzAsWgFUfPn/pJxxQ6ZlWxSngcyaVwETgcMRsZ3hOkpn6hTR86rWB8lCj3Ju+RZHqmxvTw2qG4uQ5BMQ8ZxtzHMCv41LGc8fANkFcS/Mk3HS/DPeA9z+7eOaa6thyK0= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 14:56:37.0281 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 76fde0ba-3a5f-4ca7-7c18-08dd452c1fd4 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000FCC2.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8435 X-Patchwork-Delegate: kuba@kernel.org Avoid two volatile reads in the data path. Instead, read jiffies once and only if an FDB entry was found. Reviewed-by: Petr Machata Signed-off-by: Ido Schimmel Reviewed-by: Eric Dumazet Reviewed-by: Nikolay Aleksandrov --- drivers/net/vxlan/vxlan_core.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index 2f2c6606f719..676a93ce3a19 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -434,8 +434,12 @@ static struct vxlan_fdb *vxlan_find_mac(struct vxlan_dev *vxlan, struct vxlan_fdb *f; f = __vxlan_find_mac(vxlan, mac, vni); - if (f && READ_ONCE(f->used) != jiffies) - WRITE_ONCE(f->used, jiffies); + if (f) { + unsigned long now = jiffies; + + if (READ_ONCE(f->used) != now) + WRITE_ONCE(f->used, now); + } return f; } From patchwork Tue Feb 4 14:55:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 13959310 X-Patchwork-Delegate: kuba@kernel.org Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2083.outbound.protection.outlook.com [40.107.102.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 410AD2144BB for ; Tue, 4 Feb 2025 14:56:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681006; cv=fail; b=MlQCAZh/HvLjJ9N9bUSVOaQ5FCWVp5GZRYijvw9IcqH6dZC7OGqGYSFJJtGykAm7+0FuDZmJYpk9zxPP3You7P+28WzFBCM6+Ch9m6zB2cGbTEBbGxTA+TtAv7GXsKN0+uF8ZczHaNz48SOjTovU/YQG+xnrTslT8KcmCq6nV1I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681006; c=relaxed/simple; bh=dkt2bXabjOoIHyFC4I6Mq4OaUM0+ug7Qg9G4bNn9GnU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=D7x7rChMherEZV493Bbfyl4fBRl89VbgQtjjWRbLHN/gDptdEcWCndGWnWPgq0+AZM8gQ+FHJ5CYPaB8fSqLOSj/k3UFCAY6ZeO0S3Ijr1Unez7uYsNZW1qlLhvF5X2WkhbUQYllx2yma/HuCkxF8bqXoF4yzsws/OETaYHWGVM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=G7s/vBBb; arc=fail smtp.client-ip=40.107.102.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="G7s/vBBb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y4l7cv1MjCntDykWw9wxrv9KTmOueXqqf21WYJS00CvpMGSRBcjQlN4uFymw5Fbe9MKgYHzzOBnMQP0WLoo0i8XsmQlTu2pXpE0SFPrwI05dB3BuFjovNkr0olm2hnPnYkod3UJY5PIy8MOzS0wkWFhWT5M73w33qucF8XJGjFyK48KJdG6TW7AZp4+DZ9bmw2ckmYkF6Kjr2VQK18wq6g/G2KtvQnizqrxKM9jalXE5iFnZj308tAg/aY9WzxO1FNqAcRCZKd98t5VhPK4E3xUh+Zl++7qleGZscopVeXLNzbbPOdr5AauXbrkztbHbUyINwUro9NzRijfg828VhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6Dwa9Qw3vH0otCII6yUsmC10rcHjbN2LanIn5pP3CZ8=; b=K6DWbYaWdT+FXLd05nYnp0JpcZkN1gdf0zK1bFX1hGWc5lcIot3f37W7BIKwqOjE7V2teQs9u/h65YFyYZ0Rh0EWuYCmvpBtKvdUx/KpiUs/USQTbwDMnUqA+dnlkmIpTAj5iboJxhCK8GXgBKkvoWtuQfi9Q99TcqPharAjP9H13dhHG0+4JA9rCsGtVJpVKbFYxUPRAkErDp+C99/wf61VwCgIArDUwS0DZivNZctxJyOYtzfj43YqqcGRzQ7ZeeSDONW/UBsRBN776jI3sHbNFZfX8SABjZESgvwbyFbJxF04VPcjwSG9+gKJUTGGUIicppno9sXwtqXsEJUOsg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6Dwa9Qw3vH0otCII6yUsmC10rcHjbN2LanIn5pP3CZ8=; b=G7s/vBBb0XZ7TLtLcjzUnIKuf2Ia6yqnCzz2ca+VrmWFi/CCNEXq6fOQF9owz3Yti2ADRaV/z9IcTI8DPYrCK9qqdO+JkgfIDgH4hTwuUqohd509fqbqCLSgsan2NwDfXuwo9kUmfVXJEBZFpM7il+LgTSvn4udWDxg917vSVGLOKx+hERFTbJsYVNYlaZb/mGC8xmdbwUdXrH9JydJpnSPYEgUUSjIXYeKevWjQ5m0VDrhL7tkyLYdWnejAsR8fBiMl4jSYvXnbez1XMi4CTiv8RNwR/mojffNQ9g3jQYPeyccHSNMbnE9KCVCiPg++jDJFeRBtTRGK9aAc92rI2A== Received: from BN9PR03CA0323.namprd03.prod.outlook.com (2603:10b6:408:112::28) by IA1PR12MB8240.namprd12.prod.outlook.com (2603:10b6:208:3f2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Tue, 4 Feb 2025 14:56:39 +0000 Received: from BN2PEPF000055DA.namprd21.prod.outlook.com (2603:10b6:408:112:cafe::3b) by BN9PR03CA0323.outlook.office365.com (2603:10b6:408:112::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.26 via Frontend Transport; Tue, 4 Feb 2025 14:56:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by BN2PEPF000055DA.mail.protection.outlook.com (10.167.245.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.0 via Frontend Transport; Tue, 4 Feb 2025 14:56:39 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 4 Feb 2025 06:56:23 -0800 Received: from shredder.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 4 Feb 2025 06:56:19 -0800 From: Ido Schimmel To: CC: , , , , , , , , Ido Schimmel Subject: [PATCH net-next 3/8] vxlan: Always refresh FDB 'updated' time when learning is enabled Date: Tue, 4 Feb 2025 16:55:44 +0200 Message-ID: <20250204145549.1216254-4-idosch@nvidia.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250204145549.1216254-1-idosch@nvidia.com> References: <20250204145549.1216254-1-idosch@nvidia.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000055DA:EE_|IA1PR12MB8240:EE_ X-MS-Office365-Filtering-Correlation-Id: e8c29778-c085-49fc-75b1-08dd452c2172 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: GzpHfUl5xDp26mwpqOgutzdLw/Fhn58f3jItdBQGpF4wY4/1nRZahX0RCbbtyDLhXjafL0kcRonkNuUcxSyGQHVvXg5wvAAaIQRZDwayhok7JPvIJhHYCHeZV9LmjxYhWzhbGRZrCSuhNYiPSLlGtgx2b7ZnApIcaxEWdaGlvpoZ2hMI4VE7Ov93KxER3Ak4KxClnXhtkNG1GPhRp+kMF1ozDTpNBZQGuSWxEr76lzNjVvGbcAQeOA/1OyJUdnooAkxlx+UKZdtdjCx6dLRLtoRgwoDoS1fg5Mv9lCBb8GnQtnWWf36ZASxN+8PhhcCvn5JQPtM2Mcfpx6qx1aR1HdlDiWqaKmTlYzi+0nz/Gt6rcurwJykJeuBNeoQhrogY3mIPq40c0LCxcV838rOnvPRqoFBtR2U3Epad6mrUpH8pWy49ldm50X708TYFp9rKgEnN5wwFbSz4EGp8lXk+UskKvfLU9rObc3+T1JtdaW9O3GGkhnmnF1tsJdk+s93lobJVY5ekDi9DdZNB9Fvlmo9VuHWHiqVDgyCiMHwthpKrBnL4D8hQSkUvmqgnT9GHZItYZzO+vnzvQB0qnp6iJVLVCQ/C40o0Lg7UjWFrZcbj16bdYL/eg/HTdQ6WyxnsnJCC/CxLDZblXy2KcCRovbrkYNGHYcqZeVg/LjMnnChq4NOCrU67unuRsSwhZ6spsrGbYTjUyV7mohtvtmfnK6STIOKj39th+H7UHqqTQyzRy4Q645jL4lUXX6yiFWxyPvdU9yxYJrPLxmdHMjncio4WyifSvgsljfAfBOMx7UdrMHW0EhGm+47GZLPgVfvSq8gY3WZBIIZMSkJhrxZyJWkvgcluUDF7mqCR3GN0N2FVeIj7k/zYoo+MtqoTTOgQJwdDUQqhFEpyaE1o83AqRqydWddus6D/jIz4ydtsrowgxb/VFVJ1PYURU6psMNwPUth9yrrntPuT2eTR2RXqj3XK51vjsa9FbZHzYa/2VBtvHfxZMM4tAclzDA/KrKl1u4p4XLZPtl4PR/Ty+rO6rae4KpEmZIzY1AYByix/nPead+au9XF8ZSj1VgidVoOLjjgvh73w6OsSEczveN5YSC/g1RiT0yhXPj2VCLGDuq6iBzylAbG5LEXdGr4etCqQ/lhly2lOSBhIMZM/OmbKKQRYzfawL0+FlQpbcEWrZNOuXNLd5L9lZdxi9SA5Htw9dfQNQjwN5YVfwB+d8Tn4e9joY6rOzhNMc4dJF3yae844BU3ALlQWaZviaLaRB6h4sDlrnMjcBE0zuplzwyh/D1e4bHQjINxb/gsLwzQgBYSLP93Xdwgg1evUqleniwOrZZJCNJUFja0bWztYQiS6G44C+AvquHs70Eb5KkPinVm/jgG4rqi5cjx3jtxdJ3R7ntvp+90ChCgiMnfD+vlaD/Y+LPPMfo3wSrTPoECOdxGMAKB1mZvr2kxY7z4pob6rT+HixsbzbfDfoYYz1HdddoW/m1vh+aBaeh9ItGao6yY= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 14:56:39.6474 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e8c29778-c085-49fc-75b1-08dd452c2172 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000055DA.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8240 X-Patchwork-Delegate: kuba@kernel.org Currently, when learning is enabled and a packet is received from the expected remote, the 'updated' field of the FDB entry is not refreshed. This will become a problem when we switch the VXLAN driver to age out entries based on the 'updated' field. Solve this by always refreshing an FDB entry when we receive a packet with a matching source MAC address, regardless if it was received via the expected remote or not as it indicates the host is alive. This is consistent with the bridge driver's FDB. Reviewed-by: Petr Machata Signed-off-by: Ido Schimmel Reviewed-by: Nikolay Aleksandrov --- drivers/net/vxlan/vxlan_core.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index 676a93ce3a19..36cb06a56aca 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -1466,6 +1466,10 @@ static enum skb_drop_reason vxlan_snoop(struct net_device *dev, f = vxlan_find_mac(vxlan, src_mac, vni); if (likely(f)) { struct vxlan_rdst *rdst = first_remote_rcu(f); + unsigned long now = jiffies; + + if (READ_ONCE(f->updated) != now) + WRITE_ONCE(f->updated, now); if (likely(vxlan_addr_equal(&rdst->remote_ip, src_ip) && rdst->remote_ifindex == ifindex)) @@ -1485,7 +1489,6 @@ static enum skb_drop_reason vxlan_snoop(struct net_device *dev, src_mac, &rdst->remote_ip.sa, &src_ip->sa); rdst->remote_ip = *src_ip; - WRITE_ONCE(f->updated, jiffies); vxlan_fdb_notify(vxlan, f, rdst, RTM_NEWNEIGH, true, NULL); } else { u32 hash_index = fdb_head_index(vxlan, src_mac, vni); From patchwork Tue Feb 4 14:55:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 13959311 X-Patchwork-Delegate: kuba@kernel.org Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2049.outbound.protection.outlook.com [40.107.102.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0BDF22139D2 for ; Tue, 4 Feb 2025 14:56:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681015; cv=fail; b=ucon9G7Rx60FYk3pnzwMhD3Zm4C/K21yKjmLuDteTPvTl9S4bl8+MsRb2bQ13Lrg7gb5PhPEAFCmDznUkLWtMeTIt6eMe0764vOr8Gkt1dwSIdPwHvzN9Ivkpg4U5pxux8YpW7vzhnMx5lIen0iqZ8JCwlRGDeQHzGYFVjoraxY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681015; c=relaxed/simple; bh=B7pyZN+2NdAbKJfk4k2h13ovnUnHbn5aazVh+WQ38YU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=mHqM7RSC4aijVj62J0YeqywxqJHn37JC3DAX/w7Pl1LBcqk8W0qp058RKOalgHQ0bF6cW+eiJf+K8NgUt56TQbdiUMvgPS+Kubjm9ASoeAEJEGPdN9AzbvzRA1zRZtRGiDv3cdGoM/z2m6aOtXkNToJ3rZRt5nkDaAILBavZ+Dw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=cLFAtc3z; arc=fail smtp.client-ip=40.107.102.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="cLFAtc3z" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aNpGoosfVPAFWSi+3ljlLWfishWYzIgt/oqxgGBnaaNSk0HYmPmKMLyyrRWsgd+1Vt6uxCkXXpI4K4bRyUHPfm6Fb8kv7kH1wnOpPzt8uTw0ClQP1eGZmQlF4AytlOnt0ATU4HnuZvSTK4g2ayq4T3ZzdB5M0X4kdeBhdO/g/wtq9KTRcPAzp3Z53ZYhB5lJfPivg5fLhK8pQ/zy6dcS/5w3k6Se7iht1hLYv5qDH0JjpUzX8tR0BgN8KAniercS4mOfscyYHASX8nBo7Cp8wiV0eYswZSevp+dPMVBsrYww7KZFmuQDrI4ePDyA2BnNzcTuTm5EcQsHUUm1bPwV9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XSB3ZX44RGhqE/G9JiWsty2dXW7IPzeITP0SRRnK16g=; b=a1UZMQTrZs8E9JDNpDXy8V4UMt5fjqCSvCsMCMWFOUoRU/YGCh+TlpiCefFgfXJ0fUySkgUDpx+AQLu5262Zn4bCqQKD66pyWtoNzMIE1CI8wqUDRUkN7+xK7YGvaLd9QgE37jRpGJhsvRMK9k/nSuWHtJALxNrCjc+JlB7gqNAgHb2k87S4dgR40V9QA0f08nAAer2uEowYvg6M3XuaZDsfiGNmEzWL05v/H34Z7ZzUXoldvxSWXDckD+GDcvQQCf9wCqZhcGyBBsT6s4tPpO9r+ttF5/spUSaTbQo/UVRFPQpQ151RC6dH+hJoeWzvE4GIJ4pt2zUm4+bMT7oduA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XSB3ZX44RGhqE/G9JiWsty2dXW7IPzeITP0SRRnK16g=; b=cLFAtc3zSO1WQJOXIqlxrVXUih7h5wolsn5ft5zEItMrvZ9h632f4boD8Mi06bye8K/2Ar28+KUlASvpVt5SX0n/MKiHWlYzjDfem7ovgyHgZVFn2ApR+C2EoqNPjA9aht1obrLAWEflzXbP2Qhla/LJpLfHSyv9BNgAVXBDNYFGVuvekMZRXq3ZwzjxY7/sgSj5kBZntutlbrFWxGMOFWCozwQyudpJXUAvD1r+/oiSY8nMkufenc1yXb994dbe/IbfskTCZGuIBRQa3xjHxRFhB0IxSN3zAM0V6K84W3+pRYQQmkOruOUvvjEhgSamkhODprPb35Rcr553Gdzy8g== Received: from DS7PR05CA0009.namprd05.prod.outlook.com (2603:10b6:5:3b9::14) by PH8PR12MB7026.namprd12.prod.outlook.com (2603:10b6:510:1bd::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.21; Tue, 4 Feb 2025 14:56:49 +0000 Received: from CY4PEPF0000FCC3.namprd03.prod.outlook.com (2603:10b6:5:3b9:cafe::40) by DS7PR05CA0009.outlook.office365.com (2603:10b6:5:3b9::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Tue, 4 Feb 2025 14:56:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000FCC3.mail.protection.outlook.com (10.167.242.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.14 via Frontend Transport; Tue, 4 Feb 2025 14:56:49 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 4 Feb 2025 06:56:27 -0800 Received: from shredder.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 4 Feb 2025 06:56:23 -0800 From: Ido Schimmel To: CC: , , , , , , , , Ido Schimmel Subject: [PATCH net-next 4/8] vxlan: Refresh FDB 'updated' time upon 'NTF_USE' Date: Tue, 4 Feb 2025 16:55:45 +0200 Message-ID: <20250204145549.1216254-5-idosch@nvidia.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250204145549.1216254-1-idosch@nvidia.com> References: <20250204145549.1216254-1-idosch@nvidia.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCC3:EE_|PH8PR12MB7026:EE_ X-MS-Office365-Filtering-Correlation-Id: 19589a1d-684f-4714-318a-08dd452c270d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: eTEtGIG5L14YKvyixCj4bM3VYnnIyoQitnr/7yiQ+TRxqaN4ykAn+W3tVANyAuLB2U39heXHac3pvOpjT/61ZPfWEi/myeSFplIZyaUjnqv/Qab6PqHSk/5+oQwYz83MKj4Uv7YsfsakJG4IMRZXidkoSo0EAf6DVu18Ea5ilwXDPPon9lMuuHsxv6ad2aXFt4HG82iC9/TOhsfd71KstoFINIVVjpoMZbcWQi72oeGVYNX/4XvYRYWuUykhYDQD9p4ThzhSuSdeA0+TtZZ+PzBy9moyQFYLXZ96QGAEezxaD1bMMXdDW23mJcgviuEZQPWBZ6+Tuw7cO5kr+dFYbdhtjcJmWylq5d9JS40UKc2youaneWYmxzKeJWWQD0ewgvSHIPNS22vc5ByT74YqqaIx/yZfJE8RpPweRD4ElXCFn3nNBEp1ySvg2WroqcEP6wRXyYEP0Sk37r8nknhChMFD1W0td2boSMbd+cGJLV4AbmRNyjQRr/Ezn+1flfE3pQPgnZVbfzX26vTivUdqyElGVoWrOyCG1TooOSB8dGaAOjYUerv3cGvigCyW6i4Bq0LpEmdNR/HDkN9NwNxAHrfZsWnzq3YjDR26D6jVOoZHTlosf9fUs9nDO9rkfU1ZcPWGocB+f7z+veUO0XWSkSlx+4kkBLTSF9x+Hldd8mT8UZPxwktNiu2LQaxCb5Lrtk8NhVhlBGAeWws1s0aQ22BLh6RsOKHOSO1NnElH3iPnFDurEVTS88jhHAe+3JPqosla5GUzLi3T5PctFpf/Dvja9lm8eWrLQaLGL29BvS3+8JqnAsEShhXbIYGWP9zK+MvZLeTXALgahiLuP6HiSE7+/f31D6Mb5uIL0mDS8p6ZqmX4AsXLC59v2fvx3tlZ9ilBK31mVTMXmu/1C3A0SqYKeDWcpOuHvn8twcJhiNpDZUR3azLNUP7+lDZJgvENXdEUaU2YGCsFHK0KxM91AlvAQ7ecGDRZ31KyaaWxCN/KvSAzBDzt2SG8v24k/oZIJh+UDqK+SN5ans2pn6VPs9ZA7QuclpKljPLt36oRf5s7L2+0YAUUvapk1gM0OejrzfyhGe9FkLd7WLdsk4hzwFpCLqcfuNlvrc3i2vGFX2NGcdt4CFXM9iAzV1CBokN/LqqF2jltisgoNb+4iEOxIA/YXoJC35cUu7hWkx3BfTOzWcyhuS0Q00OhJLVqjCMTmH4BhAGmn9Jgy6Two+6wC+UtI2H2WnbfG3SJgBF7SRVaHp30tjvA01YzwcwzdBfm2CBRPALDXuzGVklP/130TAdlKaUZL9LtArQhDuua87YASiWowUFGd1izp/L6NpV4F/pPC5B0spT/VFQFWbrbo4sI0grC5hrDiPC+AIjAKy54e3wGblnrsCsr0n3pl/s0G3XFWf9soAd3Eh8+N1K4wRGZanz1wtbu5MB+beD2iGOxGzCn6iXKkBRbxm86aoop5/9PkObHJIkMkBzrtM/kog== X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 14:56:49.1438 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 19589a1d-684f-4714-318a-08dd452c270d X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000FCC3.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7026 X-Patchwork-Delegate: kuba@kernel.org The 'NTF_USE' flag can be used by user space to refresh FDB entries so that they will not age out. Currently, the VXLAN driver implements it by refreshing the 'used' field in the FDB entry as this is the field according to which FDB entries are aged out. Subsequent patches will switch the VXLAN driver to age out entries based on the 'updated' field. Prepare for this change by refreshing the 'updated' field upon 'NTF_USE'. This is consistent with the bridge driver's FDB: # ip link add name br1 up type bridge # ip link add name swp1 master br1 up type dummy # bridge fdb add 00:11:22:33:44:55 dev swp1 master dynamic vlan 1 # sleep 10 # bridge fdb replace 00:11:22:33:44:55 dev swp1 master dynamic vlan 1 # bridge -s -j fdb get 00:11:22:33:44:55 br br1 vlan 1 | jq '.[]["updated"]' 10 # sleep 10 # bridge fdb replace 00:11:22:33:44:55 dev swp1 master use dynamic vlan 1 # bridge -s -j fdb get 00:11:22:33:44:55 br br1 vlan 1 | jq '.[]["updated"]' 0 Before: # ip link add name vx1 up type vxlan id 10010 dstport 4789 # bridge fdb add 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1 # sleep 10 # bridge fdb replace 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1 # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]' 10 # sleep 10 # bridge fdb replace 00:11:22:33:44:55 dev vx1 self use dynamic dst 198.51.100.1 # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]' 20 After: # ip link add name vx1 up type vxlan id 10010 dstport 4789 # bridge fdb add 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1 # sleep 10 # bridge fdb replace 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1 # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]' 10 # sleep 10 # bridge fdb replace 00:11:22:33:44:55 dev vx1 self use dynamic dst 198.51.100.1 # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]' 0 Reviewed-by: Petr Machata Signed-off-by: Ido Schimmel Reviewed-by: Nikolay Aleksandrov --- drivers/net/vxlan/vxlan_core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index 36cb06a56aca..c73138647110 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -1051,8 +1051,10 @@ static int vxlan_fdb_update_existing(struct vxlan_dev *vxlan, notify |= rc; } - if (ndm_flags & NTF_USE) + if (ndm_flags & NTF_USE) { WRITE_ONCE(f->used, jiffies); + WRITE_ONCE(f->updated, jiffies); + } if (notify) { if (rd == NULL) From patchwork Tue Feb 4 14:55:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 13959312 X-Patchwork-Delegate: kuba@kernel.org Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2045.outbound.protection.outlook.com [40.107.212.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7C89214203 for ; Tue, 4 Feb 2025 14:56:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.212.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681019; cv=fail; b=Pa9PyJVa20BEokG9ltTttUcNVoIRXCuweI66FtOqIs+VFFpT/b+pnYP+3jX3K1ALsWukID7YcDIogRPglqiFI4FBQ9Zz/PMnha1NIXOPvMGw4HiPrLhdbcvMDVyfmclsvXq3V3LoKLFGOD0jOfTiH3Zux9Asg4PhmgTYuFQvgJc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681019; c=relaxed/simple; bh=DErNtOHN7EwIBZPzil+aZE3jX1yd2s6XX7SSXR75Np0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ietbMpqROH6aI0Q20kfZlw/OkniYCV1WC847T4zje+26nLIZVwp1ysnktUKjjUqY+xQI32xA3f9/No6wqUqLBWn3dgEgaur2oFHso/MDuT+3qtpJj2JXQD+9G7ksuBKLaU+vDjix6HIPXiFXzEQedTUELkgfvDk9aBu/xSPEpsc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=aeW3DUTu; arc=fail smtp.client-ip=40.107.212.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="aeW3DUTu" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MO3UYoYGHgNqP+vr+FGmAlCrjswZdq4k4f86Ow64rnLeDkpuCKxx8bSEyHE7ZDNKSchaBgucvKZU1qk0VFq3e1LT6Nqt/oQgWPrLUttEeVsYVBgmr4gNuYKxVYrX/H8GJteYtF7Cxd5S73GZXPMdBtcrh9AestqODh73Aj6uRGzWDo9ONA7z5iE41tTmgpjyChcb4XxtjUL6ECHCpFz0V8kwUJMEI5tjhd4GV0v8IieOzVg0PbaENUuMGmZd3x6X6W8/DlhXDV/G5bnq8fHOsgKu2SGCCcebhJZzvNZDSebT7vlaQZKnH1ANESqmHjKCqziWVnxDWhbzXG9CLL30LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HYHeSd+i7cIObS+yK/jXmi9ZkP8OYqTFibsc1II15KA=; b=VwwFqmp7ken5lktdn0/LwDi1TqYa125sY/x1OW0V4wsPiRPZ4Q3mdbGpOU24npA5W8alZLH2mk4HOhklA33L2t4/JnrFlUBrCGfOE8Bh90cA5RiHCtgEKbpn8zolS3G8Khbn0tGmOwGu913AuGqct0RdqUSoWwkRSu5h8Zt+rhXMkYEi3J/FSoXL+BjYN1VL9xqsuIsDOCgsAdJdSorC4WtIxRUQ1bAGEIQPdm/Oc3k0lEK5oX+bhbqqZlVpyV9ZATAAeOIdLCciN1H3OEP3aCm0wkmULiHw9FkpicDr454GB/BWx3rRL6X0j8z34ygxYY5S9e5Q5WJkW0yQmsRayA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HYHeSd+i7cIObS+yK/jXmi9ZkP8OYqTFibsc1II15KA=; b=aeW3DUTum/JE6YTTUzO7ACZUtjEv2SblCMXWNipDcIJ09vOz/tLxISZ8Gx6jls1OxFgR4IBVpqOdkB+4ibJklP/0AwL3SRiLnpMo+Qt4EtrxogDsIJ/v1z3Cy6hPP+lTHloAj8OLzDMuymvqlRCXvh0PBViFmfrL3dP0UXedYm+AuAhR/k/wcu8L7B0no9MQRc/zlTXjpEMO0nCZ7PuYeC7rtt60KM4oKlAmOAtG1vIHpakLkNzyfzxJEKwJEYyF7OVaG0NaUHN3mmIx4vuzcEhznlAo7/QKJDJ9TrBrJXQ1imKLeGpTEaU7ymU3WMHKZclNYp2dXHkvC6WBPiyyPQ== Received: from DS7PR05CA0018.namprd05.prod.outlook.com (2603:10b6:5:3b9::23) by CY5PR12MB6525.namprd12.prod.outlook.com (2603:10b6:930:32::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Tue, 4 Feb 2025 14:56:53 +0000 Received: from CY4PEPF0000FCC3.namprd03.prod.outlook.com (2603:10b6:5:3b9:cafe::c3) by DS7PR05CA0018.outlook.office365.com (2603:10b6:5:3b9::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.26 via Frontend Transport; Tue, 4 Feb 2025 14:56:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000FCC3.mail.protection.outlook.com (10.167.242.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.14 via Frontend Transport; Tue, 4 Feb 2025 14:56:52 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 4 Feb 2025 06:56:30 -0800 Received: from shredder.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 4 Feb 2025 06:56:27 -0800 From: Ido Schimmel To: CC: , , , , , , , , Ido Schimmel Subject: [PATCH net-next 5/8] vxlan: Refresh FDB 'updated' time upon user space updates Date: Tue, 4 Feb 2025 16:55:46 +0200 Message-ID: <20250204145549.1216254-6-idosch@nvidia.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250204145549.1216254-1-idosch@nvidia.com> References: <20250204145549.1216254-1-idosch@nvidia.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCC3:EE_|CY5PR12MB6525:EE_ X-MS-Office365-Filtering-Correlation-Id: 8aabbbaa-b407-4c31-804e-08dd452c28c1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: xu8dXcEnKL/MkFcnmySnqvNN5dwL2h2LpYrd6uM3cJlzLzCOD3f63OE7hGq+3RcWO0PKo0flL7kUzsGjx8nDmJnn2KolY2bHDX+wDeQ98AUbbfbJm79rhcenKTJhg7mQyw7ci/TlE/RoJ3OMBjB4mbUli+NA22HLSSle099SKDvwWx3RPvwVJaHN7/7vMeXsDP7Je25rxh635/VQ7znF43S3mUh4atmQ5MmchkBO11roXMcrLPGYtfhsWdfQcPhhBXYL1Clt0mSHm1YIX+mn2HugEE/byxvAT1xQyN9zyVwZF9+J5CioYOLcZ5ww/+jOv0KY+iupsfzY70Fw1zW6HVKIwDqR7jyA8sMxOQks5PcoYlQYHY79FFOnZAlF4WY5Fc12wQECwymh5t8q0FEp6MwxLnCC8t5qpvR6lWSsCfnX+j/+Pe9ZECDtb/8q6hcwXa5+GQeYgO5coJliO0/E6Pzzgy00M2eZxVrFxtQW53QvWscqY0Hn+GIfvvt42A2tyU5eeN4SAg2NNa7cex/2l2ISPe7111Wnux1/qwnnzoS/I4tLTZHDoqRdIhtoTXI96K5CBlzgCVmw24YF54qbiYuV7CypCEhTsqLhgAzLJ+kFsjZE+SlX4pOIPubPi39+sCXalgIHG9bI7BSh1bUN9mmpdtQ8Xizx/czGgBNNIsISFctJAcJifzNHDJy/kz7wWY95iQLQkB9RQGivryQcJ0blR9TjWaI9J1PkWY6i1bS9dAf5AXY4zpFvx8+dO+JGzoCRJdJZ0r/rwjxKSuIz1XMT0ky0G+1IxB9wC325JUKXKICoT/jAQc3UFvpsn02n9w4qxsm/XwU775Reiy0WdWEzqcjgOiRTbqsz6oyxDUmjM/14XNl3u7Wj5hC70HadhegVskB6ahj8GROWnTPnMKiCl8jYU+gDDSs1qI/x3H9xxnvx/0lv7qm/RG9cxktz2lIFAndc8Pu7Y2cIzApzh0g69Q09zVyR0AtpOPB2OeMoXQ6CdfuN6d4e/D/Ehop3ks3PvGqPeYzVyISNosKns1sncWgc72yR12/T6rcK7HjPFvnaot1SjId1yZAWhzWixAdGrG28b598mD67MJixpCBj6yUZbQxykI+C5mUykOTAn7kjAAR8Urq/Qxng13LcNosd85lP6yHZGLSwLvmLX+MX/cj2qFgKhdoMD4N5YYxqfMrpPfe/QsXwcnpdllmIKiioCdwaNoD6+aT7Rsjn55Y9SQrgeUBH4Tcm4DTCMUj1QiC8hGh4g+TFwUBsOOttJ3Chkml1uLTsosXszer2B49dO1nhbfkUR5X27wgSeXD0WFanGY/6iJ8eFN5YlY4Nd+FNLFIQh84W1MAMgupcRGpJoipnWz7Yhs+rCC/pRCs9BIodXXNZhQ542qVH5hLkpRoYmdgYr3+pXip+OrAsu9awvFI6aw1jvmrX1kBRnKmPh6MdXND+V1zJj7gSCdWAVh+JtgFd2T1gKqPHfo+Jwg== X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 14:56:52.0188 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8aabbbaa-b407-4c31-804e-08dd452c28c1 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000FCC3.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6525 X-Patchwork-Delegate: kuba@kernel.org When a host migrates to a different remote and a packet is received from the new remote, the corresponding FDB entry is updated and its 'updated' time is refreshed. However, when user space replaces the remote of an FDB entry, its 'updated' time is not refreshed: # ip link add name vx1 up type vxlan id 10010 dstport 4789 # bridge fdb add 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1 # sleep 10 # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]' 10 # bridge fdb replace 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.2 # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]' 10 This can lead to the entry being aged out prematurely and it is also inconsistent with the bridge driver: # ip link add name br1 up type bridge # ip link add name swp1 master br1 up type dummy # ip link add name swp2 master br1 up type dummy # bridge fdb add 00:11:22:33:44:55 dev swp1 master dynamic vlan 1 # sleep 10 # bridge -s -j fdb get 00:11:22:33:44:55 br br1 vlan 1 | jq '.[]["updated"]' 10 # bridge fdb replace 00:11:22:33:44:55 dev swp2 master dynamic vlan 1 # bridge -s -j fdb get 00:11:22:33:44:55 br br1 vlan 1 | jq '.[]["updated"]' 0 Adjust the VXLAN driver to refresh the 'updated' time of an FDB entry whenever one of its attributes is changed by user space: # ip link add name vx1 up type vxlan id 10010 dstport 4789 # bridge fdb add 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1 # sleep 10 # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]' 10 # bridge fdb replace 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.2 # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]' 0 Reviewed-by: Petr Machata Signed-off-by: Ido Schimmel Reviewed-by: Nikolay Aleksandrov --- drivers/net/vxlan/vxlan_core.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index c73138647110..c75fcb0679ac 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -1013,12 +1013,10 @@ static int vxlan_fdb_update_existing(struct vxlan_dev *vxlan, !(f->flags & NTF_VXLAN_ADDED_BY_USER)) { if (f->state != state) { f->state = state; - WRITE_ONCE(f->updated, jiffies); notify = 1; } if (f->flags != fdb_flags) { f->flags = fdb_flags; - WRITE_ONCE(f->updated, jiffies); notify = 1; } } @@ -1060,6 +1058,7 @@ static int vxlan_fdb_update_existing(struct vxlan_dev *vxlan, if (rd == NULL) rd = first_remote_rtnl(f); + WRITE_ONCE(f->updated, jiffies); err = vxlan_fdb_notify(vxlan, f, rd, RTM_NEWNEIGH, swdev_notify, extack); if (err) From patchwork Tue Feb 4 14:55:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 13959313 X-Patchwork-Delegate: kuba@kernel.org Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2054.outbound.protection.outlook.com [40.107.101.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BBF2A214205 for ; Tue, 4 Feb 2025 14:56:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.101.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681021; cv=fail; b=B9f3EUxmabiVekJ+E4EsryXollab0zIODpJ0hrnGNSotBCZfCPRRjsD4bPQ1mznGkttrBAS84Ayrc5a+MvFoSek951oy7ixsBTRf2Zitnbwcb6pQt0Um2RMLGXLVe47UkNlisNseNUMr1SHI/g2PoKY4JttxtzS33worpdHj9xA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681021; c=relaxed/simple; bh=8kiyNfshBS5syPTy6zaxIPkoV95irIJCEKJGkRUt9Qg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=MQGUQVLt0hApKX4w0rcTaU26lG+wIDc3fhd6cs5sdNIdRPNSnLrjhgbs3nriXap7f603tPM8uQ9c8rBt4iCNdkD3uZJeN5cWqU9IaoNnW1MM94X192phnhmipu80Upb+EWqSGSpeDN4YDLyuKcn0UysWqgV7+0VSp+D6ixmugaM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=rnCho/lt; arc=fail smtp.client-ip=40.107.101.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="rnCho/lt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DJ80eKuKZHCVZ8n7voafv2D7X1pGkQWMO+5t5eQy+iIw853eJaKZedxH1Z4TySD2/cDKmWUbq3/doAAOR4WqEpGs0lhp6vfl2eh50WbgcINQUncbSsKZcpGu9VBMi7vdU5dkvB2lihvwAcGa8ugs2SQUXxfwq7KIdJiasPoCpMDY/gig9wcfIo+Wi/G3cBOhs8a0u7APK3/Pi5jfHqYJ1ncmqGn320m1HxPHACTHuhJK1AjqYyjg6DCFxAY3FqgSAkzONVFhkvFqdlbeourwV0XAAMso4aGW2HCj/w9G93Z45qoxFZBostttE2M/yBwprNKzB/VQStotxUgICygFrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PNUP0iLIDfL5RH4Z2UGeZ069sKL11ggDEQMXbC2fz7E=; b=A8C2eAt8regAJj/soRHmd7EQ6dGaLLuslIrws9aP4kTc3J+abmH18WXkHH9oaRVroG8haMjpIzq4eOAh9quQclqq/Ns0ENkXj7hBXbqNSWrXjN4uLCpzvtriz6UzYrT1LZanU8EnYohoE2dWO1eQMOSpfbQeA7lctRKzGGXswq071NjuvX4B1Ox1gVdCYNaTwq0OnHPPXpQJjdaiCKh526wR8MRS8NbCqJGtYMk0Hu/A7OAqaWTctYTyGeJrfsDBKlHg7g/2hCa/PBasUw6Y1uXG+LaXSnAViXW+gI6uwCLlmEP8OfHp4YA+gY1LymFlDBg98l++0hLECAaZv6x+PQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PNUP0iLIDfL5RH4Z2UGeZ069sKL11ggDEQMXbC2fz7E=; b=rnCho/ltOc8zYp3t8gBW7gxF3j9/llfiDEiuMdnugf1TlYR5vuePgyEprIMdJ1lVu/DVIZULYgj31mzt85YQnka7/3BkQAlqFJhZpWc1zBiu+DBO7cSmP7jpY/hifoTSsckI0keVkd5Li2ARMg3OBvye3zqrk5RvwsuTf0WxYD/T1Ar9uGWMCZvqMKPH7kJy5ZhsSh8oDqHFen5xYHGZ7U1o7zgcrVCaVEn3zwLta4fV32jypY2eAPrAW6onGS7pFrJLIR6KVrRkiL2HNCBAN7OQiQ6snDEJWLc3xtHHMbrv36vIR9a2fokteFjUnb4ak8MdzN5aGb7ddtYnQTqX1w== Received: from DS7PR03CA0067.namprd03.prod.outlook.com (2603:10b6:5:3bb::12) by BN5PR12MB9509.namprd12.prod.outlook.com (2603:10b6:408:2a8::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Tue, 4 Feb 2025 14:56:57 +0000 Received: from CY4PEPF0000FCBE.namprd03.prod.outlook.com (2603:10b6:5:3bb:cafe::46) by DS7PR03CA0067.outlook.office365.com (2603:10b6:5:3bb::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Tue, 4 Feb 2025 14:56:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000FCBE.mail.protection.outlook.com (10.167.242.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.14 via Frontend Transport; Tue, 4 Feb 2025 14:56:56 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 4 Feb 2025 06:56:34 -0800 Received: from shredder.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 4 Feb 2025 06:56:30 -0800 From: Ido Schimmel To: CC: , , , , , , , , Ido Schimmel Subject: [PATCH net-next 6/8] vxlan: Age out FDB entries based on 'updated' time Date: Tue, 4 Feb 2025 16:55:47 +0200 Message-ID: <20250204145549.1216254-7-idosch@nvidia.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250204145549.1216254-1-idosch@nvidia.com> References: <20250204145549.1216254-1-idosch@nvidia.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCBE:EE_|BN5PR12MB9509:EE_ X-MS-Office365-Filtering-Correlation-Id: bd8d652e-1c55-4c73-bc44-08dd452c2b8c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: d44MtlXRd9aH7asyvb1Ltn0xywLL3lXdRgSi4TkJUCMwzpPN9NbN3YSe1TUYYB8u06kuFX8X+a0L/9azw77ZYyVwFSal0W5sq4hzVm0P6SeqLPyTXK4Kc7ml1UTlfe9mytCycGCOtQhZPTEqDPz82DiB/X6ORj4kVEa5kL07yTKeO2vVDRHnyluRD1BwMpdUlDNhNGHr5D6WMDS6i7jMVBknOpBNsqEmZCEM2qBjB6QpMOGfNetWNyUtkXqUZfqLCqXAQSpdwwWDSEAreRggtEtJAvjGnCK264PgX0zmVyNA/cdyXSlGMCxvLLPUv9SMq7TQ+KwZHqIWilJqzxw2c363wrrM1ft8qG1uSVa5TmfDfT+i9T+YA5Qt6xgNjl2G06lD+UJGArFj297vCJB8Cbpzs5eMq2c+7rJH0PMz22274RKr0wUZWy6g/L5/igmslSl/vh7ePZvBpZ/AFnv/HtaMX4sTmXW5LDCxTkWam9c+uuU+qyI5v/gQ1qlCiHBORIBFqTBhHKLA4LW+84UBVwnFJX5v2WewY55i/G2j3b8rc3Pa7+lBupeoMq4EHaJ9kOG6ZOCD7yaKpI+J9Ir26g3m73/9elPhk8NRDIpmKK68ec8ficfCs264N2ILpn+xc8SrioJfDsq714jxhj3LugzyM7dCBi2n/7KNnmmnJCyxNrishEEpDOCecfOSdOPqCy7EM3ukRJLvKzTGhLHeDhWUv3g4gPwcke55RmToeajA971aE/38g9UmAtQX1H6dGkzHNb6uFbxf3xXuEeDOh+vT/ZRey55RORlJIULUKNETOB7jT0ug+wTF8qZDfnTsZoBFrWj/q0Wr+X/QYvVe4sJQl8kUdsdiih0gIPcwRPuNFf9Ut2FgRO4n6NCrtAxJPZd4KZf/GtFbMUsYGaansJPj/fTlUE+BpgSvxq3RfJxp3T+vpOdJKL+PA+Fys365yjxNCrzXfSHxUgzBGC8gQ3qOfqTAoQDgQeUsf6m9Qzpb2mE+kEA+m2EopObB9gcAsOZz67qu8IPT4B9Z5zUtJZwNpo6/R38kzEijHVPVfapCPWhf+OrefHVbv5IqloUwAZI0OUOD/HPQcoJha3zxMF5MP7mjcUHVlUCclBAqJBR9SsEfVHnIuCQ7tQsjKnz3Ls8yuDJMuMAYM53wMerMpROVLuYS+pCNoRIEqGDnrXdQzFFzn0PSVTIqgvNmqTD72pRh8YlApZYYoeAqNkkRI3KyjL1ncPAC2YlbszSVwOvRVv7OIZTVa1P9d8d/i1jtUL7lKd9NJbdPKK7W1eoXsho38tbXsuXnS8n9c7SBIMmm13xGFrscpCPM378rjeli8aArmJZHV/vcil3kbOGuCSzfFlywMQoQcoWvKPBNPv8paPFp08N90teMCX07ngY3EDuc3Rbdo4XUP3FBmoITp3ZhONqmqVHsbp9CP4lJ5+QnBocRLfM4hGLYtdmDMHS7wr5bu2hOqMOqTiKoJ3KTFQ== X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 14:56:56.6905 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bd8d652e-1c55-4c73-bc44-08dd452c2b8c X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000FCBE.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN5PR12MB9509 X-Patchwork-Delegate: kuba@kernel.org Currently, the VXLAN driver ages out FDB entries based on their 'used' time which is refreshed by both the Tx and Rx paths. This means that an FDB entry will not age out if traffic is only forwarded to the target host: # ip link add name vx1 up type vxlan id 10010 local 192.0.2.1 dstport 4789 learning ageing 10 # bridge fdb add 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1 # bridge fdb get 00:11:22:33:44:55 br vx1 self 00:11:22:33:44:55 dev vx1 dst 198.51.100.1 self # mausezahn vx1 -a own -b 00:11:22:33:44:55 -c 0 -p 100 -q & # sleep 20 # bridge fdb get 00:11:22:33:44:55 br vx1 self 00:11:22:33:44:55 dev vx1 dst 198.51.100.1 self This is wrong as an FDB entry will remain present when we no longer have an indication that the host is still behind the current remote. It is also inconsistent with the bridge driver: # ip link add name br1 up type bridge ageing_time $((10 * 100)) # ip link add name swp1 up master br1 type dummy # bridge fdb add 00:11:22:33:44:55 dev swp1 master dynamic # bridge fdb get 00:11:22:33:44:55 br br1 00:11:22:33:44:55 dev swp1 master br1 # mausezahn br1 -a own -b 00:11:22:33:44:55 -c 0 -p 100 -q & # sleep 20 # bridge fdb get 00:11:22:33:44:55 br br1 Error: Fdb entry not found. Solve this by aging out entries based on their 'updated' time, which is not refreshed by the Tx path: # ip link add name vx1 up type vxlan id 10010 local 192.0.2.1 dstport 4789 learning ageing 10 # bridge fdb add 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1 # bridge fdb get 00:11:22:33:44:55 br vx1 self 00:11:22:33:44:55 dev vx1 dst 198.51.100.1 self # mausezahn vx1 -a own -b 00:11:22:33:44:55 -c 0 -p 100 -q & # sleep 20 # bridge fdb get 00:11:22:33:44:55 br vx1 self Error: Fdb entry not found. But is refreshed by the Rx path: # ip address add 192.0.2.1/32 dev lo # ip link add name vx1 up type vxlan id 10010 local 192.0.2.1 dstport 4789 localbypass # ip link add name vx2 up type vxlan id 20010 local 192.0.2.1 dstport 4789 learning ageing 10 # bridge fdb add 00:11:22:33:44:55 dev vx1 self static dst 127.0.0.1 vni 20010 # mausezahn vx1 -a 00:aa:bb:cc:dd:ee -b 00:11:22:33:44:55 -c 0 -p 100 -q & # sleep 20 # bridge fdb get 00:aa:bb:cc:dd:ee br vx2 self 00:aa:bb:cc:dd:ee dev vx2 dst 127.0.0.1 self # pkill mausezahn # sleep 20 # bridge fdb get 00:aa:bb:cc:dd:ee br vx2 self Error: Fdb entry not found. Reviewed-by: Petr Machata Signed-off-by: Ido Schimmel Reviewed-by: Nikolay Aleksandrov --- drivers/net/vxlan/vxlan_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index c75fcb0679ac..01797becae09 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -2860,7 +2860,7 @@ static void vxlan_cleanup(struct timer_list *t) if (f->flags & NTF_EXT_LEARNED) continue; - timeout = READ_ONCE(f->used) + vxlan->cfg.age_interval * HZ; + timeout = READ_ONCE(f->updated) + vxlan->cfg.age_interval * HZ; if (time_before_eq(timeout, jiffies)) { netdev_dbg(vxlan->dev, "garbage collect %pM\n", From patchwork Tue Feb 4 14:55:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 13959315 X-Patchwork-Delegate: kuba@kernel.org Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2085.outbound.protection.outlook.com [40.107.236.85]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 293BC21420F for ; Tue, 4 Feb 2025 14:57:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.85 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681027; cv=fail; b=aXWyz4Ptq8OrYlk/xsoUDFsg3ntRmmr8BXhhYKwnS8Uf8InAg7fh/vQ3fqn3Q88QYn1lOB2ur3c3sHxwEdG7zZiriGdbfYe4hxV2bFtYdi87XHjNTBDrbasAkyto7dI/1Uj9BgoHSPFW8B2eibZiIIwtZOlk5tXkAfX8WIPRMMs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681027; c=relaxed/simple; bh=NJnnbfyFc0vc6uwtQ+6cn8avIkT7rvrrQItpAVS1hCQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=liYtjmH45oqSCG0LEnvAuSQm1K2sk3fYe9rScJLM21TZwRa/5Aze30X74yy+JeArOQ/aoknJYkdcR/Xco6URv5ccLQNUxkbSZPfw6LEhA42gifvywtNL4yBH94LiL1mv+EuqWb89mc9hW7OCbxTUDn8y2rux5lNnaaNrO60D6sE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=I0DcDfco; arc=fail smtp.client-ip=40.107.236.85 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="I0DcDfco" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rQKjlvr5r84a6xdW+VjJ4xDPm+r7kcm2YrZMqlZRU6LwFJIdqb321tphrSra0Fg5lcgcr53RXxnyA28TWanMSYTlAJtuoZZziD97FBTcStrPoR5Wa5+dLq31UY6XtHGj64+VgRr+rNOtEBD0M0Z8G/DuK9mCmotSBLT3deTY1QjmGtDkEG+2+zr49rjSugb/D3XJE8zTcSZLmS1dE/TWh14F3guoqvpYGPsRz71rGf6MCo0Zdzl9xaiocy8Ylw1DJ4/zeZNrfzOD2CGhMenN5cTLaUwMNmz02XhvpqVvnzriFloJAEdGOOy7egE/LgM8TIkTVmSuZso0RGBL/yLf0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9qFzGoDNwPDR3gUi9neDjzjiu8Sy3gSEHDSHfgjyE9o=; b=KmWMH8+fQmCE8GEN8qlad3orVTccWEhYopc18CsQbsRkLyHqXrnAlJBZr2J9e9e8OQR4GbfJoXntr7qPJ8NknKRSgSZxuyxqnaS9mI7bSrI7yhyf5HyBdqgnuUDBBjjGB9TGD76LWcM66W3tnkd1SyzjZIC8xXJocdGEaRE0454Y5I9miVp9wAaSLv/lP+DeQY4IvsD0RKH2CdmSecyL4Lid1vTdt6YSgmYUnmMy1q3iIC6dQl9cdgx3HaB4fhyiHltuBhlM3Rh0wL6zzzoqG1Q81IrO9EmystU1iGJgqzKLMAcsKfDC8u99m7hqQYlyBeD5fqXDYr8tuN4Adar2zA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9qFzGoDNwPDR3gUi9neDjzjiu8Sy3gSEHDSHfgjyE9o=; b=I0DcDfcofGqnH58kMsQE2Y/Mdw6juAg+go+ugwLsCDbPQB+4PdHzdDzBQqVxOPScBw1OXnByNncwjYk8HofJnny5ZQhwM0tXYSARBiI43njjgiDrZ3WOzT766K9wyFBpLMmsXMMKU2i/o7TKXuPBidm9Oqq2VmXufIXB8go6sOTRAR5vDmklQ2Ggg+M0OTf+N6i9FFRwpg7V3aqcKrZk5h0WwLppV7xy3hTQoGoZLWBaTCZT45VF2u9TFYauP9Ayx4wbLbbeB6ppDlJ9BNI4xDzVxynqH6Jnb+gaElFm3UQN4aTXUMfbGyD3bqaDCj3BoN3wzVp4YJweWPGWlmR20w== Received: from DS7PR03CA0071.namprd03.prod.outlook.com (2603:10b6:5:3bb::16) by MW3PR12MB4380.namprd12.prod.outlook.com (2603:10b6:303:5a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Tue, 4 Feb 2025 14:57:02 +0000 Received: from CY4PEPF0000FCBE.namprd03.prod.outlook.com (2603:10b6:5:3bb:cafe::35) by DS7PR03CA0071.outlook.office365.com (2603:10b6:5:3bb::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Tue, 4 Feb 2025 14:57:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000FCBE.mail.protection.outlook.com (10.167.242.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.14 via Frontend Transport; Tue, 4 Feb 2025 14:57:02 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 4 Feb 2025 06:56:38 -0800 Received: from shredder.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 4 Feb 2025 06:56:34 -0800 From: Ido Schimmel To: CC: , , , , , , , , Ido Schimmel Subject: [PATCH net-next 7/8] vxlan: Avoid unnecessary updates to FDB 'used' time Date: Tue, 4 Feb 2025 16:55:48 +0200 Message-ID: <20250204145549.1216254-8-idosch@nvidia.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250204145549.1216254-1-idosch@nvidia.com> References: <20250204145549.1216254-1-idosch@nvidia.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCBE:EE_|MW3PR12MB4380:EE_ X-MS-Office365-Filtering-Correlation-Id: e3f469ed-aa49-4c11-95af-08dd452c2ed1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: SPCYt4Tl60U8SILuBuBvZwD5tf9LJgILp/ryS9f+FYqpK7KQREvaXvjVgfGYkAB8ceq8U44ajnrSn/SE0VP5pyCDHQ7ooGtoBMzq/E19Zn+FAJDaPSwzHbI1BP2zJs0I5+Z7mYWW+oNWgPF0jYLvQVvbnBhJIONr9XiH+btQmPXJqN54jNlN6/6NNNOM+RtYzI/vRW09CcqwjVHIqdY2nnihLi69yOvWLeVKdPp4GaOS8VpLkL1hZRdaWNptoi3/PmLYoPdfKpHFTqmTDq870iRRQ/Z8iWvublcvn/MLzJ7lOcRApgPsd15hmmMzYMj5gHCDfCfAVZgZuLMp8HoNbwtAm0OJjyBoJrw2DEukoh2JAs9F5FRUaAeoViUifvBJqHuI8Uru25j/CcFEzj7jrO+QARVr3jqOl6LQeuAL6oyhtoAgF32VP2GMQOTZ2RQblu7zY+GZJGJvqqgLuYRQZ1raZz2nYMFf8+pqFsvdEqzg/yJL4Lvq7DXj1DYJgqzi2s2EhUGYqqSes9Qqb/MMkGSfYLO6y6BVaIeMm6XxbqMvjdCD4aOKBTnH+XQgNFtaLc7golIbSlAAWnytcePK3+5i0hmUYmAFaSmCpfdemQb2yeDYvbqXJCFGimW2+Y31V0xmYzZue5PDrdLo7iIrZnkTPBMgKc4EL2rpQGNWYdkkbb0NQ2bayagcKI2qQq3i1IB2LlAKnNx/KL7yZTN7rCPPT66vdv5IdyJRbN7hu3G1Y0mlsvHQhqJYSw1G9bZtAXl9vOusHpKZXT6948IKjcp881qT7d7FgPXiCHmJ5oOfKe/qOHDe/cF+vp0zHPt8XXPUvXXP11HD78lhUAk/OKE1k6Au6K3Ih41nzJrbAfz7OZ+bftzyyPS2vN+CD2NDXNlMa404a9oIavyqlWiU4genn540IaLcGcVAk2prqzli0WJUV+3BaTDKu+cn6gikN9HGfVnASPiFFmNYzFY1BYuykq0jic8LMjcfbubGRcZQDtjmo5hcfdbtY/eNLNLYD4tZZ3Ik+7aKTUhYxhl3qh1s4mn85s7CUyK9uzV2Q+tjVAuGU/JWkPV+6Yf2xxVccCEPNibeIbAYtewtUJCa9ZbXtEFmE0PGA/FlLiZXsDrXWgkM6cKxJP08XtMDBjlvv4rGpJoRl7pn036ZOTNUbXSq/M3vlWpVX1szJN56BvN7ItZqKGjB79S5wH3DWfVATmvMkAwh5L6psrng37eKRKoryFwPCp73an9Doq5muckxi35a28CWwcwMnJkZAS5QhS1lFTmRQWrQwLz77dGvEEjSzjlZ6rO3y+2Q4n+prs6amJPZPF+sjf+LanTOHbIWLT3S1qZ7v1FHjrXbT0+haxeAeIRPPHa5qV4CIunLK2CjSV70cYlSbGhilNdScle4Jy0wgURCpO1N/pUAueHrfjbO+uU0dBE+Tj0577UAOKVch3VY8wpiKAtDUaQ5IOiNFPmo1ZyjpSmy9NceYU8fOg== X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 14:57:02.1593 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e3f469ed-aa49-4c11-95af-08dd452c2ed1 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000FCBE.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4380 X-Patchwork-Delegate: kuba@kernel.org Now that the VXLAN driver ages out FDB entries based on their 'updated' time we can remove unnecessary updates of the 'used' time from the Rx path and the control path, so that the 'used' time is only updated by the Tx path. Reviewed-by: Petr Machata Signed-off-by: Ido Schimmel Reviewed-by: Nikolay Aleksandrov --- drivers/net/vxlan/vxlan_core.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index 01797becae09..ece5415f9013 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -1049,10 +1049,8 @@ static int vxlan_fdb_update_existing(struct vxlan_dev *vxlan, notify |= rc; } - if (ndm_flags & NTF_USE) { - WRITE_ONCE(f->used, jiffies); + if (ndm_flags & NTF_USE) WRITE_ONCE(f->updated, jiffies); - } if (notify) { if (rd == NULL) @@ -1297,7 +1295,7 @@ int __vxlan_fdb_delete(struct vxlan_dev *vxlan, struct vxlan_fdb *f; int err = -ENOENT; - f = vxlan_find_mac(vxlan, addr, src_vni); + f = __vxlan_find_mac(vxlan, addr, src_vni); if (!f) return err; @@ -1464,7 +1462,7 @@ static enum skb_drop_reason vxlan_snoop(struct net_device *dev, ifindex = src_ifindex; #endif - f = vxlan_find_mac(vxlan, src_mac, vni); + f = __vxlan_find_mac(vxlan, src_mac, vni); if (likely(f)) { struct vxlan_rdst *rdst = first_remote_rcu(f); unsigned long now = jiffies; @@ -4773,7 +4771,7 @@ vxlan_fdb_offloaded_set(struct net_device *dev, spin_lock_bh(&vxlan->hash_lock[hash_index]); - f = vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); + f = __vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); if (!f) goto out; @@ -4829,7 +4827,7 @@ vxlan_fdb_external_learn_del(struct net_device *dev, hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); spin_lock_bh(&vxlan->hash_lock[hash_index]); - f = vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); + f = __vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); if (!f) err = -ENOENT; else if (f->flags & NTF_EXT_LEARNED) From patchwork Tue Feb 4 14:55:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 13959314 X-Patchwork-Delegate: kuba@kernel.org Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2054.outbound.protection.outlook.com [40.107.94.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A5259211A16 for ; Tue, 4 Feb 2025 14:57:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681026; cv=fail; b=S1EjKV+rjUXW1qzMhAdlk/Ug+6bLKlbQcC4EcGGL2DrMAXxB7ktprz3f5+tnne7LTqMznMym0mTmwYdpd+UqGJaaGSnG+vT6yP5PDDN+nrIoXXS14cuoYRH9d9o1E3F67jZjXTsvN4iahvElX3CXOeZeMDmXm/ulFSWy13DJPF0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738681026; c=relaxed/simple; bh=0d/XLhbYDSaLe/oPGbRomaXCVF/KuN1myMUZWQ++hpo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=uKefRNTqbmw6B8dQNMANVCMNTjGnn7qoBMHhRr6O0LFmUidge52PzJBwgK+7z7haf7GEgCbaPOXafAWBwGFEzXc3jRWy+0FIr4C06Msk5ue8zEk4LoTs4bMjJUxiSQ2EvLCFEktH+wAbAxR12Esm72nr05dSdc2BDep4dgXVpow= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=n5IHCWD4; arc=fail smtp.client-ip=40.107.94.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="n5IHCWD4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Q4A10QGqjL8eCTxi78tp1PMDrWYAA6YTu0u2mmkp1tlKjuebW9tfxmD4Yg0Dj7vx4oudFgFN6rIOM8Yq20Vd/xACmneKGQgw/0hbTrZAsgX1Od4J/QAVUIpTwK1uVn4GZpVS5ZwIGG8t5VmQmPaJx//8mkdhG3tFr/oYHc/kdsAQdA+jPhheDLm/0x4ClrVWPOPM0h1kf+761oH0YEdlmppM1rzjGH9y8fel0jNRo6aiQwIE+67YxQ/TcpzVfziSYvqalUzxQziq5GxkqCLTG7jz397azaBN4hiVB4j583LNpiR/toYaF45C7gJ7M0IjZq3+Ux32fE+foP7ABh/1yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=01Eon5LHyZp8ZaG1LM+1QBo98PH+JJ75bve/oHIJoss=; b=nd+/I0wEKTmUnYofyj4PcX1ATYto0UMnm/D47NJmg5xu3yrfgCT56/If5LSqqEYGmCRbTpTYX8fvmS8COJrL8vR+PoHCFClLm7e43QA8kMd3V5t5sCqf8jiWGRMtmYprIouoWXqtkPMiAB4J+r209njqoCyDfxmTkjUHPadbyVoV8d3agkGQib70klMsnRQGUSpaFJM9ag6AmZGq1sEk0GWIKnu+dxDMHJPI+lY8cZJTRorXf4CvsVjDvnGaxARd+2tDVVQCvvep4zRIjfA7R2tZS11tHH9UMf1lPFzX2Xw3WQt3wzN+95CwxXWlod+dfaaNU2JXG2pHOK3+Lj94xQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=01Eon5LHyZp8ZaG1LM+1QBo98PH+JJ75bve/oHIJoss=; b=n5IHCWD4QDhW+47LywbbKkpGDQKyvyl0XLdchilgMBEXWiH/rOprseHoNomgWkFcGCVVbXX9/FFsNWOLHeKFQIeFK74FVVfRl1bzMCNaSQbGrFfTCD98KbqoiedvLvaKwIfwZLX4lOMbMUOkLKfZXo5Zte4Nb/F2hfF85db0J00yWQxKz4EL6+y3EjyUIYfO6Yh4/nVOS453N5LZeDCL+Eqx4ZTx5ubjCY6tsua3/xkRVPH02sKpzFuFdonHYTAA3syrtpyAsxOuDpesQZjTbavoQfYx6aElY9JVAPnuTHB3DqI4ASnxKjN2HLk7xf4Qux1hl0EVOOHI2igPlz2g3g== Received: from BN0PR02CA0035.namprd02.prod.outlook.com (2603:10b6:408:e5::10) by PH7PR12MB5927.namprd12.prod.outlook.com (2603:10b6:510:1da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Tue, 4 Feb 2025 14:57:01 +0000 Received: from BN2PEPF000055DC.namprd21.prod.outlook.com (2603:10b6:408:e5:cafe::38) by BN0PR02CA0035.outlook.office365.com (2603:10b6:408:e5::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Tue, 4 Feb 2025 14:57:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by BN2PEPF000055DC.mail.protection.outlook.com (10.167.245.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.0 via Frontend Transport; Tue, 4 Feb 2025 14:57:00 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 4 Feb 2025 06:56:41 -0800 Received: from shredder.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 4 Feb 2025 06:56:38 -0800 From: Ido Schimmel To: CC: , , , , , , , , Ido Schimmel Subject: [PATCH net-next 8/8] selftests: forwarding: vxlan_bridge_1d: Check aging while forwarding Date: Tue, 4 Feb 2025 16:55:49 +0200 Message-ID: <20250204145549.1216254-9-idosch@nvidia.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250204145549.1216254-1-idosch@nvidia.com> References: <20250204145549.1216254-1-idosch@nvidia.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000055DC:EE_|PH7PR12MB5927:EE_ X-MS-Office365-Filtering-Correlation-Id: 6340268a-6680-43e8-4435-08dd452c2da9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: MMxvAz2XpR8JEeXWEOy+fbzvr1mDze9gtgBEV43QcTnPhJq8teGcbI94f3GkFAtvrW7zA4rtasoh0NNUjVSafV60ii9XpKmLn9Q7q0MwP0fKP3RUaZlhiO5tSJR6lrY04tMVp9YRcT8q2bSiGfs8KlYAtE8mAU9Y9Arc8aFJgkxH9KTyhq9ndDj0xjvTvMHpSZGOYlC2OO5JdIlrJviZZeNijpl+aKjo9UaunEmGMtqCUoWVavSBEb/T/DNShCO103rXk5hkvhaLspQ+BOs2MC4Sr9Y7pRNQVQcuSB75F4luq9LQy5jPqpIavwz4n0uRy1mI0C6szo2U8hluGU9QbZD+H//ch0ycioKOxdGhG1yS+rRxp1nozBttNh1Fz+eE2hiIvhuH/UrK2xqwvHsPjjA4JGbQsVF8u2t74p6WKbWEC0ER8KpIBWLeSASatKGbw7WHNr86Qg+EslaTJ6XmOBlrjsjKjoN0NqgMPs73DD5YIlu/ipAsq37BblfVwwAG7pXVs3d7dGNM7ctyZ2vYt3RomT29DGBR1ZlL+uEhA8EtdVblUD9X8h5LKIpThMWtNYLtopqoTLFnBIAcopvfBVt4wb3142YkEffm5ljnR96yoLAf/jzza3m0PMxGMxBYfwWOP48rzVU53gPIDmw8IBoCu1mEurjEiUvIHWeOq0ma5habgE5xrFSCtUcJD/STP8fq5NezipdlEeXtJg17xOCFRontlIZfxXvcbyM51s24KRNEE4jYrcmsgY2CSwKE9scg4FGgnQ/tQAkQvMDZceuvdnMTJvDM4t3+pc+k83DpIFaISu7eaDj7LEzD/mwhptSGcUfoXyCk8D2aQDFR18xXSay3a0EaFqiqqUVCQe9CdJGE3m+SPfXfqoZW54rGnbCAwndnve5j38WGTpeDRzCnC9NTClVD9+YxOWBBtIUSOD1aK7RkW9+zqfmqFttMy0Fc/Q9fwdFlMQAkuYKwM492c0+m1s9U7KOp897+X4j+qWy2PyOq0fY7mnog2Z4986mbIXp/8731EzX1KwOs/h2JjYqH7IBkkm0tWOmukXuc926ZSsViCoaIaOMOVWhCcTjXdtlCPb8W6cn5Ncwq6wEKJaPeUHu0YcHieE9vSi5TcuyUoEiCrdSEz6++ZNL2NLBrYdL2ImSflRXbGCKLi6eD+DmdWCMKN2YhqmyOuj5abUu+2d1H+vqlrX4/QxmnJUphuesjq7bR3AEjVo2yD+tv6a0JEf2lE4O4qNkVS++a32gOV8Z9p2mp9dYpb9SvrDo+h40d01k5c5haSuYHIIaerMESmYwWyb78uHAN8Mv25rS1sAkVd/++rZHC88s0ioo1Ss4VzZGrBIIJr6/rclyo3XSC0qOHKeIG0TESskKW50GJHcGtQTY4r3Iw2HKpP00+4/IFeGGwQGBF4gKvhF0HsRQBU9MzMk7Yt9jEbauIt/w1OvtfQyyUxchKlYXebF7WYFBlgUgvN+7yq5ssV8uMhx4s9lxLaHeFm3fK2gc= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 14:57:00.1481 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6340268a-6680-43e8-4435-08dd452c2da9 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000055DC.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5927 X-Patchwork-Delegate: kuba@kernel.org Extend the VXLAN FDB aging test case to verify that FDB entries are aged out when they only forward traffic and not refreshed by received traffic. The test fails before "vxlan: Age out FDB entries based on 'updated' time": # ./vxlan_bridge_1d.sh [...] TEST: VXLAN: Ageing of learned FDB entry [FAIL] [...] # echo $? 1 And passes after it: # ./vxlan_bridge_1d.sh [...] TEST: VXLAN: Ageing of learned FDB entry [ OK ] [...] # echo $? 0 Reviewed-by: Petr Machata Signed-off-by: Ido Schimmel Reviewed-by: Nikolay Aleksandrov --- tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh b/tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh index 3f9d50f1ef9e..180c5eca556f 100755 --- a/tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh +++ b/tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh @@ -740,6 +740,8 @@ test_learning() vxlan_flood_test $mac $dst 0 10 0 + # The entry should age out when it only forwards traffic + $MZ $h1 -c 50 -d 1sec -p 64 -b $mac -B $dst -t icmp -q & sleep 60 bridge fdb show brport vx1 | grep $mac | grep -q self