1a8089ea5SJohn Baldwin.\" 2a8089ea5SJohn Baldwin.\" SPDX-License-Identifier: BSD-2-Clause 3a8089ea5SJohn Baldwin.\" 4a8089ea5SJohn Baldwin.\" Copyright (c) 2024 Chelsio Communications, Inc. 5a8089ea5SJohn Baldwin.\" 66549718bSJohn Baldwin.Dd July 25, 2024 7a8089ea5SJohn Baldwin.Dt NVMFD 8 8a8089ea5SJohn Baldwin.Os 9a8089ea5SJohn Baldwin.Sh NAME 10a8089ea5SJohn Baldwin.Nm nvmfd 11a8089ea5SJohn Baldwin.Nd "NVMeoF controller daemon" 12a8089ea5SJohn Baldwin.Sh SYNOPSIS 13a8089ea5SJohn Baldwin.Nm 14a8089ea5SJohn Baldwin.Fl K 15a8089ea5SJohn Baldwin.Op Fl dFGg 16*399362baSJohn Baldwin.Op Fl H Ar MAXH2CDATA 17a8089ea5SJohn Baldwin.Op Fl P Ar port 18a8089ea5SJohn Baldwin.Op Fl p Ar port 19a8089ea5SJohn Baldwin.Op Fl t Ar transport 20a8089ea5SJohn Baldwin.Op Fl n Ar subnqn 21a8089ea5SJohn Baldwin.Nm 22a8089ea5SJohn Baldwin.Op Fl dFGg 23*399362baSJohn Baldwin.Op Fl H Ar MAXH2CDATA 24a8089ea5SJohn Baldwin.Op Fl P Ar port 25a8089ea5SJohn Baldwin.Op Fl p Ar port 26a8089ea5SJohn Baldwin.Op Fl t Ar transport 27a8089ea5SJohn Baldwin.Op Fl n Ar subnqn 28a8089ea5SJohn Baldwin.Ar device 29a8089ea5SJohn Baldwin.Op Ar device ... 30a8089ea5SJohn Baldwin.Sh DESCRIPTION 31a8089ea5SJohn Baldwin.Nm 32a8089ea5SJohn Baldwinaccepts incoming NVMeoF connections for both I/O and discovery controllers. 33a8089ea5SJohn Baldwin.Nm 34a8089ea5SJohn Baldwincan either implement a single dynamic I/O controller in user mode or hand 35a8089ea5SJohn Baldwinoff incoming I/O controller connections to 36a8089ea5SJohn Baldwin.Xr nvmft 4 . 37a8089ea5SJohn BaldwinA dynamic discovery controller service is always provided in user mode. 38a8089ea5SJohn Baldwin.Pp 39a8089ea5SJohn BaldwinThe following options are available: 40a8089ea5SJohn Baldwin.Bl -tag -width "-t transport" 41a8089ea5SJohn Baldwin.It Fl F 42a8089ea5SJohn BaldwinPermit remote hosts to disable SQ flow control. 43a8089ea5SJohn Baldwin.It Fl G 44a8089ea5SJohn BaldwinPermit remote hosts to enable PDU data digests for the TCP transport. 45a8089ea5SJohn Baldwin.It Fl g 46a8089ea5SJohn BaldwinPermit remote hosts to enable PDU header digests for the TCP transport. 47*399362baSJohn Baldwin.It Fl H 48*399362baSJohn BaldwinSet the MAXH2CDATA value advertised to the remote host for the TCP transport. 49*399362baSJohn BaldwinThis value is in bytes and determines the maximum data payload size for 50*399362baSJohn Baldwindata PDUs sent by the remote host. 51*399362baSJohn BaldwinThe value must be at least 4096 and defaults to 256KiB. 52a8089ea5SJohn Baldwin.It Fl K 53a8089ea5SJohn BaldwinEnable kernel mode which hands off incoming I/O controller connections to 54a8089ea5SJohn Baldwin.Xr nvmft 4 . 55a8089ea5SJohn Baldwin.It Fl P Ar port 56a8089ea5SJohn BaldwinUse 57a8089ea5SJohn Baldwin.Ar port 58a8089ea5SJohn Baldwinas the listen TCP port for the discovery controller service. 59a8089ea5SJohn BaldwinThe default value is 8009. 60a8089ea5SJohn Baldwin.It Fl d 61a8089ea5SJohn BaldwinEnable debug mode. 62a8089ea5SJohn BaldwinThe daemon sends any errors to standard output and does not place 63a8089ea5SJohn Baldwinitself in the background. 64a8089ea5SJohn Baldwin.It Fl p Ar port 65a8089ea5SJohn BaldwinUse 66a8089ea5SJohn Baldwin.Ar port 67a8089ea5SJohn Baldwinas the listen TCP port for the I/O controller service. 68a8089ea5SJohn BaldwinBy default an unused ephemeral port will be chosen. 69a8089ea5SJohn Baldwin.It Fl n Ar subnqn 70a8089ea5SJohn BaldwinThe Subsystem NVMe Qualified Name for the I/O controller. 71a8089ea5SJohn BaldwinIf an explicit NQN is not given, a default value is generated from the 72a8089ea5SJohn Baldwincurrent host's UUID obtained from the 73a8089ea5SJohn Baldwin.Vt kern.hostuuid 74a8089ea5SJohn Baldwinsysctl. 75a8089ea5SJohn Baldwin.It Fl t Ar transport 76a8089ea5SJohn BaldwinThe transport type to use. 77a8089ea5SJohn BaldwinThe default transport is 78a8089ea5SJohn Baldwin.Dq tcp . 79a8089ea5SJohn Baldwin.It Ar device 80a8089ea5SJohn BaldwinWhen implementing a user mode I/O controller, 81a8089ea5SJohn Baldwinone or more 82a8089ea5SJohn Baldwin.Ar device 83a8089ea5SJohn Baldwinarguments must be specified. 84a8089ea5SJohn BaldwinEach 85a8089ea5SJohn Baldwin.Ar device 86a8089ea5SJohn Baldwindescribes the backing store for a namespace exported to remote hosts. 87a8089ea5SJohn BaldwinDevices can be specified using one of the following syntaxes: 88a8089ea5SJohn Baldwin.Bl -tag -width "ramdisk:size" 89a8089ea5SJohn Baldwin.It Pa pathname 90a8089ea5SJohn BaldwinFile or disk device 91a8089ea5SJohn Baldwin.It ramdisk : Ns Ar size 92a8089ea5SJohn BaldwinAllocate a memory disk with the given 93a8089ea5SJohn Baldwin.Ar size . 94a8089ea5SJohn Baldwin.Ar size 95a8089ea5SJohn Baldwinmay use any of the suffixes supported by 96a8089ea5SJohn Baldwin.Xr expand_number 3 . 97a8089ea5SJohn Baldwin.El 98a8089ea5SJohn Baldwin.El 99a8089ea5SJohn Baldwin.Sh FILES 100a8089ea5SJohn Baldwin.Bl -tag -width "/var/run/nvmfd.pid" -compact 101a8089ea5SJohn Baldwin.It Pa /var/run/nvmfd.pid 102a8089ea5SJohn BaldwinThe default location of the 103a8089ea5SJohn Baldwin.Nm 104a8089ea5SJohn BaldwinPID file. 105a8089ea5SJohn Baldwin.El 106a8089ea5SJohn Baldwin.Sh EXIT STATUS 107a8089ea5SJohn Baldwin.Ex -std 108a8089ea5SJohn Baldwin.Sh SEE ALSO 109a8089ea5SJohn Baldwin.Xr ctl 4 , 110a8089ea5SJohn Baldwin.Xr nvmft 4 , 111a8089ea5SJohn Baldwin.Xr ctladm 8 , 112a8089ea5SJohn Baldwin.Xr ctld 8 113a8089ea5SJohn Baldwin.Sh HISTORY 114a8089ea5SJohn BaldwinThe 115a8089ea5SJohn Baldwin.Nm 116a8089ea5SJohn Baldwinmodule first appeared in 117a8089ea5SJohn Baldwin.Fx 15.0 . 118a8089ea5SJohn Baldwin.Sh AUTHORS 119a8089ea5SJohn BaldwinThe 120a8089ea5SJohn Baldwin.Nm 121a8089ea5SJohn Baldwinsubsystem was developed by 122a8089ea5SJohn Baldwin.An John Baldwin Aq Mt jhb@FreeBSD.org 123a8089ea5SJohn Baldwinunder sponsorship from Chelsio Communications, Inc. 124a8089ea5SJohn Baldwin.Sh BUGS 125a8089ea5SJohn BaldwinThe discovery controller and kernel mode functionality of 126a8089ea5SJohn Baldwin.Nm 127a8089ea5SJohn Baldwinshould be merged into 128a8089ea5SJohn Baldwin.Xr ctld 8 . 129a8089ea5SJohn Baldwin.Pp 1306549718bSJohn BaldwinAdditional parameters such as 131*399362baSJohn Baldwinqueue sizes should be configurable. 132