From nobody Mon Apr 13 15:51:52 2026 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 4fvX3C4dthz6ZLjD for ; Mon, 13 Apr 2026 15:52:07 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (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 4fvX3B6j3Pz45bb 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.50 as permitted sender) smtp.mailfrom=asomers@gmail.com Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-66dd1b5bb6aso7155696a12.2 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=MF4rQycRIUHnTbYQrwsPIKoSJGEA1MXE2vUkAhouHa+88vOhTcASKEvnWVmM8u60co WGa+A5ZDUHeeG4phthwi5ckEIvhd0LGrqXcSexNL+ASDTVFrlc5i8o4rHIUvcmujmIeb YGltus30yUiPTrnWy5Z2XvkYy3a06AI6n7zj/mJLCLVfTtl5lVS/Sw1VrB1N/6Mlx+Oe dX1xHggeWZkFvHACgmj0Ev1hX9HFPKB1fCN0DSqdWV90i9EY5sTnPX4vCD2QN5N9dCpG ocq3goxQrCi1HxpJFRNhjxOMju3s+YDKSH4dRo8OZFdAy12qYfAy3o7NUkJjANPx0MhK IzSg== 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=0kTIatAvH/ElvWeAURpqx0o0scN6xDQhr2fNIX1xOU4=; b=a90sOq3f03ikPtcC0qMJ2GXwKR4y+m5EH0XDCfVOxUFzCJ0e5Eo9qb0q/WstJckwK+ AzMaONiDL8E/oVsjxB6Pm2Q9sQUwm2kZj3sIo5KMK1zYZN/VVEz4NUi48jBpGkutpGRz oSHpJOG0YwTflBGN1C4bx+KWVpvawxvEmJwyWldHc2fuSXzvAZBPJo7P1I1TxOZM0lc4 VUpJ8YlfUEaj6zUq757RjdOiixweM4ilpJ+lTkJgaRJKoGoRXuVn4IeQbLBHKr9CA0Pm q9N2H9Nusy9aaDBWs1tlumOpADoPC6hshYAfYi1F3FpDrFZQhgnwTQSGA612bD9kYhrd WPJA==; 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=Vf9HSv697FEtA/jpetMwWtX2/fq4ZOWvqIWWfDRyP5AKp39rBBj7J+z4BS4qu3T1Cn mn3N4x41BvsJ/gTE+kc6K8UfNIRRQ9vRSKyGF2ApxnhmtpFHFspfLHcNT6+nSfCA8zmN UL/5uVV5eGbrXgpzV4xP1//d3z/KwQ6+8uq5bTPQaNFO7lPJfaa4MLzNLfEwVIhgjqRD HBfjFtaNOrBKBChU8ifn44+K941Ejh3OCUxpV7otcjs3hJIhV6ZmYEniCqpydpobyM26 KiMjWTD5CeqYfgqLF3CAtnGv7vwChlKTiJygyicLd8AUjxMrpdZMfSVNKh8y0HiKLqiE kSKw== X-Forwarded-Encrypted: i=1; AFNElJ+mKKPOt/nMqBIwmD9TgZDxQrccYZ/wWdh32SXaoBzMbvwY0QDkCa9oyBtsTOuWGN7eHG9zTT/6IwTf99RD08ayEhCM@freebsd.org X-Gm-Message-State: AOJu0YzmrDkm3qQ5NYtvha+RYnTP25J5ujuiiEwVSEbako2sGm2Zj/ey GtKw7ig5UIfnZPpnvhKIPZ/oudUhdcfwMYB9GtTSOs9LJBmW+aeXt3dm8SbNOvNwrKOjImbl8js PIKLZJ3VUCxqz777yKzU5Bbkc8ZhWElk= X-Gm-Gg: AeBDiesszjswD5RZcySD1phFOkJbZt/MsJfn4USbbI+XCdwfSgeU1hoUU+5UubdYOXa HhJSICQq/aDWLmwlZb8+nmv7ZKj2820ZrRz8Z+Vi3TFzgLtuN9R6EjbthdAT8uXmWLaqdceKA8+ e3By0uRfS+h7m/5Vb35YXHknzq9dBtWvfFmJRRB91hfpGUq7NrkMQh6pf/DQXfrRyperwu1CFRt CiCmEkS2DbEeC2JFf0qIB1KEVfTeH+pUCmQUiUG2YuIpvZtkcPVa9CPn1kvKB2AR4/40gY6mAht fAfRuUlOgrpL1GR2At2QsvSb6T8t8zKDBFG9LPPk6sxAqmHtrWlBTE6rPv/HYTf2czuG 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 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 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.50:from]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.50:from]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; MISSING_XM_UA(0.00)[]; R_DKIM_NA(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4fvX3B6j3Pz45bb 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