From nobody Thu Oct 30 14:55:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cy6bY0LZpz6DLDk; Thu, 30 Oct 2025 14:55:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cy6bX6xJWz3d4H; Thu, 30 Oct 2025 14:55:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761836105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TX50QHYJKr6US9T7Vae2In3Jhvr8jx1tcBrF2jxvAUQ=; b=HJCBIGkoupcXSgUNwQ+eBpaK+N7/e6PzjT1BfLt5N2n9DQilLqzjgQjAM+a/DBPJ8w87ZW pGgHSP3BZSPrz8/L+h6i5GURm7RY2O+f7KHBeaJHaATD3KXyJFecwjBiESh5yokVmHDzKQ uStC3LJ3RlIxtEw7LvBVfkGj2s6OQWlFQDMb2Uo5yGhOrZb79nfhgoKsRs5bKBn8hJcVCB 4QHKRe13mLQ4pDl4S7l/WypDCb+eRyi9x3YBmWmrP1Tbm/I6mOlAZjGUkJMy3do6bG/A38 Fb2nq0Ha83LjCW05RRR/Q+Yc0G5BvaVuFMQyo2F/HqRqxNt5Q+yq8D3InvxTvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761836105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TX50QHYJKr6US9T7Vae2In3Jhvr8jx1tcBrF2jxvAUQ=; b=FMmnzebrUXkBTwCAZvNUU0UXhlFY/johkwpR+r1W0Ao1rNkca/Qtt0Q+4pXWHOoY8JBjvg xs6mVg6RS3uj3ymfHn5rQWveKzTqW/JjsL/0SjO2FFZnSa4vE+SMbvUsscBj4ZP6N0uSAO KA60pOewIGJ7TD/OjPzrFL5DsFh1NN3eoidTpBw3XyLqjmGo3yOChntCvkdAV4KG8UGtpG JbEjByLqN/KqLRLqSjugbpRNmoBmymc7ilNHgJks2ESfeD2+07r7bo+JBDlzlwsxQacmEh eC6NNi58sHp4v4Dugj9HgbNvoBbG97fwe6eqMrKiQKd2nIBNWNaORxvqFHgUiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761836105; a=rsa-sha256; cv=none; b=ElwA+vf+9mYH99VFxdF3AdxBSDB25jzAQhObpFJcVCKvbAaOTZSljevvUn0BEZgcraPeOg IgCZn/l2AYKswD3TxiA8UvMXTJyWhgIQYfcTswC39nq0l6MW4gg6QVIXDxLvkhqwEj/Lb1 JY8+4tEX9yM1kIkwDwDHlJj02sUsaYZdvYltkUBqfHrn16uC1aZ6ySE9UClChBy5hRz21S ykeKm//ATmh5kFVADCTKPVJR7rH6SBcH3IwkKni+nIRXb6GavLY3W2WNsp9tPuQ1hSzn2Z KtwttmD/xXDhMAs7I0s2PDz1VDzZcQT99QqnKwWTZ08PMd8zbwt756OruuVqNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cy6bX6DZ5zBn5; Thu, 30 Oct 2025 14:55:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59UEt4UF071372; Thu, 30 Oct 2025 14:55:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59UEt4ef071369; Thu, 30 Oct 2025 14:55:04 GMT (envelope-from git) Date: Thu, 30 Oct 2025 14:55:04 GMT Message-Id: <202510301455.59UEt4ef071369@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 8b2f4e6b3a47 - main - ipsec offload: never return error from the newkey/spdadd callbacks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b2f4e6b3a478faaa4b0b23efc9c65f5db913df4 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8b2f4e6b3a478faaa4b0b23efc9c65f5db913df4 commit 8b2f4e6b3a478faaa4b0b23efc9c65f5db913df4 Author: Konstantin Belousov AuthorDate: 2025-10-29 16:37:17 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-30 14:54:36 +0000 ipsec offload: never return error from the newkey/spdadd callbacks Returning an error causes premature termination of if_foreach_sleep() loop over the interfaces. Whatever problem we have with the specific interface trying to install an element, should not prevent an attempt to install the same element into all other interfaces. Noted by: Ariel Ehrenberg Sponsored by: NVidia networking MFC after: 1 week --- sys/netipsec/ipsec_offload.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/netipsec/ipsec_offload.c b/sys/netipsec/ipsec_offload.c index 8a09d5f37b4a..59a107881676 100644 --- a/sys/netipsec/ipsec_offload.c +++ b/sys/netipsec/ipsec_offload.c @@ -300,7 +300,7 @@ ipsec_accel_sa_newkey_cb(if_t ifp, void *arg) dprintf("ipsec_accel_sa_install_newkey: cannot alloc " "drv_spi if %s spi %#x\n", if_name(ifp), be32toh(tq->sav->spi)); - return (ENOMEM); + return (0); } error = ifp->if_ipsec_accel_m->if_sa_newkey(ifp, tq->sav, drv_spi, &priv); @@ -329,7 +329,7 @@ ipsec_accel_sa_newkey_cb(if_t ifp, void *arg) } } out: - return (error); + return (0); } static void @@ -663,7 +663,7 @@ ipsec_accel_spdadd_cb(if_t ifp, void *arg) if (error != 0) { dprintf("ipsec_accel_spdadd: %s if_spdadd %p remember res %d\n", if_name(ifp), sp, error); - return (error); + return (0); } error = ifp->if_ipsec_accel_m->if_spdadd(ifp, sp, inp, &i->ifdata); if (error != 0) { @@ -671,7 +671,7 @@ ipsec_accel_spdadd_cb(if_t ifp, void *arg) dprintf("ipsec_accel_spdadd: %s if_spdadd %p res %d\n", if_name(ifp), sp, error); } - return (error); + return (0); } static void