About iSCSI Devices
The Internet Small Computer System Interface (iSCSI) is an IP-based standard for connecting storage devices. iSCSI encapsulates SCSI commands in IP network packets to enable data transfer over long distances and sharing of storage by client systems. iSCSI uses the existing IP infrastructure and doesn't require the installation of fiber-optic cabling and interface adapters that are needed to implement Fibre Channel (FC) storage area networks.
A client system (iSCSI initiator) accesses the storage server (iSCSI target) over an IP network. To an iSCSI initiator, the storage appears to be locally attached.
An iSCSI target is typically a dedicated, network-connected storage device but it can also be a general-purpose computer.
Figure 7-1 shows a network where several iSCSI initiators can access the shared storage that's attached to an iSCSI target.
Figure 7-1 iSCSI Initiators and an iSCSI Target Connected over an IP-based Network

A hardware-based iSCSI initiator uses a dedicated iSCSI HBA. Oracle Linux enables iSCSI initiator functionality in software. The kernel-resident device driver uses the existing network interface card (NIC) and network stack to emulate a hardware iSCSI initiator. The iSCSI initiator functionality isn't available at the level of the system BIOS. Thus, you can't boot an Oracle Linux system from iSCSI storage.
To improve performance, some network cards implement TCP/IP Offload Engines (TOE) that can create a TCP frame for the iSCSI packet in hardware. Oracle Linux doesn't support TOE, although suitable drivers might be available directly from some card vendors.
For more information about LIO, see https://docs.kernel.org/target/tcmu-design.html.