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