Page MenuHomeFreeBSD

cam: Add a XPORT_NVMF for NVMe over Fabrics sims

Authored by jhb on Apr 9 2024, 11:03 PM.
Referenced Files
F86289515: D44713.id138058.diff
Tue, Jun 18, 5:21 AM
Unknown Object (File)
Mon, Jun 17, 7:20 PM
Unknown Object (File)
Mon, Jun 17, 7:09 PM
Unknown Object (File)
Mon, Jun 17, 3:58 AM
Unknown Object (File)
Thu, Jun 13, 6:27 PM
Unknown Object (File)
Mon, Jun 10, 5:16 PM
Unknown Object (File)
Sun, Jun 2, 10:53 PM
Unknown Object (File)
Mon, May 27, 2:11 AM



Sponsored by: Chelsio Communications

Diff Detail

rG FreeBSD src repository
Lint Skipped
Tests Skipped
Build Status
Buildable 57190
Build 54078: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Apr 9 2024, 11:03 PM

Looks good. Two minor nits to consider


Can this be a table lookup instead?


switch statements?

This revision is now accepted and ready to land.Apr 10 2024, 2:50 AM

I wonder actually if I should just move this function to libnvmf. nvmecontrol has a duplicate copy already. I'm sure the compiler compiles it down to a jump table that is stored as a lookup table already in practice.


The surrounding code here is all using if statements so I matched it.

Actually, though the rest of the function does transport first and then protocol, so I should maybe match that. I do wonder how much it matters to keep WITH_NVME here vs just always compiling these bits into camcontrol at this point.

ken added a subscriber: ken.
ken added inline comments.

I think we could probably just get rid of WITH_NVME at this point.


I think so too. nda hasn't been experimental for at least 5 years.
Not sure how that interacts with the rest of the build system, though I'm not entirely sure I care: We don't have WITHOUT_ATA or WITHOUT_SCSI


Today MK_NVME controls this in part because nvmecontrol doesn't build on all platforms, but Warner has a review to fix nvmecontrol, and once that is in I think we should remove MK_NVME and just build these bits unconditionally. I probably will wait for that to happen first before landing this and will fix these up to follow the sensible order instead.

jhb marked an inline comment as done.Apr 16 2024, 6:52 PM

Move nvmf_transport_type to libnvmf

This revision now requires review to proceed.Apr 16 2024, 8:45 PM

Rebase for removal of WITH_NVME

jhb marked 2 inline comments as done.Apr 18 2024, 6:00 PM
This revision is now accepted and ready to land.Apr 18 2024, 10:36 PM
This revision was automatically updated to reflect the committed changes.