How to specify GID index for RDMA?

Rob Scheepens <[email protected]>
Newsgroups org.kernel.vger.fio
Message-ID <[email protected]>
Hello All,
 
I’ve been trying to get an fio workload over RDMA working, where a limitation is that there is only ipv6 available for now, and that I have to specify GID index 2 in order to be able to use ipv4. For example, when using ib_write_bw, it looks like this:
 
softnic@ktu-vm1:~$ ib_write_bw -x 2 10.0.0.4 --port 18515
---------------------------------------------------------------------------------------
                    RDMA_Write BW Test
Dual-port       : OFF           Device         : roceP30832p0s0
Number of qps   : 1             Transport type : IB
Connection type : RC            Using SRQ      : OFF
PCIe relax order: ON
ibv_wr* API     : OFF
TX depth        : 128
CQ Moderation   : 1
Mtu             : 1024[B]
Link type       : Ethernet
GID index       : 2
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0000 QPN 0x0024 PSN 0xd4e107 RKey 0x00cd00 VAddr 0x007240fdfd2000
GID: 38:03:16:176:05:67:00:60:00:00:00:01:00:114:204:90
remote address: LID 0000 QPN 0x0024 PSN 0xb3e770 RKey 0x00cd00 VAddr 0x007bb8d3c51000
GID: 38:03:16:176:05:67:00:58:00:00:00:01:00:59:18:224
---------------------------------------------------------------------------------------
#bytes     #iterations    BW peak[MiB/sec]    BW average[MiB/sec]   MsgRate[Mpps]
Conflicting CPU frequency values detected: 2300.000000 != 3599.929000. CPU Frequency is not max.
65536      5000             10828.63            10828.55              0.173257
---------------------------------------------------------------------------------------
 
Here, -x specifies the GID index.
 
Now, when using fio, I couldn’t find a similar option in the documentation. The job files I used are:
 
Server:
[global]
ioengine=rdma
port=18515
bs=1m
size=100g
 
[receiver]
rw=read
iodepth=16
 
This appears to work:
 
receiver: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=rdma, iodepth=16
fio-3.28
Starting 1 process
fio: waiting for connection
 
On the client:

[global]
ioengine=rdma
hostname=10.0.0.5
port=18515
verb=write
bs=1m
size=100g
 
[sender]
rw=write
iodepth=1
iodepth_batch_complete=1
 
This eventually shows:
 
softnic@ktu-vm2:~$ fio fio_rdma_client.job
sender: (g=0): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=rdma, iodepth=1
fio-3.28
Starting 1 process
Jobs: 1 (f=0): [W(1)][-.-%][eta 00m:00s]
 
After a while, I get:
 
fio: event is RDMA_CM_EVENT_UNREACHABLE instead of RDMA_CM_EVENT_ESTABLISHED
fio: wait for RDMA_CM_EVENT_ESTABLISHED
 
Given the limitations mentioned above, is it possible to get RDMA working in this scenario?
 
Rob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.