From nobody Wed Feb 26 15:15:51 2025 X-Original-To: dev-commits-src-all@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 4Z2yj43KDPz5qH1j; Wed, 26 Feb 2025 15:15:52 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z2yj35tMPz3P5x; Wed, 26 Feb 2025 15:15:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740582951; 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=9TBSAzIsrNLtenckBILx1GaKsvMEehYpBtfsHuSBzPY=; b=rTJZ4bxWWgwzZx9uGt7qcajGA07Mdh4ld1Y9tPIeywQ4QRxr1guj0qlzF2ikXAVICb7ppb sm8TalPatTrgRUBB4LkTSP3AR7p961TtzsA14gF4iCBDbWKL0Xw3mP1IDxCQpNAdec6RAn 4qJ64Z+1b3f+1UB1kTTFG2jsopvm99vOPXgddR/VTbFO3Tr4N7LexCSxCh34zUVZSBDKiw 4aP+kgFMAQK/u0K+tyJB8RgqbIYYDJcLCN0abo+xhrj7agGEXhfV9RvfqIepFuAGj1dy7J Bsx/o8o+5kJ8K6de67073L3lIRdiHr4TXzYTxBh9e+H+LQEFIgY+jw+tYeGjBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1740582951; a=rsa-sha256; cv=none; b=YMQ0oqCtBpg/SGYe9OlVY3LAsdqUxYxYObkUwvteaKZkrVCVDrxfOH0COPC4kkF+1TfA/0 VzQnLHVBzaPlNErOmeAztH8vXwrvQXb8DzQh+NP21gaGZNoxEaeUikaFcD3a11u/bQL7Wr gWpayAoONp0pibsvwmDMyMh6hmALaHsVPjhGJHH6TdW0FtYAqfIaWLvxSQJNOu3C/smH+u ihapdvsZ/OkScLlpIlLdYTMD2wKch8Kq7dc4eiJTtOJy1atNLUp4bvOvo01C01p8HPH1uF QnQxFx4Og0JfBzhmJBbnWzHn7s32qMQowq4XdwMD6bwNmtmKTf3LDs+HtHB5aw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740582951; 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=9TBSAzIsrNLtenckBILx1GaKsvMEehYpBtfsHuSBzPY=; b=jV1GdBogtzUCr2d3oBAm5/zu73Ks1Ih7bJU/cAlmo+3dSaHsAwPZBtswuTB/U7FSxPwp/L E2HDa7Mmj/jO2+FrwyJv7vm5EHCTTfHfVfldqNxkmP2hKeFkkxN3109tbGd1q4LBsQb2qk 35qtl9H/x3fcGZWpaaIaJIUrWQu2RawM7Ew6Uo4xNrKMu3MUFhlajiJxTTJfkc4mlBOTfI U1Q7hT7rVqPUafORBryQ3KwjsbHoY7gHBNAVkg4oAOW40j9AJqPiB4wS/CV9HyOPzSRdnO XdMxeiRUM2JwBxZoXKWylt260cbG2ZdUbKZDBjIKyNciBqT+CuhHD0h9v16maw== 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 4Z2yj35Swnz1Gw6; Wed, 26 Feb 2025 15:15:51 +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 51QFFphx034023; Wed, 26 Feb 2025 15:15:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51QFFpZH034021; Wed, 26 Feb 2025 15:15:51 GMT (envelope-from git) Date: Wed, 26 Feb 2025 15:15:51 GMT Message-Id: <202502261515.51QFFpZH034021@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 67940b204f58 - main - ctld: Add missing properties to the UCL parser List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: 67940b204f5829a72e7c47f92069fb06a7dad91f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=67940b204f5829a72e7c47f92069fb06a7dad91f commit 67940b204f5829a72e7c47f92069fb06a7dad91f Author: John Baldwin AuthorDate: 2025-02-26 15:12:25 +0000 Commit: John Baldwin CommitDate: 2025-02-26 15:12:25 +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 --- 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 "