Skip to content

Log entries report ConnectX4 is not rdma capable #331

Description

@dcontiveros

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions