Subject: Re: [PATCH net-next 0/4] Make SMC-R can work with rxe devices

From: Dust Li <[email-masked]>
Date: Wed, 21 Aug 2024 09:03:24 +0800

On 2024-08-20 15:16:57, Jan Karcher wrote:
>
>
>On 09/08/2024 10:31, Liu Jian wrote:
>> Make SMC-R can work with rxe devices. This allows us to easily test and
>> learn the SMC-R protocol without relying on a physical RoCE NIC.
>
>Hi Liu,
>
>sorry for taking quite some time to answer.
>
>Looking into this i cannot accept this series at the given point of time.
>
>FWIU, RXE is mainly for testing and development and i agree that it would be
>a nice thing to have for SMC-R.
>The problem is that there is no clean layer for different RoCE devices
>currently. Adding RXE to it works but isn't clean.

Hi jan,

>Also we have no way to do a "test" build which would have such a device
>supported and a "prod" build which would not support it.

I don't quite understand what you mean here, Maybe I missed something ?
IIUC, we can control whether to use RXE by simpling insmod or rmmod rdma_rxe.ko

I believe having RXE support is beneficial for testing, especially in
simple physical networking setups where many corner cases are unlikely
to occur. By using RXE, we can easily configure unusual scenarios with
the existing iptables/netfilter infrastructure to simulate real-world
situations, such as packet dropping or network retransmission. This
approach can be advantageous for finding hidden bugs.

Best regards,
Dust

>
>Please give us time to investigate how to solve this in a neat way without
>building up to much technical debt.
>
>Thanks for your contribution and making us aware of this area of improvment.
>- Jan
>
>> 
>> Liu Jian (4):
>>    rdma/device: export ib_device_get_netdev()
>>    net/smc: use ib_device_get_netdev() helper to get netdev info
>>    net/smc: fix one NULL pointer dereference in smc_ib_is_sg_need_sync()
>>    RDMA/rxe: Set queue pair cur_qp_state when being queried
>> 
>>   drivers/infiniband/core/core_priv.h   |  3 ---
>>   drivers/infiniband/core/device.c      |  1 +
>>   drivers/infiniband/sw/rxe/rxe_verbs.c |  2 ++
>>   include/rdma/ib_verbs.h               |  2 ++
>>   net/smc/smc_ib.c                      | 10 +++++-----
>>   net/smc/smc_pnet.c                    |  6 +-----
>>   6 files changed, 11 insertions(+), 13 deletions(-)
>>