ISCSI_INITIATOR(4)

✨ ISCSI_INITIATOR(4) ✨

okay so bestie, welcome to the Kernel Interfaces Manual πŸ’– this is iscsi_initiator(4) and it's literally the kernel driver for the iSCSI protocol. sit down, get comfy, we're doing this 🫢


πŸŽ€ NAME πŸŽ€

iscsi_initiator β€” kernel driver for the iSCSI protocol


🌸 SYNOPSIS 🌸

so if you wanna compile this driver into the kernel (yes, into the kernel, main character energy πŸ‘‘), you drop these lines into your kernel configuration file:

device iscsi_initiator

or, alternatively, if you'd rather load the driver as a module at boot time, you put this line in loader.conf(5):

iscsi_initiator_load="YES"

pick your fighter, both are valid πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so first things first and I need you to hear me on this one: this driver, along with its userspace counterpart iscontrol(8), is obsolete. like, not "kinda old" obsolete, actually obsolete. users are advised to use iscsi(4) instead. periodt. πŸ’€

now for the lore: the iscsi_initiator implements the kernel side of the Internet SCSI (iSCSI) network protocol standard. its userland companion is iscontrol(8), and together they permit access to remote virtual SCSI devices via cam(4). iconic behaviour honestly ✨


🌈 SYSCTL VARIABLES 🌈

here's the knob situation, bestie:

  • debug.iscsi_initiator β€” set the debug-level. 0 means no debugging, 9 for maximum. so like, 0 to 9, dial it up as needed πŸ”₯
  • net.iscsi.isid β€” the initiator part of the Session Identifier.
  • kern.cam.cam_srch_hi=1 β€” allow search above LUN 7 for SCSI3 and greater devices.

and the following ones are informative only (they're just telling you stuff, not letting you set stuff, iykyk):

  • net.iscsi.driver_version β€” the current version of the driver.
  • net.iscsi.sessions β€” the number of current active sessions.
  • net.iscsi.n.targetname β€” is the targe name of session n.
  • net.iscsi.n.targeaddress β€” is the IP address of the target of session n.
  • net.iscsi.n.stats β€” are some statistics for session n
  • net.iscsi.n.pid β€” is the process id of the userland side of session n, see iscontrol(8).
ngl the n in those last four is a placeholder for the session number, so like net.iscsi.3.targetname vibes. 🧚

πŸ’œ FILES πŸ’œ

the iscsi_initiator driver creates the following:

  • /dev/iscsi β€” used to create new sessions.
  • /dev/iscsi%d β€” for each new session.

so one of them is the factory and the rest are the little session babies 🌸


⭐ SEE ALSO ⭐


πŸ“ STANDARDS πŸ“

iSCSI RFC 3720


πŸ‘‘ AUTHORS πŸ‘‘

This software was written by Daniel Braniss <danny@cs.huji.ac.il> πŸ’– give him his flowers, fr fr.


πŸ™ˆ BUGS πŸ™ˆ

The lun discovery method is old-fashioned.

and like, that's it, that's the whole bug note. she's old-fashioned, your honour 😭

and that's the whole page bestie, you ate it up πŸ’… this was the ISCSI_INITIATOR(4) page from the Debian distribution, dated October 9, 2014 β€” mwah, go forth and use iscsi(4) instead πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from