9–iSCSI Configuration
iSCSI Offload in Linux Environments
148
AH0054601-00 B
iSCSI Offload in Linux Environments
The QLogic FastLinQ 41000 Series iSCSI software consists of a single kernel
module called qedi.ko (qedi). The qedi module is dependent on additional parts of
the Linux kernel for specific functionality:
qed.ko
is the Linux eCore kernel module used for common QLogic
FastLinQ 41000 Series hardware initialization routines.
scsi_transport_iscsi.ko
is the Linux iSCSI transport library used for
upcall and downcall for session management.
libiscsi.ko
is the Linux iSCSI library function needed for protocol data
unit (PDU) and task processing, as well as session memory management.
iscsi_boot_sysfs.ko
is the Linux iSCSI sysfs interface that provides
helpers to export iSCSI boot information.
uio.ko
is the Linux Userspace I/O interface, used for light L2 memory
mapping for iscsiuio.
These modules must be loaded before qedi can be functional. Otherwise, you
might encounter an “unresolved symbol” error. If the qedi module is installed in the
distribution update path, the requisite is automatically loaded by modprobe.
Differences from bnx2i
Some key differences exist between qedi—the driver for the QLogic FastLinQ
41000 Series Adapter (iSCSI)—and the previous QLogic iSCSI offload driver—
bnx2i for the QLogic 8400 Series Adapters. Some of these differences include:
qedi directly binds to a PCI function exposed by the CNA.
qedi does not sit on top of the net_device.
qedi is not dependent on a network driver such as bnx2x and cnic.
qedi is not dependent on cnic, but it has dependency on qed.
qedi is responsible for exporting boot information in sysfs using
iscsi_boot_sysfs.ko
, whereas bnx2i boot from SAN relies on the
iscsi_ibft.ko
module for exporting boot information.