From: Greg Kroah-Hartman Date: Wed, 25 Oct 2023 10:15:00 +0000 (+0200) Subject: drop net-smc patches from 6.5 X-Git-Tag: v6.5.9~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8e2f0ae8557038d8ce069f393574f737f32ebbe8;p=thirdparty%2Fkernel%2Fstable-queue.git drop net-smc patches from 6.5 --- diff --git a/queue-6.5/net-smc-fix-smc-clc-failed-issue-when-netdevice-not-.patch b/queue-6.5/net-smc-fix-smc-clc-failed-issue-when-netdevice-not-.patch deleted file mode 100644 index 09d45dee612..00000000000 --- a/queue-6.5/net-smc-fix-smc-clc-failed-issue-when-netdevice-not-.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 61576515c6913e1ae2c4e7c01d832b985f66500e Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 11 Oct 2023 15:48:51 +0800 -Subject: net/smc: fix smc clc failed issue when netdevice not in init_net - -From: Albert Huang - -[ Upstream commit c68681ae46eaaa1640b52fe366d21a93b2185df5 ] - -If the netdevice is within a container and communicates externally -through network technologies such as VxLAN, we won't be able to find -routing information in the init_net namespace. To address this issue, -we need to add a struct net parameter to the smc_ib_find_route function. -This allow us to locate the routing information within the corresponding -net namespace, ensuring the correct completion of the SMC CLC interaction. - -Fixes: e5c4744cfb59 ("net/smc: add SMC-Rv2 connection establishment") -Signed-off-by: Albert Huang -Reviewed-by: Dust Li -Reviewed-by: Wenjia Zhang -Link: https://lore.kernel.org/r/20231011074851.95280-1-huangjie.albert@bytedance.com -Signed-off-by: Jakub Kicinski -Signed-off-by: Sasha Levin ---- - net/smc/af_smc.c | 3 ++- - net/smc/smc_ib.c | 7 ++++--- - net/smc/smc_ib.h | 2 +- - 3 files changed, 7 insertions(+), 5 deletions(-) - -diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c -index fa7b8015cd7bb..01bd576ffa5e1 100644 ---- a/net/smc/af_smc.c -+++ b/net/smc/af_smc.c -@@ -1199,6 +1199,7 @@ static int smc_connect_rdma_v2_prepare(struct smc_sock *smc, - (struct smc_clc_msg_accept_confirm_v2 *)aclc; - struct smc_clc_first_contact_ext *fce = - smc_get_clc_first_contact_ext(clc_v2, false); -+ struct net *net = sock_net(&smc->sk); - int rc; - - if (!ini->first_contact_peer || aclc->hdr.version == SMC_V1) -@@ -1208,7 +1209,7 @@ static int smc_connect_rdma_v2_prepare(struct smc_sock *smc, - memcpy(ini->smcrv2.nexthop_mac, &aclc->r0.lcl.mac, ETH_ALEN); - ini->smcrv2.uses_gateway = false; - } else { -- if (smc_ib_find_route(smc->clcsock->sk->sk_rcv_saddr, -+ if (smc_ib_find_route(net, smc->clcsock->sk->sk_rcv_saddr, - smc_ib_gid_to_ipv4(aclc->r0.lcl.gid), - ini->smcrv2.nexthop_mac, - &ini->smcrv2.uses_gateway)) -diff --git a/net/smc/smc_ib.c b/net/smc/smc_ib.c -index 9b66d6aeeb1ae..89981dbe46c94 100644 ---- a/net/smc/smc_ib.c -+++ b/net/smc/smc_ib.c -@@ -193,7 +193,7 @@ bool smc_ib_port_active(struct smc_ib_device *smcibdev, u8 ibport) - return smcibdev->pattr[ibport - 1].state == IB_PORT_ACTIVE; - } - --int smc_ib_find_route(__be32 saddr, __be32 daddr, -+int smc_ib_find_route(struct net *net, __be32 saddr, __be32 daddr, - u8 nexthop_mac[], u8 *uses_gateway) - { - struct neighbour *neigh = NULL; -@@ -205,7 +205,7 @@ int smc_ib_find_route(__be32 saddr, __be32 daddr, - - if (daddr == cpu_to_be32(INADDR_NONE)) - goto out; -- rt = ip_route_output_flow(&init_net, &fl4, NULL); -+ rt = ip_route_output_flow(net, &fl4, NULL); - if (IS_ERR(rt)) - goto out; - if (rt->rt_uses_gateway && rt->rt_gw_family != AF_INET) -@@ -235,6 +235,7 @@ static int smc_ib_determine_gid_rcu(const struct net_device *ndev, - if (smcrv2 && attr->gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP && - smc_ib_gid_to_ipv4((u8 *)&attr->gid) != cpu_to_be32(INADDR_NONE)) { - struct in_device *in_dev = __in_dev_get_rcu(ndev); -+ struct net *net = dev_net(ndev); - const struct in_ifaddr *ifa; - bool subnet_match = false; - -@@ -248,7 +249,7 @@ static int smc_ib_determine_gid_rcu(const struct net_device *ndev, - } - if (!subnet_match) - goto out; -- if (smcrv2->daddr && smc_ib_find_route(smcrv2->saddr, -+ if (smcrv2->daddr && smc_ib_find_route(net, smcrv2->saddr, - smcrv2->daddr, - smcrv2->nexthop_mac, - &smcrv2->uses_gateway)) -diff --git a/net/smc/smc_ib.h b/net/smc/smc_ib.h -index 034295676e881..ebcb05ede7f55 100644 ---- a/net/smc/smc_ib.h -+++ b/net/smc/smc_ib.h -@@ -113,7 +113,7 @@ void smc_ib_sync_sg_for_device(struct smc_link *lnk, - int smc_ib_determine_gid(struct smc_ib_device *smcibdev, u8 ibport, - unsigned short vlan_id, u8 gid[], u8 *sgid_index, - struct smc_init_info_smcrv2 *smcrv2); --int smc_ib_find_route(__be32 saddr, __be32 daddr, -+int smc_ib_find_route(struct net *net, __be32 saddr, __be32 daddr, - u8 nexthop_mac[], u8 *uses_gateway); - bool smc_ib_is_valid_local_systemid(void); - int smcr_nl_get_device(struct sk_buff *skb, struct netlink_callback *cb); --- -2.40.1 - diff --git a/queue-6.5/net-smc-support-smc-release-version-negotiation-in-c.patch b/queue-6.5/net-smc-support-smc-release-version-negotiation-in-c.patch deleted file mode 100644 index 23d2faab294..00000000000 --- a/queue-6.5/net-smc-support-smc-release-version-negotiation-in-c.patch +++ /dev/null @@ -1,243 +0,0 @@ -From a1e70723561808918567b223a81c29b808e3b664 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 17 Aug 2023 21:20:27 +0800 -Subject: net/smc: support smc release version negotiation in clc handshake - -From: Guangguan Wang - -[ Upstream commit 1e700948c9db0d09f691f715e8f4b947e51e35b5 ] - -Support smc release version negotiation in clc handshake based on -SMC v2, where no negotiation process for different releases, but -for different versions. The latest smc release version was updated -to v2.1. And currently there are two release versions of SMCv2, v2.0 -and v2.1. In the release version negotiation, client sends the preferred -release version by CLC Proposal Message, server makes decision for which -release version to use based on the client preferred release version and -self-supported release version (here choose the minimum release version -of the client preferred and server latest supported), then the decision -returns to client by CLC Accept Message. Client confirms the decision by -CLC Confirm Message. - -Client Server - Proposal(preferred release version) - ------------------------------------> - - Accept(accpeted release version) - min(client preferred, server latest supported) - <------------------------------------ - - Confirm(accpeted release version) - ------------------------------------> - -Signed-off-by: Guangguan Wang -Reviewed-by: Tony Lu -Reviewed-by: Jan Karcher -Signed-off-by: David S. Miller -Stable-dep-of: c68681ae46ea ("net/smc: fix smc clc failed issue when netdevice not in init_net") -Signed-off-by: Sasha Levin ---- - net/smc/af_smc.c | 21 +++++++++++++++++---- - net/smc/smc.h | 5 ++++- - net/smc/smc_clc.c | 14 +++++++------- - net/smc/smc_clc.h | 23 ++++++++++++++++++++++- - net/smc/smc_core.h | 1 + - 5 files changed, 51 insertions(+), 13 deletions(-) - -diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c -index c0e4e587b4994..077e5864fc441 100644 ---- a/net/smc/af_smc.c -+++ b/net/smc/af_smc.c -@@ -1198,8 +1198,7 @@ static int smc_connect_rdma_v2_prepare(struct smc_sock *smc, - struct smc_clc_msg_accept_confirm_v2 *clc_v2 = - (struct smc_clc_msg_accept_confirm_v2 *)aclc; - struct smc_clc_first_contact_ext *fce = -- (struct smc_clc_first_contact_ext *) -- (((u8 *)clc_v2) + sizeof(*clc_v2)); -+ smc_get_clc_first_contact_ext(clc_v2, false); - - if (!ini->first_contact_peer || aclc->hdr.version == SMC_V1) - return 0; -@@ -1218,6 +1217,9 @@ static int smc_connect_rdma_v2_prepare(struct smc_sock *smc, - return SMC_CLC_DECL_NOINDIRECT; - } - } -+ -+ ini->release_nr = fce->release; -+ - return 0; - } - -@@ -1386,6 +1388,13 @@ static int smc_connect_ism(struct smc_sock *smc, - struct smc_clc_msg_accept_confirm_v2 *aclc_v2 = - (struct smc_clc_msg_accept_confirm_v2 *)aclc; - -+ if (ini->first_contact_peer) { -+ struct smc_clc_first_contact_ext *fce = -+ smc_get_clc_first_contact_ext(aclc_v2, true); -+ -+ ini->release_nr = fce->release; -+ } -+ - rc = smc_v2_determine_accepted_chid(aclc_v2, ini); - if (rc) - return rc; -@@ -1420,7 +1429,7 @@ static int smc_connect_ism(struct smc_sock *smc, - } - - rc = smc_clc_send_confirm(smc, ini->first_contact_local, -- aclc->hdr.version, eid, NULL); -+ aclc->hdr.version, eid, ini); - if (rc) - goto connect_abort; - mutex_unlock(&smc_server_lgr_pending); -@@ -1996,6 +2005,10 @@ static int smc_listen_v2_check(struct smc_sock *new_smc, - } - } - -+ ini->release_nr = pclc_v2_ext->hdr.flag.release; -+ if (pclc_v2_ext->hdr.flag.release > SMC_RELEASE) -+ ini->release_nr = SMC_RELEASE; -+ - out: - if (!ini->smcd_version && !ini->smcr_version) - return rc; -@@ -2443,7 +2456,7 @@ static void smc_listen_work(struct work_struct *work) - /* send SMC Accept CLC message */ - accept_version = ini->is_smcd ? ini->smcd_version : ini->smcr_version; - rc = smc_clc_send_accept(new_smc, ini->first_contact_local, -- accept_version, ini->negotiated_eid); -+ accept_version, ini->negotiated_eid, ini); - if (rc) - goto out_unlock; - -diff --git a/net/smc/smc.h b/net/smc/smc.h -index 1f2b912c43d10..24745fde4ac26 100644 ---- a/net/smc/smc.h -+++ b/net/smc/smc.h -@@ -21,7 +21,10 @@ - - #define SMC_V1 1 /* SMC version V1 */ - #define SMC_V2 2 /* SMC version V2 */ --#define SMC_RELEASE 0 -+ -+#define SMC_RELEASE_0 0 -+#define SMC_RELEASE_1 1 -+#define SMC_RELEASE SMC_RELEASE_1 /* the latest release version */ - - #define SMCPROTO_SMC 0 /* SMC protocol, IPv4 */ - #define SMCPROTO_SMC6 1 /* SMC protocol, IPv6 */ -diff --git a/net/smc/smc_clc.c b/net/smc/smc_clc.c -index c90d9e5dda540..fb0be0817e8a5 100644 ---- a/net/smc/smc_clc.c -+++ b/net/smc/smc_clc.c -@@ -420,11 +420,11 @@ smc_clc_msg_decl_valid(struct smc_clc_msg_decline *dclc) - return true; - } - --static void smc_clc_fill_fce(struct smc_clc_first_contact_ext *fce, int *len) -+static void smc_clc_fill_fce(struct smc_clc_first_contact_ext *fce, int *len, int release_nr) - { - memset(fce, 0, sizeof(*fce)); - fce->os_type = SMC_CLC_OS_LINUX; -- fce->release = SMC_RELEASE; -+ fce->release = release_nr; - memcpy(fce->hostname, smc_hostname, sizeof(smc_hostname)); - (*len) += sizeof(*fce); - } -@@ -1019,7 +1019,7 @@ static int smc_clc_send_confirm_accept(struct smc_sock *smc, - memcpy(clc_v2->d1.eid, eid, SMC_MAX_EID_LEN); - len = SMCD_CLC_ACCEPT_CONFIRM_LEN_V2; - if (first_contact) -- smc_clc_fill_fce(&fce, &len); -+ smc_clc_fill_fce(&fce, &len, ini->release_nr); - clc_v2->hdr.length = htons(len); - } - memcpy(trl.eyecatcher, SMCD_EYECATCHER, -@@ -1063,10 +1063,10 @@ static int smc_clc_send_confirm_accept(struct smc_sock *smc, - memcpy(clc_v2->r1.eid, eid, SMC_MAX_EID_LEN); - len = SMCR_CLC_ACCEPT_CONFIRM_LEN_V2; - if (first_contact) { -- smc_clc_fill_fce(&fce, &len); -+ smc_clc_fill_fce(&fce, &len, ini->release_nr); - fce.v2_direct = !link->lgr->uses_gateway; - memset(&gle, 0, sizeof(gle)); -- if (ini && clc->hdr.type == SMC_CLC_CONFIRM) { -+ if (clc->hdr.type == SMC_CLC_CONFIRM) { - gle.gid_cnt = ini->smcrv2.gidlist.len; - len += sizeof(gle); - len += gle.gid_cnt * sizeof(gle.gid[0]); -@@ -1141,7 +1141,7 @@ int smc_clc_send_confirm(struct smc_sock *smc, bool clnt_first_contact, - - /* send CLC ACCEPT message across internal TCP socket */ - int smc_clc_send_accept(struct smc_sock *new_smc, bool srv_first_contact, -- u8 version, u8 *negotiated_eid) -+ u8 version, u8 *negotiated_eid, struct smc_init_info *ini) - { - struct smc_clc_msg_accept_confirm_v2 aclc_v2; - int len; -@@ -1149,7 +1149,7 @@ int smc_clc_send_accept(struct smc_sock *new_smc, bool srv_first_contact, - memset(&aclc_v2, 0, sizeof(aclc_v2)); - aclc_v2.hdr.type = SMC_CLC_ACCEPT; - len = smc_clc_send_confirm_accept(new_smc, &aclc_v2, srv_first_contact, -- version, negotiated_eid, NULL); -+ version, negotiated_eid, ini); - if (len < ntohs(aclc_v2.hdr.length)) - len = len >= 0 ? -EPROTO : -new_smc->clcsock->sk->sk_err; - -diff --git a/net/smc/smc_clc.h b/net/smc/smc_clc.h -index 5fee545c9a109..b923e89acafb0 100644 ---- a/net/smc/smc_clc.h -+++ b/net/smc/smc_clc.h -@@ -370,6 +370,27 @@ smc_get_clc_smcd_v2_ext(struct smc_clc_v2_extension *prop_v2ext) - ntohs(prop_v2ext->hdr.smcd_v2_ext_offset)); - } - -+static inline struct smc_clc_first_contact_ext * -+smc_get_clc_first_contact_ext(struct smc_clc_msg_accept_confirm_v2 *clc_v2, -+ bool is_smcd) -+{ -+ int clc_v2_len; -+ -+ if (clc_v2->hdr.version == SMC_V1 || -+ !(clc_v2->hdr.typev2 & SMC_FIRST_CONTACT_MASK)) -+ return NULL; -+ -+ if (is_smcd) -+ clc_v2_len = -+ offsetofend(struct smc_clc_msg_accept_confirm_v2, d1); -+ else -+ clc_v2_len = -+ offsetofend(struct smc_clc_msg_accept_confirm_v2, r1); -+ -+ return (struct smc_clc_first_contact_ext *)(((u8 *)clc_v2) + -+ clc_v2_len); -+} -+ - struct smcd_dev; - struct smc_init_info; - -@@ -382,7 +403,7 @@ int smc_clc_send_proposal(struct smc_sock *smc, struct smc_init_info *ini); - int smc_clc_send_confirm(struct smc_sock *smc, bool clnt_first_contact, - u8 version, u8 *eid, struct smc_init_info *ini); - int smc_clc_send_accept(struct smc_sock *smc, bool srv_first_contact, -- u8 version, u8 *negotiated_eid); -+ u8 version, u8 *negotiated_eid, struct smc_init_info *ini); - void smc_clc_init(void) __init; - void smc_clc_exit(void); - void smc_clc_get_hostname(u8 **host); -diff --git a/net/smc/smc_core.h b/net/smc/smc_core.h -index 1645fba0d2d38..5bbc16f851e05 100644 ---- a/net/smc/smc_core.h -+++ b/net/smc/smc_core.h -@@ -374,6 +374,7 @@ struct smc_init_info { - u8 is_smcd; - u8 smc_type_v1; - u8 smc_type_v2; -+ u8 release_nr; - u8 first_contact_peer; - u8 first_contact_local; - unsigned short vlan_id; --- -2.40.1 - diff --git a/queue-6.5/net-smc-support-smc-v2.x-features-validate.patch b/queue-6.5/net-smc-support-smc-v2.x-features-validate.patch deleted file mode 100644 index feeb334b808..00000000000 --- a/queue-6.5/net-smc-support-smc-v2.x-features-validate.patch +++ /dev/null @@ -1,179 +0,0 @@ -From 6a0b0a9ecf20c93587831891cd4b1f11447de56c Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 17 Aug 2023 21:20:29 +0800 -Subject: net/smc: support smc v2.x features validate - -From: Guangguan Wang - -[ Upstream commit 6ac1e6563f5915cd38b6bc6a8b26964b2252f751 ] - -Support SMC v2.x features validate for SMC v2.1. This is the frame -code for SMC v2.x features validate, and will take effects only when -the negotiated release version is v2.1 or later. - -For Server, v2.x features' validation should be done in smc_clc_srv_ -v2x_features_validate when receiving v2.1 or later CLC Proposal Message, -such as max conns, max links negotiation, the decision of the final -value of max conns and max links should be made in this function. -And final check for server when receiving v2.1 or later CLC Confirm -Message should be done in smc_clc_v2x_features_confirm_check. - -For client, v2.x features' validation should be done in smc_clc_clnt_ -v2x_features_validate when receiving v2.1 or later CLC Accept Message, -for example, the decision to accpt the accepted value or to decline -should be made in this function. - -Signed-off-by: Guangguan Wang -Reviewed-by: Tony Lu -Reviewed-by: Jan Karcher -Signed-off-by: David S. Miller -Stable-dep-of: c68681ae46ea ("net/smc: fix smc clc failed issue when netdevice not in init_net") -Signed-off-by: Sasha Levin ---- - net/smc/af_smc.c | 18 ++++++++++++++++++ - net/smc/smc_clc.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ - net/smc/smc_clc.h | 7 +++++++ - 3 files changed, 71 insertions(+) - -diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c -index 077e5864fc441..fa7b8015cd7bb 100644 ---- a/net/smc/af_smc.c -+++ b/net/smc/af_smc.c -@@ -1199,6 +1199,7 @@ static int smc_connect_rdma_v2_prepare(struct smc_sock *smc, - (struct smc_clc_msg_accept_confirm_v2 *)aclc; - struct smc_clc_first_contact_ext *fce = - smc_get_clc_first_contact_ext(clc_v2, false); -+ int rc; - - if (!ini->first_contact_peer || aclc->hdr.version == SMC_V1) - return 0; -@@ -1219,6 +1220,9 @@ static int smc_connect_rdma_v2_prepare(struct smc_sock *smc, - } - - ini->release_nr = fce->release; -+ rc = smc_clc_clnt_v2x_features_validate(fce, ini); -+ if (rc) -+ return rc; - - return 0; - } -@@ -1393,6 +1397,9 @@ static int smc_connect_ism(struct smc_sock *smc, - smc_get_clc_first_contact_ext(aclc_v2, true); - - ini->release_nr = fce->release; -+ rc = smc_clc_clnt_v2x_features_validate(fce, ini); -+ if (rc) -+ return rc; - } - - rc = smc_v2_determine_accepted_chid(aclc_v2, ini); -@@ -2443,6 +2450,10 @@ static void smc_listen_work(struct work_struct *work) - if (rc) - goto out_decl; - -+ rc = smc_clc_srv_v2x_features_validate(pclc, ini); -+ if (rc) -+ goto out_decl; -+ - mutex_lock(&smc_server_lgr_pending); - smc_close_init(new_smc); - smc_rx_init(new_smc); -@@ -2475,6 +2486,13 @@ static void smc_listen_work(struct work_struct *work) - goto out_decl; - } - -+ rc = smc_clc_v2x_features_confirm_check(cclc, ini); -+ if (rc) { -+ if (!ini->is_smcd) -+ goto out_unlock; -+ goto out_decl; -+ } -+ - /* finish worker */ - if (!ini->is_smcd) { - rc = smc_listen_rdma_finish(new_smc, cclc, -diff --git a/net/smc/smc_clc.c b/net/smc/smc_clc.c -index fb0be0817e8a5..f50d1b019a80f 100644 ---- a/net/smc/smc_clc.c -+++ b/net/smc/smc_clc.c -@@ -1156,6 +1156,52 @@ int smc_clc_send_accept(struct smc_sock *new_smc, bool srv_first_contact, - return len > 0 ? 0 : len; - } - -+int smc_clc_srv_v2x_features_validate(struct smc_clc_msg_proposal *pclc, -+ struct smc_init_info *ini) -+{ -+ struct smc_clc_v2_extension *pclc_v2_ext; -+ -+ if ((!(ini->smcd_version & SMC_V2) && !(ini->smcr_version & SMC_V2)) || -+ ini->release_nr < SMC_RELEASE_1) -+ return 0; -+ -+ pclc_v2_ext = smc_get_clc_v2_ext(pclc); -+ if (!pclc_v2_ext) -+ return SMC_CLC_DECL_NOV2EXT; -+ -+ return 0; -+} -+ -+int smc_clc_clnt_v2x_features_validate(struct smc_clc_first_contact_ext *fce, -+ struct smc_init_info *ini) -+{ -+ if (ini->release_nr < SMC_RELEASE_1) -+ return 0; -+ -+ return 0; -+} -+ -+int smc_clc_v2x_features_confirm_check(struct smc_clc_msg_accept_confirm *cclc, -+ struct smc_init_info *ini) -+{ -+ struct smc_clc_msg_accept_confirm_v2 *clc_v2 = -+ (struct smc_clc_msg_accept_confirm_v2 *)cclc; -+ struct smc_clc_first_contact_ext *fce = -+ smc_get_clc_first_contact_ext(clc_v2, ini->is_smcd); -+ -+ if (cclc->hdr.version == SMC_V1 || -+ !(cclc->hdr.typev2 & SMC_FIRST_CONTACT_MASK)) -+ return 0; -+ -+ if (ini->release_nr != fce->release) -+ return SMC_CLC_DECL_RELEASEERR; -+ -+ if (fce->release < SMC_RELEASE_1) -+ return 0; -+ -+ return 0; -+} -+ - void smc_clc_get_hostname(u8 **host) - { - *host = &smc_hostname[0]; -diff --git a/net/smc/smc_clc.h b/net/smc/smc_clc.h -index b923e89acafb0..32fa56bfa06d5 100644 ---- a/net/smc/smc_clc.h -+++ b/net/smc/smc_clc.h -@@ -45,6 +45,7 @@ - #define SMC_CLC_DECL_NOSEID 0x03030006 /* peer sent no SEID */ - #define SMC_CLC_DECL_NOSMCD2DEV 0x03030007 /* no SMC-Dv2 device found */ - #define SMC_CLC_DECL_NOUEID 0x03030008 /* peer sent no UEID */ -+#define SMC_CLC_DECL_RELEASEERR 0x03030009 /* release version negotiate failed */ - #define SMC_CLC_DECL_MODEUNSUPP 0x03040000 /* smc modes do not match (R or D)*/ - #define SMC_CLC_DECL_RMBE_EC 0x03050000 /* peer has eyecatcher in RMBE */ - #define SMC_CLC_DECL_OPTUNSUPP 0x03060000 /* fastopen sockopt not supported */ -@@ -404,6 +405,12 @@ int smc_clc_send_confirm(struct smc_sock *smc, bool clnt_first_contact, - u8 version, u8 *eid, struct smc_init_info *ini); - int smc_clc_send_accept(struct smc_sock *smc, bool srv_first_contact, - u8 version, u8 *negotiated_eid, struct smc_init_info *ini); -+int smc_clc_srv_v2x_features_validate(struct smc_clc_msg_proposal *pclc, -+ struct smc_init_info *ini); -+int smc_clc_clnt_v2x_features_validate(struct smc_clc_first_contact_ext *fce, -+ struct smc_init_info *ini); -+int smc_clc_v2x_features_confirm_check(struct smc_clc_msg_accept_confirm *cclc, -+ struct smc_init_info *ini); - void smc_clc_init(void) __init; - void smc_clc_exit(void); - void smc_clc_get_hostname(u8 **host); --- -2.40.1 - diff --git a/queue-6.5/series b/queue-6.5/series index 39ff780fbcc..78be5b94b0c 100644 --- a/queue-6.5/series +++ b/queue-6.5/series @@ -156,9 +156,6 @@ net-mlx5e-don-t-offload-internal-port-if-filter-devi.patch net-mlx5e-fix-vf-representors-reporting-zero-counter.patch net-tls-split-tls_rx_reader_lock.patch tcp-allow-again-tcp_disconnect-when-threads-are-wait.patch -net-smc-support-smc-release-version-negotiation-in-c.patch -net-smc-support-smc-v2.x-features-validate.patch -net-smc-fix-smc-clc-failed-issue-when-netdevice-not-.patch bluetooth-hci_event-fix-using-memcmp-when-comparing-.patch tcp_bpf-properly-release-resources-on-error-paths.patch mtd-rawnand-qcom-unmap-the-right-resource-upon-probe-failure.patch