NVMFT(4)
π NVMFT(4) β like, the whole kernel interfaces manual moment π
okay so bestie, gather round, because this is nvmft from the Kernel Interfaces Manual and it is genuinely iconic. it's giving "server side of a whole storage situation" and i need you to be seated for this. β¨
πΈ NAME πΈ
nvmft β the NVM Express over Fabrics CAM Target Layer frontend. yes that's a lot of words. yes it slays. no cap. π
β SYNOPSIS β
so if you wanna compile this subsystem into the kernel (main character energy, no modules), you put these lines in your kernel configuration file:
device nvmft
device ctl
OR β and honestly this is the lowkey easier route β you can load the subsystem as a module at boot time by putting this line in loader.conf(5):
nvmft_load="YES"
both are valid. pick your fighter. π«Ά
π¦ DESCRIPTION π¦
so the nvmft driver provides the kernel component of an NVM Express over Fabrics controller. and if that phrase just made your brain go brrr, here's the vibe check: the NVMeoF controller is the server β it's the one exporting namespaces backed by local files and volumes out to remote hosts. it's literally giving hostess with the mostest. π
nvmft follows the dynamic controller model, which means it creates a new dynamic controller for each association. every friend group gets its own controller. periodt.
nvmft is implemented as a ctl(4) frontend, and it exports CAM Target Layer LUNs as namespaces to remote hosts. those LUNs can be configured via ctladm(8). π
now, the associations between the local controller and remote hosts are managed using both the nvmfd(8) daemon and the ctladm(8) utility β it's a whole collab, not a solo era:
- the
nvmfd(8)daemon listens for new associations and handles the transport-specific negotiation before handing off connected queue pairs tonvmft, which then associates those queue pairs with a suitable controller instance. it's like a matchmaker but for queue pairs. π§ - the
nvlistctladm(8)command lists active controllers β your little roster of who's currently online. - the
nvterminatecommand terminates one or more associations between a local controller and a remote host. respectfully, it's the unfollow button. π
heads up bestie: associations require a supported transport β like nvmf_tcp(4) for associations using TCP/IP. no transport, no association. that's the rule. π
π SEE ALSO π
ctl(4)nvmf(4)nvmf_tcp(4)ctladm(8)nvmfd(8)
go read them, they're all besties. π
π₯ HISTORY π₯
the nvmft module first appeared in FreeBSD 15.0. a legend was born. β
π AUTHORS π
the nvmft subsystem was developed by John Baldwin <jhb@FreeBSD.org> under sponsorship from Chelsio Communications, Inc. we love a sponsored icon. π«Ά
and that's the whole page, bestie β no notes, ate and left no crumbs. π
sign-off: this Debian edition of the page is dated May 2, 2024, so go forth and export those namespaces responsibly β¨ππ
π¦ where this page comes from
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- π the page's license: BSD-2-Clause
- Copyright (c) 2024 Chelsio Communications, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms