From nobody Mon Apr 13 15:51:52 2026 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 4fvX3D1PWMz6ZLnw for ; Mon, 13 Apr 2026 15:52:08 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fvX3B4vH0z45kt for ; Mon, 13 Apr 2026 15:52:06 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; arc=pass ("google.com:s=arc-20240605:i=1"); dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.51 as permitted sender) smtp.mailfrom=asomers@gmail.com Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-6719e2372a0so1243893a12.0 for ; Mon, 13 Apr 2026 08:52:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776095525; cv=none; d=google.com; s=arc-20240605; b=NlHblDYTDxlMS4nYODQeuVt+gBQETKlD5+ylakGBgYKQhxXTIcRU/w/PrLQfH3qO/q rwrlM/xN8BjsNGZ3qjShwxghbBv8kbTWyqqHpoxG4m1t6DW/rwlPKtfFRviiWybgGldS dm5AU0voNfJVVp8KnmWBnIvi8b+jnHnH59JwGd8M4PPKKlmjSBoVbolDcPUO91ikVYED 3reb0Mj8Ku0VEXE3QoyRfEnGt2GCt+HwtGHBeEKgxNRCAotGb9B6OEkq5xY+uNrpXVwn r/iWqOumi5fv2khrWyf7ytS8Gg3SWG9dSB292h8OC92vvXJmPHJx1v2+lFzRIQDdPV7x sAYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=ErNbfwKLoqluoAHm778FUo4E4ob4Alf+KwSFzLCilOQ=; fh=ONzmy89kXi2ScJp/iPhFNEPn9+nW12xLTNhJRzQ3PxI=; b=jiwmcz/N9ZlH25EnRMlHjXSOzgeU8GhZ3e5Lv/wIVtSlgKJBFjwqP7/fKSbTE/MYs/ Nv48iVE+eHAvZDNDk/kRxim3qoLqBDHWM+zv4fb7+UU3Yje3/zm1u2ba4dzLYzwoR5TU jqE8lq39g3QQz9MjqGG6yeQmFoKRQk9BQomjq2hMLuJkk7Zt9/h6ieQ1tU6YMaW6WOoW n6sFgg3K1hMLjXn6/SRy7YIntqCAj1g6RkyjWTiUaL4xrwJQmqGzBlYMzpAG4o3GL2BR SwUf3e+rCJG1WvbQVpaNQrpeaMv//wB5LxTslW0v4lCrenFA/XsC0T8LAjBPEHkmjHJw l95w==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776095525; x=1776700325; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ErNbfwKLoqluoAHm778FUo4E4ob4Alf+KwSFzLCilOQ=; b=LDDqGSMNiT3k3t8QNypWwuuQCiuQHRz+8OIa5/BnM0rYcOA+xCPQRP+mOGef2HEHDS /2CZG1b8YdhpjcCxoja4UPnvEg/gtDO0ag/x/F5DabpetJJbcn9O7SPRs5CHmNlSuzSK d4lT5SI9im0aDFZ7xQzyYLXuMZWus4UP/gtJlkeHXsEOWD8w+hc1r6pyHL3szUpoikAl co5UylMJmtIMOSCHB1RyeUi+9I/ND7hm65X4e2neVDMuW9h4xh7T1uwH3xeANB1KULHg KrxW+7STPjzrWCOysYym5Q/ZvRmU6OM6eL59j+6KmXIRyBXNE2YFrl/0RDenznYgadxE aWwQ== X-Forwarded-Encrypted: i=1; AFNElJ/mj+UvwTH+leRVxabBaT0QPGD1ssozaBBWU+zX1I6saYYV89VExsXAPXpqY6FSqC3RJAQbtz2qkEJ0Qr8/jVC7pNqgjw==@freebsd.org X-Gm-Message-State: AOJu0YzUlZOry87R4FftlO2qFQT1j3tuxc8jThe/Hgb271H0m3dxtwH+ XMYZ6b/pxYO1UmwHhP4OlXnK4xqGR5JuA52IYR5pr4BMiqeh07EMQ9jCezsK24804edtnZrtB5X JKLxdpoQtTgwUzPvrOvYk6Oil2a7CdmmzIFK5 X-Gm-Gg: AeBDietCinQQXD/ecDvie0AXs3PRUw3FGE2oiEa4EBHVc58TV7AdqpB8BPpeoJHqL89 aMEhht0ZFlQvRuDrZcjeQ/z+L5EuEvexoU3XAM+JvIFZX5ZctFfrYu4BZ9Co90B+FW0tXt3jiNQ XsxwVhfiI7Rc3rBWc+7UfAb2WUD7/U22+pRSX4ZD+PLe/pyaarSNx1srAG9k4Pvk3I8KF3fQwos B7nLHDqXQkenzfGJO+3pIfC9JmStcdSBGE1tCcdkEAENO8M2W07ZvMQ2kOK8kKxrPTCd6M3IrqC cWNemRPj70W+mKAv/vo+C1VaaHkQNyj1BzmX+kiFEgG0SZb7lQ81rC+VcIjKlG6jf+qg X-Received: by 2002:a05:6402:4558:b0:665:3d68:c46c with SMTP id 4fb4d7f45d1cf-6707a47eb05mr4755625a12.14.1776095524409; Mon, 13 Apr 2026 08:52:04 -0700 (PDT) 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 References: <202508062010.576KA2Mk062184@gitrepo.freebsd.org> In-Reply-To: <202508062010.576KA2Mk062184@gitrepo.freebsd.org> From: Alan Somers Date: Mon, 13 Apr 2026 09:51:52 -0600 X-Gm-Features: AQROBzBTYwyEssH9AFjFo-crl7OHcWcAV9Qsb-bBo41RodLs8M7DLXElAHVQq1E Message-ID: Subject: Re: git: 66b5296f1b29 - main - ctld: Add support for NVMe over Fabrics To: John Baldwin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.89 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.996]; NEURAL_HAM_LONG(-1.00)[-0.995]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; FREEFALL_USER(0.00)[asomers]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; FROM_HAS_DN(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.51:from]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.51:from]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; MISSING_XM_UA(0.00)[]; R_DKIM_NA(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4fvX3B4vH0z45kt X-Spamd-Bar: --- On Wed, Aug 6, 2025 at 2:10=E2=80=AFPM John Baldwin wrote= : > > The branch main has been updated by jhb: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D66b5296f1b29083634e2875ff0= 8c32e7b6b866a8 > > commit 66b5296f1b29083634e2875ff08c32e7b6b866a8 > Author: John Baldwin > AuthorDate: 2025-08-06 19:57:50 +0000 > Commit: John Baldwin > CommitDate: 2025-08-06 19:59:13 +0000 > > ctld: Add support for NVMe over Fabrics > > While the overall structure is similar for NVMeoF controllers and > iSCSI targets, there are sufficient differences that NVMe support use= s > an alternate configuration syntax. > > - In authentication groups, permitted NVMeoF hosts can be allowed by > names (NQNs) via "host-nqn" values (similar to "initiator-name" for > iSCSI). Similarly, "host-address" accepts permitted host addresses > similar to "initiator-portal" for iSCSI. > > - A new "transport-group" context enumerates transports that can be > used by a group of NVMeoF controllers similar to the "portal-group" > context for iSCSI. In this section, the "listen" keyword accepts a > transport as well as an address to permit other types of transports > besides TCP in the future. The "foreign", "offload", and "redirect= " > keywords are also not meaningful and thus not supported. > > - A new "controller" context describes an NVMeoF I/O controller > similar to the "target" context for iSCSI. One key difference here > is that "lun" objects are replaced by "namespace" objects. However= , > a "namespace" can reference a named global lun permitting LUNs to b= e > shared between iSCSI targets and NVMeoF controllers. > > NB: Authentication via CHAP is not implemented for NVMeoF. > > Reviewed by: imp > Sponsored by: Chelsio Communications > Differential Revision: https://reviews.freebsd.org/D48773 ... > +struct target * > +conf::add_controller(const char *name) > +{ > + if (!nvmf_nqn_valid_strict(name)) { > + log_warnx("controller name \"%s\" is invalid for NVMe", n= ame); > + return nullptr; > + } > + > + /* > + * Normalize the name to lowercase to match iSCSI. > + */ > + std::string t_name(name); > + for (char &c : t_name) > + c =3D tolower(c); ... This makes it impossible to define an uppercase or mixed case target name in ctld. I guess the intent was to comply with rfc3722[^1]? Even so, it's surprising, because such target names used to work. It's also inconsistent, because it's still possible to create an uppercase target name using ctladm directly, like this: ctladm port -c -d iscsi -O cfiscsi_portal_group_tag=3D257 -O cfiscsi_target=3Diqn.2018-10.myhost:TESTVOL1 Should we warn the user if they specify an uppercase target name, or even fail to create it? [^1]: https://datatracker.ietf.org/doc/html/rfc3722