diff mbox series

[net-next,RESEND,v3,2/2] net/smc: support ipv4 mapped ipv6 addr client for smc-r v2

Message ID 20241211023055.89610-3-guangguan.wang@linux.alibaba.com (mailing list archive)
State Accepted
Commit c12b2704a678b8a116eeb03f5b91895b90b4dd6f
Delegated to: Netdev Maintainers
Headers show
Series net/smc: Two features for smc-r | expand

Checks

Context Check Description
netdev/series_format success Posting correctly formatted
netdev/tree_selection success Clearly marked for net-next
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present success Fixes tag not required for -next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/build_tools success No tools touched, skip
netdev/cc_maintainers success CCed 12 of 12 maintainers
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 1 this patch: 1
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 11 lines checked
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
netdev/contest success net-next-2024-12-12--00-00 (tests: 795)

Commit Message

Guangguan Wang Dec. 11, 2024, 2:30 a.m. UTC
AF_INET6 is not supported for smc-r v2 client before, even if the
ipv6 addr is ipv4 mapped. Thus, when using AF_INET6, smc-r connection
will fallback to tcp, especially for java applications running smc-r.
This patch support ipv4 mapped ipv6 addr client for smc-r v2. Clients
using real global ipv6 addr is still not supported yet.

Signed-off-by: Guangguan Wang <guangguan.wang@linux.alibaba.com>
Reviewed-by: Wen Gu <guwen@linux.alibaba.com>
Reviewed-by: Dust Li <dust.li@linux.alibaba.com>
Reviewed-by: D. Wythe <alibuda@linux.alibaba.com>
Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
---
 net/smc/af_smc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Halil Pasic Dec. 11, 2024, 6:54 p.m. UTC | #1
On Wed, 11 Dec 2024 10:30:55 +0800
Guangguan Wang <guangguan.wang@linux.alibaba.com> wrote:

> AF_INET6 is not supported for smc-r v2 client before, even if the
> ipv6 addr is ipv4 mapped. Thus, when using AF_INET6, smc-r connection
> will fallback to tcp, especially for java applications running smc-r.
> This patch support ipv4 mapped ipv6 addr client for smc-r v2. Clients
> using real global ipv6 addr is still not supported yet.
> 
> Signed-off-by: Guangguan Wang <guangguan.wang@linux.alibaba.com>
> Reviewed-by: Wen Gu <guwen@linux.alibaba.com>
> Reviewed-by: Dust Li <dust.li@linux.alibaba.com>
> Reviewed-by: D. Wythe <alibuda@linux.alibaba.com>
> Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
> Reviewed-by: Halil Pasic <pasic@linux.ibm.com>

Sorry for the late remark, but does this need a Fixes tag? I mean
my gut feeling is that this is a bugfix -- i.e. should have been
working from the get go -- and not a mere enhancement. No strong
opinions here.

Halil
Paolo Abeni Dec. 12, 2024, 12:49 p.m. UTC | #2
On 12/11/24 19:54, Halil Pasic wrote:
> On Wed, 11 Dec 2024 10:30:55 +0800
> Guangguan Wang <guangguan.wang@linux.alibaba.com> wrote:
> 
>> AF_INET6 is not supported for smc-r v2 client before, even if the
>> ipv6 addr is ipv4 mapped. Thus, when using AF_INET6, smc-r connection
>> will fallback to tcp, especially for java applications running smc-r.
>> This patch support ipv4 mapped ipv6 addr client for smc-r v2. Clients
>> using real global ipv6 addr is still not supported yet.
>>
>> Signed-off-by: Guangguan Wang <guangguan.wang@linux.alibaba.com>
>> Reviewed-by: Wen Gu <guwen@linux.alibaba.com>
>> Reviewed-by: Dust Li <dust.li@linux.alibaba.com>
>> Reviewed-by: D. Wythe <alibuda@linux.alibaba.com>
>> Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
>> Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
> 
> Sorry for the late remark, but does this need a Fixes tag? I mean
> my gut feeling is that this is a bugfix -- i.e. should have been
> working from the get go -- and not a mere enhancement. No strong
> opinions here.

FTR: my take is this is really a new feature, as the ipv6 support for
missing from the smc-r v2 introduction and sub-system maintainers
already implicitly agreed on that via RB tags.

Cheers,

/P
Guangguan Wang Dec. 12, 2024, 1:13 p.m. UTC | #3
On 2024/12/12 20:49, Paolo Abeni wrote:
> On 12/11/24 19:54, Halil Pasic wrote:
>> On Wed, 11 Dec 2024 10:30:55 +0800
>> Guangguan Wang <guangguan.wang@linux.alibaba.com> wrote:
>>
>>> AF_INET6 is not supported for smc-r v2 client before, even if the
>>> ipv6 addr is ipv4 mapped. Thus, when using AF_INET6, smc-r connection
>>> will fallback to tcp, especially for java applications running smc-r.
>>> This patch support ipv4 mapped ipv6 addr client for smc-r v2. Clients
>>> using real global ipv6 addr is still not supported yet.
>>>
>>> Signed-off-by: Guangguan Wang <guangguan.wang@linux.alibaba.com>
>>> Reviewed-by: Wen Gu <guwen@linux.alibaba.com>
>>> Reviewed-by: Dust Li <dust.li@linux.alibaba.com>
>>> Reviewed-by: D. Wythe <alibuda@linux.alibaba.com>
>>> Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
>>> Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
>>
>> Sorry for the late remark, but does this need a Fixes tag? I mean
>> my gut feeling is that this is a bugfix -- i.e. should have been
>> working from the get go -- and not a mere enhancement. No strong
>> opinions here.
> 
> FTR: my take is this is really a new feature, as the ipv6 support for
> missing from the smc-r v2 introduction and sub-system maintainers
> already implicitly agreed on that via RB tags.
> 
> Cheers,
> 
> /P

Agree.
This patch enlarges the scope of using SMCRv2, so I think it is a new feature.

Thanks,
Guangguan Wang
Halil Pasic Dec. 12, 2024, 10:29 p.m. UTC | #4
On Thu, 12 Dec 2024 13:49:29 +0100
Paolo Abeni <pabeni@redhat.com> wrote:

> > Sorry for the late remark, but does this need a Fixes tag? I mean
> > my gut feeling is that this is a bugfix -- i.e. should have been
> > working from the get go -- and not a mere enhancement. No strong
> > opinions here.  
> 
> FTR: my take is this is really a new feature, as the ipv6 support for
> missing from the smc-r v2 introduction and sub-system maintainers
> already implicitly agreed on that via RB tags.

Works with me! Thanks!

Regards,
Halil
diff mbox series

Patch

diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
index 9d76e902fd77..c3f9c0457418 100644
--- a/net/smc/af_smc.c
+++ b/net/smc/af_smc.c
@@ -1116,7 +1116,10 @@  static int smc_find_proposal_devices(struct smc_sock *smc,
 	ini->check_smcrv2 = true;
 	ini->smcrv2.saddr = smc->clcsock->sk->sk_rcv_saddr;
 	if (!(ini->smcr_version & SMC_V2) ||
-	    smc->clcsock->sk->sk_family != AF_INET ||
+#if IS_ENABLED(CONFIG_IPV6)
+	    (smc->clcsock->sk->sk_family == AF_INET6 &&
+	     !ipv6_addr_v4mapped(&smc->clcsock->sk->sk_v6_rcv_saddr)) ||
+#endif
 	    !smc_clc_ueid_count() ||
 	    smc_find_rdma_device(smc, ini))
 		ini->smcr_version &= ~SMC_V2;