From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 8977B80275 for ; Mon, 31 Aug 2026 23:41:54 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 67VNeeBU031917; Tue, 1 Sep 2026 02:40:41 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 67VNeeBU031917 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="v6FHSeHN" Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 67VNedPr031905 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 1 Sep 2026 02:40:39 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 67VNedPr031905 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-472c330e555so1763230f8f.1 for ; Mon, 31 Aug 2026 16:40:39 -0700 (PDT) X-Gm-Message-State: AFuF++mbV6U61wjfLPNWsZjDetD57u11JObF21/amnf4tshMGba3ANwC KRxobn5M8won8qBmlyrZboSuukSbdoXeaDoz5iMLLPGwCryOMCyk5uR2Xp1TA/x9cQx4ZBKOkji DobFmn4eqKmVHyNGkFiU0By9MH914gjJb0KpgjXoOT6xRzfj10ZPh5Q== X-Gm-Gg: AYBFou32NRHd0mqAPvBstDvATFuIWcezClLFNrL7vWT1jYlCiWxyovi0BeOm/QL/Uka 4NQ8NqBGYsL/0lyj9CArZFSzGMU+z7FnXwW0/RT5m0+ee1gLroekYrEym0Rw99gZ6x/R42oZdhd be+LpbwhCfa19p7Jrvnif5YnuLY+nffaepQUCYlYwU+Yq/oq0IMErz7PK/9KKB9U4lRbZQDQfjg oeWNGlGCPl3HrX43fLfewCbnKDwrD0leFc++ddCCtSXc+/Th4y+XqmCQ1MKXToJyMNZmJaSpyv5 +LMYEFhO3ycwAL4Yh13VzXSZJq+m1tasOpCfR4Nz0FVQw8uhpcpyr006M/tpxVfjfxkzGYQADNG QmXR1A2qB/6YvRp8bLtV5Ixmx X-Received: by 2002:a5d:5d0c:0:b0:482:d94e:f33b with SMTP id ffacd0b85a97d-482f782a855mr48218019f8f.0.1788219638659; Mon, 31 Aug 2026 16:40:38 -0700 (PDT) X-Received: by 2002:a5d:5d0c:0:b0:482:d94e:f33b with SMTP id ffacd0b85a97d-482f782a855mr48217985f8f.0.1788219638198; Mon, 31 Aug 2026 16:40:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1788219638; cv=none; d=google.com; s=arc-20260327; b=jZae2HCPsPyrNMYTGhSBQVks/pNhyNOhX67s4FCXukJhUeg3PDrGsoY8aihhL5Gejp by790PfjwpNwDqDzlpwwV2WHfuzpEjbK2WCsrpYA8JI0GeopCTCgNj6R/AZumDdhfDtf rbU5NEJkSq7S5iJfPDyYtKvWn4S84JBSiAOU7j8Tev+XdlyT64xWMyfbsLukEgDlTxyS eDmrAd9sN/aq/LM0gp6aVhaHC+9SUBcse7NXL4BIlheRUWMxlaWmfyuqXtPpqYDgG9B5 pIZWSzobZGeflfaTJIN35lK3i3CZJnEPrfby6jkHh1lp7nX15SUTMd/TnU1BcOFFCXfg EpwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=xEF8msfs/QBcZH6EaejKWfS/psY1yTrsrml3ccyUOkQ=; fh=WpT6aB7RBAGHZeWZzqAr71yzRFbPTYkPWKsRagLn48Q=; b=qhRoo7s3daHenYKMhJUCQqx4Z7lnqdYDcRbmSxxmUJIImuAfYIa31uzQAwwskxD5HP fkxyzM+Kq+2Lv3AK9IHbfXtFakBf2HPwwFszNXRO/IP65o1kkO7EVEphsK6DOGgT17Oz cUEEHXqynQ09OPiAOUyk1OX3PUfd3KwvMsdLEYPaFwapPpIcr4XbblgNUh8JBAsxC9+e EbT9pB4cI6YdCt84kciwnZhBPaVAE/cSRqRex6UcE+g0J3yv6oTHDDkInPfIQBV7c8eo 4y1dHw4wJNR4rKRbHTZo9sQZfEriiuYT/v8eDMsw3HB66jkdRU1wgibSndjaZ52yB+MI uyUQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=v6FHSeHN; spf=pass (google.com: domain of eva.kurchatova@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=eva.kurchatova@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48442d7ade9si878031f8f.271.2026.08.31.16.40.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 16:40:38 -0700 (PDT) Received-SPF: pass (google.com: domain of eva.kurchatova@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=v6FHSeHN; spf=pass (google.com: domain of eva.kurchatova@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=eva.kurchatova@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=MIME-Version:Message-ID:Date:Subject:From: Content-Type; bh=xEF8msfs/QBcZH6EaejKWfS/psY1yTrsrml3ccyUOkQ=; b=v6FHSeHNHJs3 e6ZGze7uhqeyXap/aHSQwzZWPz4S+uXpPNY/bDAn0ZrV3KtT3yfz/Z/exJxd2ctEmBrpOnzm7gKZ1 xXhMKs6Ei4c5R6beMGEfTDZtHa2DUmYEZIgFWp8d3j8BwGaCHMC++2xeQfny/gIEWwVKP7hHFKjB0 aJkqI8gzOOf5y+/a8SiEaIPVZb7tsXiMQE2d2m50j+vM/SCU6HWpDNtsb2b17FBEMBChJhBTvBRM3 qs7jPMA1n0vk9SP13qr5P6mRVAmLDZJ744cYssaShFTNSoVrWKqu5fJQ8Rth0cysxkCWZnE1+KVli Ep7c4RFQ9xLxgqT+UzpMIw==; Received: from ch-vpn.virtuozzo.com ([130.117.225.6] helo=LekKit-T14) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1x1BZr-00AjTr-0M; Tue, 01 Sep 2026 01:40:28 +0200 From: Eva Kurchatova To: khorenko@virtuozzo.com Date: Tue, 1 Sep 2026 02:39:50 +0300 Message-ID: <20260831234036.1649006-1-eva.kurchatova@virtuozzo.com> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH vz10 1/3] ms/bonding: fix xfrm offload feature setup on active-backup mode X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org From: Hangbin Liu The active-backup bonding mode supports XFRM ESP offload. However, when a bond is added using command like `ip link add bond0 type bond mode 1 miimon 100`, the `ethtool -k` command shows that the XFRM ESP offload is disabled. This occurs because, in bond_newlink(), we change bond link first and register bond device later. So the XFRM feature update in bond_option_mode_set() is not called as the bond device is not yet registered, leading to the offload feature not being set successfully. To resolve this issue, we can modify the code order in bond_newlink() to ensure that the bond device is registered first before changing the bond link parameters. This change will allow the XFRM ESP offload feature to be correctly enabled. Fixes: 007ab5345545 ("bonding: fix feature flag setting at init time") Signed-off-by: Hangbin Liu Link: https://patch.msgid.link/20250925023304.472186-1-liuhangbin@gmail.com Signed-off-by: Paolo Abeni The ipsec offload selftest that came with this fix is in the tree, the fix was not, so bond0 is created with the features off and the test sees no offloaded packets. (cherry picked from commit 5b66169f6be4847008c0aea50885ff0632151479) https://virtuozzo.atlassian.net/browse/VSTOR-139651 Feature: fix ms/net Signed-off-by: Eva Kurchatova --- drivers/net/bonding/bond_main.c | 2 +- drivers/net/bonding/bond_netlink.c | 16 +++++++++------- include/net/bonding.h | 1 + 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 67fd0c4cfb2e..79f2a4183d8a 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -4401,7 +4401,7 @@ void bond_work_init_all(struct bonding *bond) INIT_DELAYED_WORK(&bond->slave_arr_work, bond_slave_arr_handler); } -static void bond_work_cancel_all(struct bonding *bond) +void bond_work_cancel_all(struct bonding *bond) { cancel_delayed_work_sync(&bond->mii_work); cancel_delayed_work_sync(&bond->arp_work); diff --git a/drivers/net/bonding/bond_netlink.c b/drivers/net/bonding/bond_netlink.c index d066a6d948f7..4f2b0f398a5b 100644 --- a/drivers/net/bonding/bond_netlink.c +++ b/drivers/net/bonding/bond_netlink.c @@ -595,18 +595,20 @@ static int bond_newlink(struct net *src_net, struct net_device *bond_dev, struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack) { + struct bonding *bond = netdev_priv(bond_dev); int err; - err = bond_changelink(bond_dev, tb, data, extack); - if (err < 0) + err = register_netdevice(bond_dev); + if (err) return err; - err = register_netdevice(bond_dev); - if (!err) { - struct bonding *bond = netdev_priv(bond_dev); + netif_carrier_off(bond_dev); + bond_work_init_all(bond); - netif_carrier_off(bond_dev); - bond_work_init_all(bond); + err = bond_changelink(bond_dev, tb, data, extack); + if (err) { + bond_work_cancel_all(bond); + unregister_netdevice(bond_dev); } return err; diff --git a/include/net/bonding.h b/include/net/bonding.h index e06f0d63b2c1..bd56ad976cfb 100644 --- a/include/net/bonding.h +++ b/include/net/bonding.h @@ -711,6 +711,7 @@ struct bond_vlan_tag *bond_verify_device_path(struct net_device *start_dev, int bond_update_slave_arr(struct bonding *bond, struct slave *skipslave); void bond_slave_arr_work_rearm(struct bonding *bond, unsigned long delay); void bond_work_init_all(struct bonding *bond); +void bond_work_cancel_all(struct bonding *bond); #ifdef CONFIG_PROC_FS void bond_create_proc_entry(struct bonding *bond); -- 2.55.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel