This appears to be a regression or an issue with multiple RDMA capable NICs. Here is my setup:
# lspci output
03:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx Virtual Function]
04:00.0 Infiniband controller: Mellanox Technologies MT27700 Family [ConnectX-4 Virtual Function];
# ksmbd entries after starting
Aug 07 00:58:44 HOSTNAME_REDACTED kernel: ksmbd: smb_direct: netdev(enp3s0) rdma capable : true
Aug 07 00:58:44 HOSTNAME_REDACTED kernel: ksmbd: smb_direct: netdev(enp3s0) rdma capable : true
Aug 07 00:58:44 HOSTNAME_REDACTED kernel: ksmbd: smb_direct: netdev(ibp4s0) rdma capable : false
Aug 07 00:58:44 HOSTNAME_REDACTED kernel: ksmbd: smb_direct: netdev(ibp4s0) rdma capable : false
Aug 07 00:58:44 HOSTNAME_REDACTED kernel: ksmbd: smb_direct: netdev(vlan10) rdma capable : false
Aug 07 00:58:44 HOSTNAME_REDACTED kernel: ksmbd: smb_direct: netdev(vlan10) rdma capable : false
The ConnectX4 NIC is running in IB only mode. I have compiled 6.16 manually. Here are all IB options:
CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB4 is not set
# CONFIG_INFINIBAND_EFA is not set
# CONFIG_INFINIBAND_ERDMA is not set
# CONFIG_INFINIBAND_IRDMA is not set
# CONFIG_MANA_INFINIBAND is not set
# CONFIG_MLX4_INFINIBAND is not set
CONFIG_MLX5_INFINIBAND=m
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_OCRDMA is not set
# CONFIG_INFINIBAND_QEDR is not set
# CONFIG_INFINIBAND_USNIC is not set
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFINIBAND_RDMAVT is not set
CONFIG_INFINIBAND_IPOIB=y
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=y
# CONFIG_INFINIBAND_SRPT is not set
CONFIG_INFINIBAND_ISER=y
# CONFIG_INFINIBAND_ISERT is not set
# CONFIG_INFINIBAND_RTRS_CLIENT is not set
# CONFIG_INFINIBAND_RTRS_SERVER is not set
# CONFIG_INFINIBAND_OPA_VNIC is not set
CONFIG_SECURITY_INFINIBAND=y`
Fortunately I had kernel 6.13 lying around (been a while since I touched this), and ibp4s0 works. Windows output is as follows:
# With 6.13
> Get-SmbMultichannelConnection
Server Name Selected Client IP Server IP Client Interface Index Server Interface Index Client RSS Capable Client RDMA Capable
----------- -------- --------- --------- ---------------------- ---------------------- ------------------ -------------------
192.168.0.1 True 192.168.0.2 192.168.0.1 5 3 False True
# With 6.16
Server Name Selected Client IP Server IP Client Interface Index Server Interface Index Client RSS Capable Client RDMA Capable
----------- -------- --------- --------- ---------------------- ---------------------- ------------------ -------------------
192.168.0.1 True 192.168.0.2 192.168.0.1 5 3 True False
Any help is appreciated.
This appears to be a regression or an issue with multiple RDMA capable NICs. Here is my setup:
The ConnectX4 NIC is running in IB only mode. I have compiled 6.16 manually. Here are all IB options:
Fortunately I had kernel 6.13 lying around (been a while since I touched this), and
ibp4s0works. Windows output is as follows:Any help is appreciated.