[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <ad29f704-ae79-4c4b-2227-d0fa9a1ceee2@linux.alibaba.com>
Date: Thu, 23 Nov 2023 10:21:12 +0800
From: Wen Gu <guwen@...ux.alibaba.com>
To: shaozhengchao <shaozhengchao@...wei.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>, guwen@...ux.alibaba.com
Subject: Re: [question] smc: how to enable SMC_LO feature
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.
- 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