Cannot offload network to DPU over infiniband

According to the image provided, the scenario we implemented involves two Ubuntu 24.04 servers, both connected via BlueField-3 network cards and a Mellanox MQM 8700 Infiniband switch over an Infiniband network.

In addition, the opensmd service is active and running on both the Ubuntu hosts and Ubuntu DPU operating systems.

Furthermore, the QSFP ports of the network card in the DPU operating system are recognized with the following names:
lo: UNKNOWN, 127.0.0.1/8, ::1/128
oob_net0: UP, 192.168.62.174/24, fe80::a288:c2ff:fe81:a210/64
tmfifo_net0: UP, 192.168.100.2/30, fe80::21a:caff:feff:ff01/64
ib0: UP
ib1: UP

And they are identified in the Ubuntu host operating system with the following names:
tmfifo_net0: UNKNOWN, fe80::21a:caff:feff:ff02/64
ibp68s0f1: UP
ibp68s0f0: UP

Additionally, some of the important variables from the mlxconfig query are as follows:

    INTERNAL_CPU_MODEL                          EMBEDDED_CPU(1)
    EXP_ROM_UEFI_ARM_ENABLE                     True(1) 
    INTERNAL_CPU_OFFLOAD_ENGINE                 ENABLED(0)
    LINK_TYPE_P1                                IB(1)               
    LINK_TYPE_P2                                IB(1)
    NVME_EMULATION_NUM_VF                       0                   
    NVME_EMULATION_NUM_PF                       1                   
    NVME_EMULATION_NUM_MSIX                     0                   
    NVME_EMULATION_NUM_VF_MSIX                  0                   
    PCI_SWITCH_EMULATION_NUM_PORT               16                  
    VIRTIO_BLK_EMULATION_NUM_VF                 0                   
    VIRTIO_BLK_EMULATION_NUM_PF                 0                   
    VIRTIO_BLK_EMULATION_NUM_MSIX               2                   
    VIRTIO_BLK_EMULATION_NUM_VF_MSIX            0                   
    VIRTIO_FS_EMULATION_NUM_VF                  0                   
    VIRTIO_FS_EMULATION_NUM_PF                  0                   
    VIRTIO_FS_EMULATION_NUM_MSIX                2                   
    VIRTIO_FS_EMULATION_NUM_VF_MSIX             0                   
    VIRTIO_NET_EMULATION_NUM_VF                 0                   
    VIRTIO_NET_EMULATION_NUM_PF                 0                   
    VIRTIO_NET_EMULATION_NUM_MSIX               2                   
    VIRTIO_NET_EMULATION_NUM_VF_MSIX            0                   
    PF_NUM_OF_VF_VALID                          True(1)             
    PF_NUM_PF_MSIX_VALID                        False(0)            
    PER_PF_NUM_SF                               True(1)             
    STRICT_VF_MSIX_NUM                          False(0)            
    NUM_PF_MSIX_VALID                           True(1)             
    NUM_OF_VFS                                  4                   
    NUM_OF_PF                                   3                   
    NUM_PF_MSIX                                 127                 
    NUM_VF_MSIX                                 11                  
    NUM_OF_VL_P1                                _4_VLs(3)           
    NUM_OF_TC_P1                                _8_TCs(0)           
    NUM_OF_PFC_P1                               8                   
    NUM_OF_VL_P2                                _4_VLs(3)           
    NUM_OF_TC_P2                                _8_TCs(0)           
    NUM_OF_PFC_P2                               8                   
    PF_NUM_PF_MSIX                              63                  
    PF_NUM_OF_VF                                32
    SRIOV_EN                                    True(1)             
    SRIOV_IB_ROUTING_MODE_P1                    LID(1)              
    SRIOV_IB_ROUTING_MODE_P2                    LID(1)
    SAFE_MODE_THRESHOLD                         10                  
    SAFE_MODE_ENABLE                            True(1)

Our challenges: Despite following the documentation step by step, we have still not been able to create VFs, SFs, and representors to perform network offloading over Infiniband. When executing the iperf3 command between the two Ubuntu systems on the host server, the load is being applied to the host server’s CPU instead of the DPU processor.