From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=209.85.216.48 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793206057; b=pP6tp8K4NFKmD2uNO+k8qJk8Z8lW+YmJeB5Wlc4TJ0lgnA9Db2VCYDdaAoCQNI/8jgED KP8qx+t/3SI3r6x3KcYIffCvlQaRmG8nc99dnIQU+LxqTCkGN50iQsb5aybtN5hwpztTI CCoDIuP8m5hFviNsl3GfrbBwR59CWRYQxI4t6hYQ+mhIg3YiZ7X329vQG6rynT6IZmyq3 7Xaw5wX1tpa8i0LbVOalpQRILfTjeQOby7plQqAsaiazQu057DxAXcGtl6d7B1jebNuH2 TmnSfypSL91NJe73rzaOfHJ6l0Lbl2/CJ2PGv3Urb4P/uUH9TwuSp5kccTr4Wra2w4Q== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793206057; h=DMARC-Filter:Received:DKIM-Signature:X-Google-DKIM-Signature: X-Forwarded-Encrypted:X-Gm-Message-State:X-Gm-Gg:X-Received:Received: From:To:Cc:Subject:Date:Message-ID:X-Mailer:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding; bh=wyc8C+NvW8Oi6c2BSOE1temIwM0U908BwU/ZONk8yec=; b=W2V+l+vtWJMKBMeHwz63W8sc/N72lTuanXuqL+XrBnVJL1XvpbHLYSWsHJhv2XHKUtOn T+9G+wtL0hF/qj+3QRvj0gvteeciqwXcvmjc1vpUQwao1D+m+d5jrj/diat4TKsDNN+2f QVGlW9LYkr74aF4mmp74ZjM25DzMLrfurNowqrXFb70VHzshC+mKPfIwY78lO0BWGK2Ia fWzmfkQGaxNhFiTtsqjRxKC64D7q4e7so4tVov9ngHOfniYcPevV68clkg3PliE54cnoC A7CqFropCy7PF0R2OynqT0gaE6586FSvzC04XTqaZXcjw4Rris+6MoSiMUh3+ZtMeRw== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=cfcx0aUB; arc=none smtp.remote-ip=209.85.216.48 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28EE4606A33B for ; Wed, 28 Oct 2026 16:47:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 28EE4606A33B Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=cfcx0aUB Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-3ac451e128cso899758a91.1 for ; Wed, 28 Oct 2026 09:47:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20260707; t=1793206056; x=1793810856; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=wyc8C+NvW8Oi6c2BSOE1temIwM0U908BwU/ZONk8yec=; b=cfcx0aUBBloC3Um2WlknXtcgPAeg79ARaWM8Tl4TpAOirDcdDRZqIFMul28wC5RDm3 +AkumzcabixtTUqsMxodkmyyeN7HIFpfXLJA0401sv8QNhz/p+J/4WYZO9KmHiK1nlmT VYYwb8OQSZuJ/OwiNiLRjVAOzMgL98VZmVDiwa9MZZRbAh754sP50GmyqUynEYeTl46q w02lyuHxKMUOZol8RXUqPYmMHgxtgHQHWJn+FdbYzX+qFUvpyzC1lgMpLKY1zkiYXPDz 0+TFwgE4zifM/jcdBp/pv7yV7xJrW75xLyuecg/TagLnP9SzwWxiv2C5TSONgGWcvuy5 oVOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793206056; x=1793810856; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=wyc8C+NvW8Oi6c2BSOE1temIwM0U908BwU/ZONk8yec=; b=dGNGj3S7cnaizSMkCN4/BdTK+LVj5nf4btVhLXKjY82a9DZewlg0K6fdEr6+9NGknf iGHaMqIRHiY00KoHOvol6slJNVeEaQnfZGc3civqkwPtZMyUIKuM07F4hmW37BxX9Of9 ebxVJXjZNvuDl2im2aI4hQ+loNlKJ3cpSbX1J2fGRq/br5KJnR7gSXY9tY/ZEbwFWngp kBar/bz0aIYDg+oX9uk4+Wwaa5raEIJ3aZsif9A6B0J+F7AA4wnPGN4qnF0u864/kDMs tT6Y5V9pmKZWtHHmBhGI6cz5riYuG2StBhD68VC1Wp0WnLvFBa8y5Gr6I0+IDOEOACnL iCww== X-Forwarded-Encrypted: i=1; AKwUvByrrRyWAfKuVSVFzKLRZX2cUXgMM2E4T/vZy7YyODsFGhY8HWzPO4YbypDsACsz3M7fQYH71W92Dejwy2A=@vger.kernel.org X-Gm-Message-State: AFq9FYLD7WuhoHc6z9BBVGKSrvF6j5sg1K/VpHESta3m6HtG2RnCOrI9 y3UdealygOlmD7e+E1mGxg6nZKJb64RnMYazOHWaK2rRI1InS/IgFHUy X-Gm-Gg: AYBFou2TKrj0BK9D2xs5AeLKqDGrPNMeJXHTPdJ8JZ2LPOWdj5+H9EZ1KhHLS//6VKL lG72wrN3zHw+XQ480URHGQZKnKj0sY7Hvm7Yu0RBA19G7Gcc1D9nPQFp4yMu3P0Du8WaJvlNwT/ jw7cuR4Txgg7v6hbAKBo6vhTRp179TLAkNHnrNrAi58Lin/JD+0lqzMHg39jnULGtdd8DGh+R7O zL8OI18qye2djptSg4bmBGkPsI0KyJBXdWolDuOv6lSnxIoGnqd0coXIy88xf9QUIHGxR3XNr0W zc7SrSwVsOykTTNJE5p+ZmooQfJyHqJdk9HGC7Jt2A1GQ57nneByzT6VM1OaHEF4Qr+7NWLAPKA fS29ZpJKNXjTpN14ZkwDbh88yxX8bED3A7Ylvnrra0UdFQfdvespBG9dtygFzBk11eWjPfdh2AA iGZCOsgi7LvWCxJklYOrJb+XeaMBDUyiTPs0LBQ4b6kdfgz2RGvvEli+O5X3qI7X1BrElYX4Xm8 m0JoPYvHKUadX08r9QiHWNHIVP8EGBr07R1sZWkfyDUVP9Gzji2FEN7bg9ggU+zvlSDqkS59ggi 5tdL6v3MjFLoGgg8FnIktnWxuikKQ/arqD0aJq2WkCch0Q== X-Received: by 2002:a17:90b:3c43:b0:3a7:a463:54bf with SMTP id 98e67ed59e1d1-3ae581440f9mr1759178a91.33.1793206056440; Wed, 28 Oct 2026 09:47:36 -0700 (PDT) Received: from asahi.tail4da9e3.ts.net ([218.48.198.193]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3ae579c5b77sm2173048a91.3.2026.10.28.09.47.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Oct 2026 09:47:36 -0700 (PDT) From: "Baek Kyu, Kim" To: Nikolay Aleksandrov Cc: Ido Schimmel , bridge@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "Baek Kyu, Kim" Subject: [PATCH net v2 1/2] bridge: cfm: Store the new CC configuration before enabling peers Date: Thu, 29 Oct 2026 01:47:29 +0900 Message-ID: <20261028164730.253238-2-pocj8ur4in@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20261028164730.253238-1-pocj8ur4in@gmail.com> References: <20261028164730.253238-1-pocj8ur4in@gmail.com> X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: 8bit br_cfm_cc_config_set() enables existing peers before storing the new CC configuration. The receive timer therefore starts with the previous expected interval, delaying CCM loss detection when enabling CC with a shorter interval. For example, disabling CC at 1s and re-enabling it at 100ms schedules the first check after 250ms instead of 25ms, before rounding to jiffies. Save the disabled-to-enabled transition and store the new configuration before enabling peers. Keep cancellation on disable before replacing the configuration. Fixes: dc32cbb3dbd7 ("bridge: cfm: Kernel space implementation of CFM. CCM frame RX added.") Signed-off-by: Baek Kyu, Kim --- On the combined v2 kernel under ARM64 QEMU/KVM, all 8 CC interval and transition checks passed with bridge/veth and netlink configuration. net/bridge/br_cfm.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/net/bridge/br_cfm.c b/net/bridge/br_cfm.c index 9dcc97d63a6f..28b40dbf4073 100644 --- a/net/bridge/br_cfm.c +++ b/net/bridge/br_cfm.c @@ -634,6 +634,7 @@ int br_cfm_cc_config_set(struct net_bridge *br, { struct br_cfm_peer_mep *peer_mep; struct br_cfm_mep *mep; + bool enable; ASSERT_RTNL(); @@ -648,17 +649,20 @@ int br_cfm_cc_config_set(struct net_bridge *br, if (memcmp(config, &mep->cc_config, sizeof(*config)) == 0) return 0; - if (config->enable && !mep->cc_config.enable) - /* CC is enabled */ - hlist_for_each_entry(peer_mep, &mep->peer_mep_list, head) - cc_peer_enable(peer_mep); - if (!config->enable && mep->cc_config.enable) /* CC is disabled */ hlist_for_each_entry(peer_mep, &mep->peer_mep_list, head) cc_peer_disable(peer_mep); + enable = config->enable && !mep->cc_config.enable; + mep->cc_config = *config; + + if (enable) + /* CC is enabled */ + hlist_for_each_entry(peer_mep, &mep->peer_mep_list, head) + cc_peer_enable(peer_mep); + mep->ccm_rx_snumber = 0; mep->ccm_tx_snumber = 1; -- 2.55.0