Revision tags: release/13.5.0-p3, release/14.2.0-p5, release/14.3.0-p2 |
|
#
ab328f4e |
| 07-Aug-2025 |
John Baldwin <jhb@FreeBSD.org> |
ctld: Catch exceptions by reference instead of by value
Reported by: GCC -Wcatch-value Sponsored by: Chelsio Communications
|
#
66b5296f |
| 06-Aug-2025 |
John Baldwin <jhb@FreeBSD.org> |
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 uses an alternate configur
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 uses 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 be 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
show more ...
|
#
9a36ad4f |
| 04-Aug-2025 |
John Baldwin <jhb@FreeBSD.org> |
ctld: Use scoped guards to finish configuration scopes in the UCL parser
Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794
|
#
aea7fa72 |
| 04-Aug-2025 |
John Baldwin <jhb@FreeBSD.org> |
ctld: Switch to the C++ bindings for libucl
In particular, this permits using ranged-for loops to iterate over keys in an object which is more readable.
Sponsored by: Chelsio Communications Pull Re
ctld: Switch to the C++ bindings for libucl
In particular, this permits using ranged-for loops to iterate over keys in an object which is more readable.
Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794
show more ...
|
#
e01fe14c |
| 04-Aug-2025 |
John Baldwin <jhb@FreeBSD.org> |
ctld: Make config file parsing exception safe
Split parse_conf in half keeping yyparse_conf as C-only function in parse.y. parse_conf uses freebsd::FILE_up to ensure that the config file is always
ctld: Make config file parsing exception safe
Split parse_conf in half keeping yyparse_conf as C-only function in parse.y. parse_conf uses freebsd::FILE_up to ensure that the config file is always closed.
Both parse_conf and uclparse_conf catch any exceptions thrown during parsing. This is in preparation for using C++ objects allocated with new for various data structures.
Note that this treats memory allocation failures from new as parsing errors rather than ctld exiting entirely as it currently does if malloc or calloc fail.
Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794
show more ...
|
#
34e8d664 |
| 04-Aug-2025 |
John Baldwin <jhb@FreeBSD.org> |
ctld: Rename {ctld,isns}.h to {ctld,isns}.hh
Subsequent commits will use C++ in these headers rather than only C. conf.h remains as a C-only header since it is intended for use by the C code generat
ctld: Rename {ctld,isns}.h to {ctld,isns}.hh
Subsequent commits will use C++ in these headers rather than only C. conf.h remains as a C-only header since it is intended for use by the C code generated from parse.y.
Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794
show more ...
|
Revision tags: release/14.3.0-p1, release/14.2.0-p4, release/13.5.0-p2, release/14.3.0 |
|
#
bf411567 |
| 11-Apr-2025 |
John Baldwin <jhb@FreeBSD.org> |
ctld: Properly validate mutual user/secret for CHAP-MUTUAL in the UCL parser
The code was checking the non-mutual UCL objects twice instead.
Sponsored by: Chelsio Communications Differential Revisi
ctld: Properly validate mutual user/secret for CHAP-MUTUAL in the UCL parser
The code was checking the non-mutual UCL objects twice instead.
Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D49645
show more ...
|
#
251439f1 |
| 11-Apr-2025 |
John Baldwin <jhb@FreeBSD.org> |
ctld: Remove dead code in UCL parsing of hex DSCP values
libucl treats strings starting with "0x" as an integer if they do not contain invalid characters. The code also looks broken as it only call
ctld: Remove dead code in UCL parsing of hex DSCP values
libucl treats strings starting with "0x" as an integer if they do not contain invalid characters. The code also looks broken as it only calls strtol if the string exactly matches "0x" without any trailing characters.
Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D49644
show more ...
|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3 |
|
#
839d0755 |
| 02-Apr-2025 |
John Baldwin <jhb@FreeBSD.org> |
ctld: Convert to C++
This is the minimal set of changes need to compile as C++ so git can handle the rename correctly.
Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revisio
ctld: Convert to C++
This is the minimal set of changes need to compile as C++ so git can handle the rename correctly.
Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D49139
show more ...
|