Я пытаюсь включить SPDK crypto vbdev в ARM linux, работающем в SmartNIC. Но я не знаю, как это сделать.
SPDK crypto vbdev использует шифрование DPDK dev (crypto_aesni_mb) для шифрования / дешифрования.
Может кто-нибудь сообщить мне шаги по включению SPDK crypto vbdev в ARM linux?
Вот что я пытаюсь сделать:
У меня есть карта SmartNIC, на которой есть arm linux. Я запустил iscsiadm на arm linux, чтобы обнаружить удаленный LUN и войти в систему. Это заставляет удаленный LUN появляться на карте NIC как виртуальное устройство (/ dev / sdb).
После этого я запускаю iscsi_tgt на сетевой карте на существующем виртуальном LUN (/ dev / sdb):
iscsi_tgt -c iscsi.conf
Этот iscsi_tgt получается путем компиляции приложения SPDK 18.10 iscsi_tgt.
Используется iscsi.conf:
[Global]
ReactorMask 0x80
NoPci Yes
[iSCSI]
NodeBase "iqn.2018-09.000af7ec1574"
AuthFile /etc/iscsi.auth
MinConnectionsPerCore 4
Timeout 30
DiscoveryAuthMethod Auto
DefaultTime2Wait 2
DefaultTime2Retain 60
ImmediateData Yes
ErrorRecoveryLevel 0
[PortalGroup1]
Portal DA1 10.255.255.253:3260@0x80
[InitiatorGroup1]
InitiatorName ANY
Netmask 10.255.255.252/30
[AIO]
AIO /dev/sda AIO0
AIO /dev/sdb AIO1
[TargetNode1]
TargetName d0
TargetAlias iSCSI proxy storage
Mapping PortalGroup1 InitiatorGroup1
AuthMethod Auto
AuthGroup AuthGroup1
UseDigest Auto
LUN0 AIO0
LUN1 AIO1
QueueDepth 128
[crypto]
CRY AIO0 cryptoaio0 0123456789123456 crypto_aesni_mb
Этот iscsi.conf имеет конфигурации для включения шифрования в iscsi_tgt. Это устанавливает SPDK крипто-виртуальный bdev на карте. Я делаю это для шифрования вызовов ввода / вывода iscsi.
После этого на хосте я запускаю iscsiadm для настройки протокола iscsi с этой целью (iscsi_tgt на плате NIC).
Но в результате заголовки протокола iscsi (управляющая информация) и данные оба шифруются. Я хочу зашифровать только данные.
Я подозреваю, что я делаю что-то не так при включении шифрования в iscsi_tgt. Это может быть неправильный используемый файл конфигурации.
Может кто-нибудь помочь мне в криптовалюте bdev, чтобы шифровались / расшифровывались только вызовы ввода-вывода, а не управляющая информация?