From nobody Tue Jan 27 18:44:15 2026 X-Original-To: dev-commits-src-branches@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 4f0vSv6KzDz6QFFD for ; Tue, 27 Jan 2026 18:44:15 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f0vSv3ggnz3rKm for ; Tue, 27 Jan 2026 18:44:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539455; 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=dWe44SAEmSjk5DZrnbYY8ieQJyChrdWBxMvo8zT/sQY=; b=u5N0IGiNBsyikT394FqC5pKIqAXux8jGMjtRMnxQHKp+x8JXYSl/77/5la9e6luVRIgG2L 7tIuX9EXG0/7A1c0+SfKYPJxgSE1JkmQsaOwKLvT7wV67EHBeI+iLxMCd5kkLxQo2d5Ap0 hAyCf/qb0yxTKZ/tES/ZBs/FTXZQeZvnSshYEWUC+gAMGVB1Sav0H+tY0IZ0QZwj1FBugW +73TS1L+DZcjhNoTF7Mqa+57JQ0X6apzrmz5P21hj4/IlK6xObqVvZrpGp4UO16kc4zODj dLLPZFByfborg/wTSLXFRF3dKYvAjZ5KqLw+B6EmQEC9U7QygP6XEd3cGNTmDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539455; 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=dWe44SAEmSjk5DZrnbYY8ieQJyChrdWBxMvo8zT/sQY=; b=VCWAYXjVlSF3GbI6V67JkwpcKmsl5NYqEDeOGUhEtNlfzACZMkJx+lrjKutXSFlymHP3zM L6wE/hiN6h24xM24khJXVWLdfTO/gBP3WK0dQ0wSCD09KcJHoouUQM39710TH420Be4owW EI7iJSRuG0adqPk3TEYI9tumNc46ar6yvWMEI4ZHltAKjrRaX8+ud/qJ4EqKqw+fqgjWHx uE71PGgtkr2JFMRwiRhS0sf71k1aFeKLgt3OTeJQq66OkL/jNLWY5l1Of3+XF0AiXCLWv6 YbBd6Rf+4fQM7a42RVC7LuqDgC/RhNI+mcZ9M/Cqw2OpyEwDUVD92mZnW8zy7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769539455; a=rsa-sha256; cv=none; b=C/u3uwxjkSxVrkw+zw7A7wxerDCVl0Vg0Y46AEe9n4idyumENJwSL/8wb/2rY1duQm4CWs lxE/HCkEAeV4wcdGRiGKPlwxI9AumQqvfJwQpQl1v4T16zjhMqD16fv6s2LtAAVkox20SA 6pUa2s5FkR2EQxyJnBqaE7uq3b5bOJGozuu+J0C0Q/WYvaUnBgPTEeN6voW8sof3EBKKKa yZAY2e5cu7+JjfVqqXkdyiKmwY6/P7k9fsxVM7qvj6dxnWJ1T8Odm+GuU20St7xz/ZBZOO 5+TXt1MBaV+6UZPn9O9/rij+tJJk4xt2GdeEW6HgW85LtNn4oHNRqmy7PtzMbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f0vSv33ZNz3dV for ; Tue, 27 Jan 2026 18:44:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e55b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:44:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 9dd655a05bea - stable/14 - ctld: Add missing properties to the UCL parser List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9dd655a05bea9d50617bfabe252cbccc9590b2a4 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:44:15 +0000 Message-Id: <6979077f.e55b.44e84da7@gitrepo.freebsd.org> The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9dd655a05bea9d50617bfabe252cbccc9590b2a4 commit 9dd655a05bea9d50617bfabe252cbccc9590b2a4 Author: John Baldwin AuthorDate: 2025-02-26 15:12:25 +0000 Commit: John Baldwin CommitDate: 2026-01-27 18:15:57 +0000 ctld: Add missing properties to the UCL parser - Support for "foreign", "offload", and "tag" properties in portal group contexts. - Support for "ctl-lun" and "device-type" properties in LUN contexts. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48936 (cherry picked from commit 67940b204f5829a72e7c47f92069fb06a7dad91f) --- usr.sbin/ctld/uclparse.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index e8e026247b71..7c786afb1e93 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -634,6 +634,10 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) goto fail; } + if (strcmp(key, "foreign") == 0) { + portal_group_set_foreign(); + } + if (strcmp(key, "listen") == 0) { if (obj->type == UCL_STRING) { if (!portal_group_add_listen( @@ -676,6 +680,18 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } + if (strcmp(key, "offload") == 0) { + if (obj->type != UCL_STRING) { + log_warnx("\"offload\" property of " + "portal-group \"%s\" is not a string", + name); + goto fail; + } + + if (!portal_group_set_offload(ucl_object_tostring(obj))) + goto fail; + } + if (strcmp(key, "redirect") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"listen\" property of " @@ -705,6 +721,17 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } + if (strcmp(key, "tag") == 0) { + if (obj->type != UCL_INT) { + log_warnx("\"tag\" property of portal group " + "\"%s\" is not an integer", + name); + goto fail; + } + + portal_group_set_tag(ucl_object_toint(obj)); + } + if (strcmp(key, "dscp") == 0) { if (!uclparse_dscp("portal", name, obj)) goto fail; @@ -946,6 +973,28 @@ uclparse_lun(const char *name, const ucl_object_t *top) goto fail; } + if (strcmp(key, "device-type") == 0) { + if (obj->type != UCL_STRING) { + log_warnx("\"device-type\" property of lun " + "\"%s\" is not an integer", name); + goto fail; + } + + if (!lun_set_device_type(ucl_object_tostring(obj))) + goto fail; + } + + if (strcmp(key, "ctl-lun") == 0) { + if (obj->type != UCL_INT) { + log_warnx("\"ctl-lun\" property of lun " + "\"%s\" is not an integer", name); + goto fail; + } + + if (!lun_set_ctl_lun(ucl_object_toint(obj))) + goto fail; + } + if (strcmp(key, "options") == 0) { if (obj->type != UCL_OBJECT) { log_warnx("\"options\" property of lun "