Add support for chiscsi iscsi helper

The Chelsio iSCSI target(chiscsi) serves as a drop in replacement for the IET target, aiming to provide the same functionality as IET. This spec aims at adding support for said target implementation as a pure iscsi_helper.

chiscsi supports offloading of iSCSI PDU’s when required hardware (supported Chelsio Network cards) is available but will work on any regular NIC as well. Offloading or lack thereof requires no user intervention once target drivers are installed. Implementation is initiator agnostic as well, no changes needed on initiator side.

Problem description

chiscsi target is not currently supported by openstack

  • For a Deployer trying to use offloaded iSCSI support on target side, no option is currently available.

  • Manual intervention is currently required to export volumes, as cinder does not understand chiscsi target implementation.

Use Cases

Proposed change

Add one more iscsi_helper option to cover chiscsi, the driver for this will interact with the chiscsi target implementation to provide same functionality as iet.

Use of offloading is dependent on required hardware being present but is completely optional. No intervention is required to enable offload and offloading will happen in a manner completely transparent to initiator side.

No initiator side changes are required to make use of chiscsi, with or without offload support. No extra configuration options are required.



Data model impact


REST API impact


Security impact


Notifications impact


Other end user impact


Performance Impact

If iSCSI offload is available, there is a significant performance boost to be gained. If offloading is not used, performance and resource usage would be roughly on par with IET or better.

Other deployer impact

  • No new config options are required besides an extra allowed value for ‘iscsi_helper’ that would need to be explicitly set to ‘chiscsi’.

  • chiscsi target needs to be installed before it can be used.

Developer impact




Primary assignee:


Other contributors:


Work Items

Using iet helper as base, create iscsi_helper for chiscsi, with equivalent commands for all required apis


  • Ability to use chiscsi target obviously depends on target driver being installed, and command utility available on path. No other dependencies


Current test for IET target should work just fine for chiscsi

Documentation Impact

None except listing chiscsi as an available iscsi_helper