From nobody Tue Jun 07 10:59:25 2022 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 3F9645D64E6; Tue, 7 Jun 2022 10:59:26 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LHS6Q0mK0z4mdS; Tue, 7 Jun 2022 10:59:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1654599566; 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=eu19QukW4+MJH1Qw3NTTOmcEQcxnR971cKbvoTEZNYk=; b=pzB/nxYiFDWtU2XCACQdTBofQ30Kzp1cidDWJnUlcz2D8v02y0FX7GRJ4mZAIwitGQaAor IH+8K8r88ovMp2Ks2Wd2uv1yQogdRNSLcSPqgVXFsYILuExz4WexdHCG1LqhpFZFbROKqW E/licPoeIktDoTw8OXRy4uVdUJ2KH9klJNjouwyC8t6F6g0LQmJ0+52zOY7vaz6eOtEnGP G8E0jC10LtIaRLY78Vv4OJ9I/dE/SoHHVSGDsNPnMuUwX18NF7PqwIsYETjogSDP1nza4/ 1Q2741pnk3lQ3uq+hMgo3Q7lfInXqsKRcjKo4KHk7vr8Qs+/RFd7I2S90z+GZg== 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 EA5D8199A5; Tue, 7 Jun 2022 10:59:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 257AxPel035449; Tue, 7 Jun 2022 10:59:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 257AxPLn035448; Tue, 7 Jun 2022 10:59:25 GMT (envelope-from git) Date: Tue, 7 Jun 2022 10:59:25 GMT Message-Id: <202206071059.257AxPLn035448@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Hans Petter Selasky Subject: git: 1967e313795f - main - lagg(4): Add support for allocating TLS receive tags. 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: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: hselasky X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1967e313795f40c8c5076af66a914132af71b85d Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1654599566; 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=eu19QukW4+MJH1Qw3NTTOmcEQcxnR971cKbvoTEZNYk=; b=BKcAzFgPbtNRY50EXq5jFOAkmd1hRe917oDEmZH+fXrRnwNuFwlO9LdvYYY+1hl/DqhtCo wSCVM7uSZS6BRyWGNUFZkx5MF+9YzhZQRAxiAkg+z3PGXxlggeSrPkUvYu2s3VWqIjCPOc dnJ9OAB80wzJCPi2fbAyFWDfuDHgwsjQiD6sgPlfQ2Ds4VyfRkoOPB9enTBO0cq4yd4Lkv 1cQ4sCHjiK3/g5IRKq0ESTjrsvKoc+LV0GEcsgC4bUBjXClcvEEtzHqSUsSBvXNsoFeWOY wE/h862tJYzy2VRO+aRB/c/AQVb7vpyvbngBnffG9L1ePPKK0zwXeoe1+DPReQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1654599566; a=rsa-sha256; cv=none; b=rUCNT9eZ2YplZ88ZsM8z8CgfGQx28R24tQ1rPmjWp4+nmJSg7esQ0wCKsig3WjzflVbEjh Q+g2CXjHT64hue2Ubqfdc+fpY6V4mJ1QHZtEPZVq7nK3Yz5AmGcOHFyKIfGmSdlc22wRyr N00Ytchjw3sWNN1JaSr8F+z16dbJzqdbKMpCH5JsAc4o4829nmyE2elbhS7Kci0B1dFYrT D7qqquinVO+zrUqRXmFPn3MD1fXYsQ72Tf/ZqnfvA1sjsLzGPjq75BR94gvowEt+t8eVe+ 6uJdf2nsSvWcK/Hyzmv51jm3UMdruvpS+uEavW8UKqWfY45chBm0YhsZMIRpBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by hselasky: URL: https://cgit.FreeBSD.org/src/commit/?id=1967e313795f40c8c5076af66a914132af71b85d commit 1967e313795f40c8c5076af66a914132af71b85d Author: Hans Petter Selasky AuthorDate: 2022-05-25 10:38:30 +0000 Commit: Hans Petter Selasky CommitDate: 2022-06-07 10:54:42 +0000 lagg(4): Add support for allocating TLS receive tags. The TLS receive tags are allocated directly from the receiving interface, because mbufs are flowing in the opposite direction and then route change checks are not useful, because they only work for outgoing traffic. Differential revision: https://reviews.freebsd.org/D32356 Sponsored by: NVIDIA Networking --- sys/net/if_lagg.c | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index e9e66e54e6ce..1d0ac50666e7 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -1836,6 +1836,7 @@ lagg_snd_tag_alloc(struct ifnet *ifp, struct lagg_snd_tag *lst; struct lagg_port *lp; struct ifnet *lp_ifp; + struct m_snd_tag *mst; int error; switch (params->hdr.type) { @@ -1851,6 +1852,10 @@ lagg_snd_tag_alloc(struct ifnet *ifp, case IF_SND_TAG_TYPE_TLS: sw = &lagg_snd_tag_tls_sw; break; + case IF_SND_TAG_TYPE_TLS_RX: + /* Return tag from port interface directly. */ + sw = NULL; + break; #ifdef RATELIMIT case IF_SND_TAG_TYPE_TLS_RATE_LIMIT: sw = &lagg_snd_tag_tls_rl_sw; @@ -1876,22 +1881,30 @@ lagg_snd_tag_alloc(struct ifnet *ifp, if_ref(lp_ifp); NET_EPOCH_EXIT(et); - lst = malloc(sizeof(*lst), M_LAGG, M_NOWAIT); - if (lst == NULL) { - if_rele(lp_ifp); - return (ENOMEM); - } + if (sw != NULL) { + lst = malloc(sizeof(*lst), M_LAGG, M_NOWAIT); + if (lst == NULL) { + if_rele(lp_ifp); + return (ENOMEM); + } + } else + lst = NULL; - error = m_snd_tag_alloc(lp_ifp, params, &lst->tag); + error = m_snd_tag_alloc(lp_ifp, params, &mst); if_rele(lp_ifp); if (error) { free(lst, M_LAGG); return (error); } - m_snd_tag_init(&lst->com, ifp, sw); + if (sw != NULL) { + m_snd_tag_init(&lst->com, ifp, sw); + lst->tag = mst; + + *ppmt = &lst->com; + } else + *ppmt = mst; - *ppmt = &lst->com; return (0); }