> On 11 Aug 2016, at 18:10, Max Gurtovoy <
ma...@mellanox.com> wrote:
>
> On 8/11/2016 6:33 PM, Ben RUBSON wrote:
>> Thank you very much Max for your help.
>>
>>
>>
>> I managed to compile the kernel with iSER support doing the 3 modifications below.
>>
>> I added the following to /usr/src/sys/conf/options :
>> ICL_KERNEL_PROXY opt_global.h
>>
>> And I added "options ICL_KERNEL_PROXY" to my kernel configuration file.
>>
>> I then faced this compilation error :
>> /usr/src/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:1358:2: error: implicit declaration of function 'icl_conn_handoff_sock'
>> icl_conn_handoff_sock(cs->cs_conn, so);
>> /usr/src/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:1358:2: note: did you mean 'icl_soft_handoff_sock'?
>> /usr/src/sys/dev/iscsi/icl.h:158:7: note: 'icl_soft_handoff_sock' declared here
>> int icl_soft_handoff_sock(struct icl_conn *ic, struct socket *so);
>>
>> So I replaced icl_conn_handoff_sock by icl_soft_handoff_sock (sounds like it is the needed correction).
>>
>> iscsictl -r now does not produce previous "invalid argument" error.
>>
>> @trasz : perhaps these modifications should be done in FreeBSD 11 source tree ?
I'm also rebuilding world with the following to see if it can help :
# cat /etc/src.conf
WITH_ICL_KERNEL_PROXY="YES"
WITH_OFED="YES"
>> Now I'm facing the following issue :
>>
>> # iscsictl -A -r -t iqn.2012-06.com.test:target1 -p 192.168.2.2
>> iscsid[8743]: 192.168.2.2 (iqn.2012-06.com.test:target1): failed to connect to 192.168.2.2 using ICL kernel proxy: ISCSIDCONNECT: Input/output error
>> kernel: ERROR: iser_connect_error: conn 0xfffff8096786f000
>> iscsid[1078]: child process 8743 terminated with exit status 1
>
> please increase the debug level in both initiator and target and sent it out.
Logs from the initiator :
iscsid[39668]: 192.168.2.2 (iqn.2012-06.com.test:target1): failed to connect to 192.168.2.2 using ICL kernel proxy: ISCSIDCONNECT: Input/output error
kernel: INFO: iser_free_ib_conn_res: freeing conn 0xfffff8048d276000 cma_id 0 qp 0
kernel: DEBUG: iser_conn_connect: before cv_wait: 0xfffff8048d276000
kernel: INFO: iser_cma_handler: event 1 status -19 conn 0xfffff8048d276000 id 0xfffff80880606800
kernel: ERROR: iser_connect_error: conn 0xfffff8048d276000
kernel: DEBUG: iser_conn_connect: after cv_wait: 0xfffff8048d276000
iscsid[1078]: child process 39668 terminated with exit status 1
Logs from the target (here I tried TGT) :
No logs, as if TGT did not receive anything.
If I try to connect without the "-r", here is what I get :
tgtd: login_start(502) Target iqn.2012-06.com.test:target1 is RDMA, but conn cid:0 from iqn.1994-09.org.freebsd:srv1 is TCP
So target is correctly iSER configured.
I tried without iSER on both sides, of course it works.
> From first look I think you need to configure the LIO target to work with demo mode.
I double-checked, LIO was in demo mode, I followed this guideline :
https://community.mellanox.com/docs/DOC-1468
One strange thing, on initiator, sounds like no packet goes through the interface when trying to connect :
# sysctl hw.mlxen1.stat.rx_packets hw.mlxen1.stat.tx_packets
hw.mlxen1.stat.rx_packets: 386
hw.mlxen1.stat.tx_packets: 409
# iscsictl -A -r -t iqn.2012-06.com.test:target1 -p 192.168.2.2
# sysctl hw.mlxen1.stat.rx_packets hw.mlxen1.stat.tx_packets
hw.mlxen1.stat.rx_packets: 386
hw.mlxen1.stat.tx_packets: 409