!100 [sync] PR-99: libhns: Get dmac from kernel driver
From: @openeuler-sync-bot Reviewed-by: @hellotcc Signed-off-by: @hellotcc
This commit is contained in:
commit
648c1d4556
58
0070-libhns-Get-dmac-from-kernel-driver.patch
Normal file
58
0070-libhns-Get-dmac-from-kernel-driver.patch
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
From 7d81108ba99d349558bc8c6d65c787efc31c52f4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Junxian Huang <huangjunxian6@hisilicon.com>
|
||||||
|
Date: Wed, 22 Nov 2023 16:07:14 +0800
|
||||||
|
Subject: [PATCH] libhns: Get dmac from kernel driver
|
||||||
|
|
||||||
|
driver inclusion
|
||||||
|
category: bugfix
|
||||||
|
bugzilla: https://gitee.com/openeuler/kernel/issues/I8HZ7W
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
As dmac is already resolved in kernel while creating AH, there is no
|
||||||
|
need to repeat the resolving in userspace. Prioritizes getting dmac
|
||||||
|
from kernel driver, unless kernel driver didn't response one.
|
||||||
|
|
||||||
|
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
|
||||||
|
---
|
||||||
|
kernel-headers/rdma/hns-abi.h | 2 +-
|
||||||
|
providers/hns/hns_roce_u_verbs.c | 10 +++++++---
|
||||||
|
2 files changed, 8 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h
|
||||||
|
index 785c4e1..8581df9 100644
|
||||||
|
--- a/kernel-headers/rdma/hns-abi.h
|
||||||
|
+++ b/kernel-headers/rdma/hns-abi.h
|
||||||
|
@@ -135,7 +135,7 @@ struct hns_roce_ib_create_qp_resp {
|
||||||
|
struct hns_roce_ib_create_ah_resp {
|
||||||
|
__u8 priority;
|
||||||
|
__u8 tc_mode;
|
||||||
|
- __u8 reserved[6];
|
||||||
|
+ __u8 dmac[6];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct hns_roce_ib_modify_qp_resp {
|
||||||
|
diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c
|
||||||
|
index 5e46f89..c906632 100644
|
||||||
|
--- a/providers/hns/hns_roce_u_verbs.c
|
||||||
|
+++ b/providers/hns/hns_roce_u_verbs.c
|
||||||
|
@@ -2210,9 +2210,13 @@ struct ibv_ah *hns_roce_u_create_ah(struct ibv_pd *pd, struct ibv_ah_attr *attr)
|
||||||
|
if (ibv_cmd_create_ah(pd, &ah->ibv_ah, attr, &resp.ibv_resp, sizeof(resp)))
|
||||||
|
goto err;
|
||||||
|
|
||||||
|
- if (hr_dev->link_type != HNS_DEV_LINK_TYPE_UB &&
|
||||||
|
- ibv_resolve_eth_l2_from_gid(pd->context, attr, ah->av.mac, NULL))
|
||||||
|
- goto err;
|
||||||
|
+ if (hr_dev->link_type != HNS_DEV_LINK_TYPE_UB) {
|
||||||
|
+ if (memcmp(ah->av.mac, resp.dmac, ETH_ALEN))
|
||||||
|
+ memcpy(ah->av.mac, resp.dmac, ETH_ALEN);
|
||||||
|
+ else if (ibv_resolve_eth_l2_from_gid(pd->context, attr,
|
||||||
|
+ ah->av.mac, NULL))
|
||||||
|
+ goto err;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (resp.tc_mode == HNS_ROCE_TC_MAP_MODE_DSCP)
|
||||||
|
ah->av.sl = resp.priority;
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: rdma-core
|
Name: rdma-core
|
||||||
Version: 41.0
|
Version: 41.0
|
||||||
Release: 19
|
Release: 20
|
||||||
Summary: RDMA core userspace libraries and daemons
|
Summary: RDMA core userspace libraries and daemons
|
||||||
License: GPLv2 or BSD
|
License: GPLv2 or BSD
|
||||||
Url: https://github.com/linux-rdma/rdma-core
|
Url: https://github.com/linux-rdma/rdma-core
|
||||||
@ -75,6 +75,7 @@ patch65: 0066-Update-kernel-headers-for-supporting-STARS-QP-in-HNS.patch
|
|||||||
patch66: 0067-libhns-Support-STARS-mode-QP.patch
|
patch66: 0067-libhns-Support-STARS-mode-QP.patch
|
||||||
patch67: 0068-Update-kernel-headers-for-supporting-write-with-noti.patch
|
patch67: 0068-Update-kernel-headers-for-supporting-write-with-noti.patch
|
||||||
patch68: 0069-libhns-Support-write-with-notify.patch
|
patch68: 0069-libhns-Support-write-with-notify.patch
|
||||||
|
patch70: 0070-libhns-Get-dmac-from-kernel-driver.patch
|
||||||
|
|
||||||
BuildRequires: binutils cmake >= 2.8.11 gcc libudev-devel pkgconfig pkgconfig(libnl-3.0)
|
BuildRequires: binutils cmake >= 2.8.11 gcc libudev-devel pkgconfig pkgconfig(libnl-3.0)
|
||||||
BuildRequires: pkgconfig(libnl-route-3.0) valgrind-devel systemd systemd-devel
|
BuildRequires: pkgconfig(libnl-route-3.0) valgrind-devel systemd systemd-devel
|
||||||
@ -322,6 +323,12 @@ fi
|
|||||||
%{_mandir}/*
|
%{_mandir}/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Nov 22 2023 Ran Zhou <zhouran10@h-partners.com> - 41.0-20
|
||||||
|
- Type: bugfix
|
||||||
|
- ID: NA
|
||||||
|
- SUG: NA
|
||||||
|
- DESC: Get dmac from kernel driver
|
||||||
|
|
||||||
* Tue Oct 31 2023 Ran Zhou <zhouran10@h-partners.com> - 41.0-19
|
* Tue Oct 31 2023 Ran Zhou <zhouran10@h-partners.com> - 41.0-19
|
||||||
- Type: requirement
|
- Type: requirement
|
||||||
- ID: NA
|
- ID: NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user