[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a6b4b010-ffca-50ea-1296-3e01eacb4f53@huawei.com>
Date: Thu, 23 Nov 2023 14:15:00 +0800
From: shaozhengchao <shaozhengchao@...wei.com>
To: Wen Gu <guwen@...ux.alibaba.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, yuehaibing
<yuehaibing@...wei.com>, "Libin (Huawei)" <huawei.libin@...wei.com>, Dust Li
<dust.li@...ux.alibaba.com>, tonylu_linux <tonylu@...ux.alibaba.com>, "D.
Wythe" <alibuda@...ux.alibaba.com>
Subject: Re: [question] smc: how to enable SMC_LO feature
On 2023/11/23 10:21, Wen Gu wrote:
>
>
> On 2023/11/21 20:14, shaozhengchao wrote:
>> Hi Wen Gu:
>> Currently, I am interested in the SMC_LOOPBACK feature proposed
>> by you. Therefore, I use your patchset[1] to test the SMC_LO feature on
>> my x86_64 environment and kernel is based on linux-next, commit:
>> 5ba73bec5e7b.
>> The test result shows that the smc_lo feature cannot be enabled. Here's
>> my analysis:
>>
>> 1. Run the following command to perform the test, and then capture
>> packets on the lo device.
>> - serv: smc_run taskset -c <cpu> sockperf sr --tcp
>> - clnt: smc_run taskset -c <cpu> sockperf tp --tcp --msg-size=64000
>> -i 127.0.0.1 -t 30
>>
>> 2. Use Wireshark to open packets. It is found that the VCE port
>> replies with
>> SMC-R-Deline packets.
>> [cid:image001.png@...A1CB4.F1052C30]
>>
>> 3. Rx
>> When smc_listen_work invokes smc_listen_v2_check, the VCE port returns
>> a Decline packet because eid_cnt and flag.seid in the received packet
>> are both 0.
>>
>> 4. Tx
>> In smc_clc_send_proposal,
>> v2_ext->hdr.eid_cnt = smc_clc_eid_table.ueid_cnt;
>> v2_ext->hdr.flag.seid = smc_clc_eid_table.seid_enabled;
>>
>> When smc_clc_init, ueid_cnt=0, and in the x86_64 environment,
>> seid_enabled is
>> always equal to 0.
>>
>> So, I must call smc_clc_ueid_add function to increase ueid count?
>> But I don't see where operations can be added, may I missed something?
>>
>
> Hi Zhengchao Shao,
>
> Yes. When using SMC-D in non-s390 architecture (like x86 here), A common
> UEID should be set. It can be set by following steps:
>
> - Install smc-tools[1].
>
> - Run # smcd ueid add <ueid> in loopback test environment.
>
> EID works as an ID to indicate the max communication space of SMC.
> When SEID is
> unavailable, an UEID is required.
>
Hi Wen Gu:
Thank you for your reply. This is very useful for me. And I will
be happy to learn from it.
Thanks
Zhengchao Shao
> - Then run the test.
>
> Hope this works for you :)
>
> [1] https://github.com/ibm-s390-linux/smc-tools
>
> Regards,
> Wen Gu
>
>> Could you give me some advice? Thanks very much.
>>
>> Zhengchao Shao
>>
>>
>> [1]link:
>> https://patchwork.kernel.org/project/netdevbpf/cover/1695568613-125057-1-git-send-email-guwen@linux.alibaba.com/
>>
>
Powered by blists - more mailing lists