已开启
update iproute2 version to 6.8.0 #185
Venland1创建于 2024年4月16日
update iproute2 version to 6.8.0 #185
已开启
Venland1创建于 2024年4月16日
从refs/pull/185/head合入到master
共 7 个文件变更+11-369
@@ -1,86 +0,0 @@
1-From 07bfa4482d49cc87a7b7c810c99397b9e8f794f6 Mon Sep 17 00:00:00 2001
2-From: wenglianfa <wenglianfa@huawei.com>
3-Date: Tue, 10 Oct 2023 15:55:26 +0800
4-Subject: [PATCH] rdma: Add support to dump SRQ resource in raw format
5- 
6-Add support to dump SRQ resource in raw format.
7- 
8-This patch relies on the corresponding kernel commit aebf8145e11a
9-("RDMA/core: Add support to dump SRQ resource in RAW format")
10- 
11-Example:
12-$ rdma res show srq -r
13-dev hns3 149000...
14- 
15-$ rdma res show srq -j -r
16-[{"ifindex":0,"ifname":"hns3","data":[149,0,0,...]}]
17- 
18-Signed-off-by: wenglianfa <wenglianfa@huawei.com>
19-Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
20-Signed-off-by: David Ahern <dsahern@kernel.org>
21----
22- rdma/res-srq.c | 20 ++++++++++++++++++--
23- rdma/res.h | 2 ++
24- 2 files changed, 20 insertions(+), 2 deletions(-)
25- 
26-diff --git a/rdma/res-srq.c b/rdma/res-srq.c
27-index 186ae281..cf9209d7 100644
28---- a/rdma/res-srq.c
29-+++ b/rdma/res-srq.c
30-@@ -162,6 +162,20 @@ out:
31- return -EINVAL;
32- }
33-
34-+static int res_srq_line_raw(struct rd *rd, const char *name, int idx,
35-+ struct nlattr **nla_line)
36-+{
37-+ if (!nla_line[RDMA_NLDEV_ATTR_RES_RAW])
38-+ return MNL_CB_ERROR;
39-+
40-+ open_json_object(NULL);
41-+ print_dev(rd, idx, name);
42-+ print_raw_data(rd, nla_line);
43-+ newline(rd);
44-+
45-+ return MNL_CB_OK;
46-+}
47-+
48- static int res_srq_line(struct rd *rd, const char *name, int idx,
49- struct nlattr **nla_line)
50- {
51-@@ -248,7 +262,8 @@ int res_srq_idx_parse_cb(const struct nlmsghdr *nlh, void *data)
52- name = mnl_attr_get_str(tb[RDMA_NLDEV_ATTR_DEV_NAME]);
53- idx = mnl_attr_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
54-
55-- return res_srq_line(rd, name, idx, tb);
56-+ return (rd->show_raw) ? res_srq_line_raw(rd, name, idx, tb) :
57-+ res_srq_line(rd, name, idx, tb);
58- }
59-
60- int res_srq_parse_cb(const struct nlmsghdr *nlh, void *data)
61-@@ -276,7 +291,8 @@ int res_srq_parse_cb(const struct nlmsghdr *nlh, void *data)
62- if (ret != MNL_CB_OK)
63- break;
64-
65-- ret = res_srq_line(rd, name, idx, nla_line);
66-+ ret = (rd->show_raw) ? res_srq_line_raw(rd, name, idx, nla_line) :
67-+ res_srq_line(rd, name, idx, nla_line);
68- if (ret != MNL_CB_OK)
69- break;
70- }
71-diff --git a/rdma/res.h b/rdma/res.h
72-index 70e51acd..e880c28b 100644
73---- a/rdma/res.h
74-+++ b/rdma/res.h
75-@@ -39,6 +39,8 @@ static inline uint32_t res_get_command(uint32_t command, struct rd *rd)
76- return RDMA_NLDEV_CMD_RES_CQ_GET_RAW;
77- case RDMA_NLDEV_CMD_RES_MR_GET:
78- return RDMA_NLDEV_CMD_RES_MR_GET_RAW;
79-+ case RDMA_NLDEV_CMD_RES_SRQ_GET:
80-+ return RDMA_NLDEV_CMD_RES_SRQ_GET_RAW;
81- default:
82- return command;
83- }
84---
85-2.25.1
86- 
@@ -1,204 +0,0 @@
1-From 3a882b6b4e0ee8c7cfd11176d36a98d30fc449d3 Mon Sep 17 00:00:00 2001
2-From: wenglianfa <wenglianfa@huawei.com>
3-Date: Fri, 29 Dec 2023 14:52:41 +0800
4-Subject: [PATCH] rdma: Fix the error of accessing string variable outside the
5- lifecycle
6- 
7-All these SPRINT_BUF(b) definitions are inside the 'if' block, but
8-accessed outside the 'if' block through the pointers 'comm'. This
9-leads to empty 'comm' attribute when querying resource information.
10-So move the definitions to the beginning of the functions to extend
11-their life cycle.
12- 
13-Before:
14-$ rdma res show srq
15-dev hns_0 srqn 0 type BASIC lqpn 18 pdn 5 pid 7775 comm
16- 
17-After:
18-$ rdma res show srq
19-dev hns_0 srqn 0 type BASIC lqpn 18 pdn 5 pid 7775 comm ib_send_bw
20- 
21-Fixes: 1808f002dfdd ("lib/fs: fix memory leak in get_task_name()")
22-Signed-off-by: wenglianfa <wenglianfa@huawei.com>
23-Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
24-Reviewed-by: Petr Machata <petrm@nvidia.com>
25-Acked-by: Andrea Claudi <aclaudi@redhat.com>
26-Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
27----
28- rdma/res-cmid.c | 3 +--
29- rdma/res-cq.c | 3 +--
30- rdma/res-ctx.c | 3 +--
31- rdma/res-mr.c | 3 +--
32- rdma/res-pd.c | 3 +--
33- rdma/res-qp.c | 3 +--
34- rdma/res-srq.c | 3 +--
35- rdma/stat.c | 3 +--
36- 8 files changed, 8 insertions(+), 16 deletions(-)
37- 
38-diff --git a/rdma/res-cmid.c b/rdma/res-cmid.c
39-index 8b6b3497..17a89cc4 100644
40---- a/rdma/res-cmid.c
41-+++ b/rdma/res-cmid.c
42-@@ -99,6 +99,7 @@ static int res_cm_id_line(struct rd *rd, const char *name, int idx,
43- uint32_t lqpn = 0, ps;
44- uint32_t cm_idn = 0;
45- char *comm = NULL;
46-+ SPRINT_BUF(b);
47-
48- if (!nla_line[RDMA_NLDEV_ATTR_RES_STATE] ||
49- !nla_line[RDMA_NLDEV_ATTR_RES_PS])
50-@@ -156,8 +157,6 @@ static int res_cm_id_line(struct rd *rd, const char *name, int idx,
51- goto out;
52-
53- if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) {
54-- SPRINT_BUF(b);
55--
56- pid = mnl_attr_get_u32(nla_line[RDMA_NLDEV_ATTR_RES_PID]);
57- if (!get_task_name(pid, b, sizeof(b)))
58- comm = b;
59-diff --git a/rdma/res-cq.c b/rdma/res-cq.c
60-index 420e935a..0cab3fe0 100644
61---- a/rdma/res-cq.c
62-+++ b/rdma/res-cq.c
63-@@ -63,6 +63,7 @@ static int res_cq_line(struct rd *rd, const char *name, int idx,
64- uint32_t cqn = 0;
65- uint64_t users;
66- uint32_t cqe;
67-+ SPRINT_BUF(b);
68-
69- if (!nla_line[RDMA_NLDEV_ATTR_RES_CQE] ||
70- !nla_line[RDMA_NLDEV_ATTR_RES_USECNT])
71-@@ -84,8 +85,6 @@ static int res_cq_line(struct rd *rd, const char *name, int idx,
72- goto out;
73-
74- if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) {
75-- SPRINT_BUF(b);
76--
77- pid = mnl_attr_get_u32(nla_line[RDMA_NLDEV_ATTR_RES_PID]);
78- if (!get_task_name(pid, b, sizeof(b)))
79- comm = b;
80-diff --git a/rdma/res-ctx.c b/rdma/res-ctx.c
81-index 0a84d016..235c837a 100644
82---- a/rdma/res-ctx.c
83-+++ b/rdma/res-ctx.c
84-@@ -13,13 +13,12 @@ static int res_ctx_line(struct rd *rd, const char *name, int idx,
85- char *comm = NULL;
86- uint32_t ctxn = 0;
87- uint32_t pid = 0;
88-+ SPRINT_BUF(b);
89-
90- if (!nla_line[RDMA_NLDEV_ATTR_RES_CTXN])
91- return MNL_CB_ERROR;
92-
93- if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) {
94-- SPRINT_BUF(b);
95--
96- pid = mnl_attr_get_u32(nla_line[RDMA_NLDEV_ATTR_RES_PID]);
97- if (!get_task_name(pid, b, sizeof(b)))
98- comm = b;
99-diff --git a/rdma/res-mr.c b/rdma/res-mr.c
100-index 693d98c1..f6c2534a 100644
101---- a/rdma/res-mr.c
102-+++ b/rdma/res-mr.c
103-@@ -31,6 +31,7 @@ static int res_mr_line(struct rd *rd, const char *name, int idx,
104- uint32_t pdn = 0;
105- uint32_t mrn = 0;
106- uint32_t pid = 0;
107-+ SPRINT_BUF(b);
108-
109- if (!nla_line[RDMA_NLDEV_ATTR_RES_MRLEN])
110- return MNL_CB_ERROR;
111-@@ -48,8 +49,6 @@ static int res_mr_line(struct rd *rd, const char *name, int idx,
112- goto out;
113-
114- if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) {
115-- SPRINT_BUF(b);
116--
117- pid = mnl_attr_get_u32(nla_line[RDMA_NLDEV_ATTR_RES_PID]);
118- if (!get_task_name(pid, b, sizeof(b)))
119- comm = b;
120-diff --git a/rdma/res-pd.c b/rdma/res-pd.c
121-index 40a3f9bd..8b9f7aa6 100644
122---- a/rdma/res-pd.c
123-+++ b/rdma/res-pd.c
124-@@ -16,6 +16,7 @@ static int res_pd_line(struct rd *rd, const char *name, int idx,
125- uint32_t pid = 0;
126- uint32_t pdn = 0;
127- uint64_t users;
128-+ SPRINT_BUF(b);
129-
130- if (!nla_line[RDMA_NLDEV_ATTR_RES_USECNT])
131- return MNL_CB_ERROR;
132-@@ -34,8 +35,6 @@ static int res_pd_line(struct rd *rd, const char *name, int idx,
133- nla_line[RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY]);
134-
135- if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) {
136-- SPRINT_BUF(b);
137--
138- pid = mnl_attr_get_u32(nla_line[RDMA_NLDEV_ATTR_RES_PID]);
139- if (!get_task_name(pid, b, sizeof(b)))
140- comm = b;
141-diff --git a/rdma/res-qp.c b/rdma/res-qp.c
142-index 145292aa..65ff54ab 100644
143---- a/rdma/res-qp.c
144-+++ b/rdma/res-qp.c
145-@@ -84,6 +84,7 @@ static int res_qp_line(struct rd *rd, const char *name, int idx,
146- uint32_t port = 0, pid = 0;
147- uint32_t pdn = 0;
148- char *comm = NULL;
149-+ SPRINT_BUF(b);
150-
151- if (!nla_line[RDMA_NLDEV_ATTR_RES_LQPN] ||
152- !nla_line[RDMA_NLDEV_ATTR_RES_SQ_PSN] ||
153-@@ -144,8 +145,6 @@ static int res_qp_line(struct rd *rd, const char *name, int idx,
154- goto out;
155-
156- if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) {
157-- SPRINT_BUF(b);
158--
159- pid = mnl_attr_get_u32(nla_line[RDMA_NLDEV_ATTR_RES_PID]);
160- if (!get_task_name(pid, b, sizeof(b)))
161- comm = b;
162-diff --git a/rdma/res-srq.c b/rdma/res-srq.c
163-index 1d35900a..8ab2538a 100644
164---- a/rdma/res-srq.c
165-+++ b/rdma/res-srq.c
166-@@ -183,13 +183,12 @@ static int res_srq_line(struct rd *rd, const char *name, int idx,
167- char qp_str[MAX_QP_STR_LEN] = {};
168- char *comm = NULL;
169- uint8_t type = 0;
170-+ SPRINT_BUF(b);
171-
172- if (!nla_line[RDMA_NLDEV_ATTR_RES_SRQN])
173- return MNL_CB_ERROR;
174-
175- if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) {
176-- SPRINT_BUF(b);
177--
178- pid = mnl_attr_get_u32(nla_line[RDMA_NLDEV_ATTR_RES_PID]);
179- if (!get_task_name(pid, b, sizeof(b)))
180- comm = b;
181-diff --git a/rdma/stat.c b/rdma/stat.c
182-index 46ed1765..bf78f7cc 100644
183---- a/rdma/stat.c
184-+++ b/rdma/stat.c
185-@@ -222,6 +222,7 @@ static int res_counter_line(struct rd *rd, const char *name, int index,
186- struct nlattr *hwc_table, *qp_table;
187- struct nlattr *nla_entry;
188- const char *comm = NULL;
189-+ SPRINT_BUF(b);
190- bool isfirst;
191- int err;
192-
193-@@ -247,8 +248,6 @@ static int res_counter_line(struct rd *rd, const char *name, int index,
194- return MNL_CB_OK;
195-
196- if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) {
197-- SPRINT_BUF(b);
198--
199- pid = mnl_attr_get_u32(nla_line[RDMA_NLDEV_ATTR_RES_PID]);
200- if (!get_task_name(pid, b, sizeof(b)))
201- comm = b;
202---
203-2.25.1
204- 
@@ -1,32 +0,0 @@
1-From cd4315de422ebeb2d9844ddc71ca5a431abc2c2f Mon Sep 17 00:00:00 2001
2-From: Junxian Huang <huangjunxian6@hisilicon.com>
3-Date: Tue, 10 Oct 2023 15:55:25 +0800
4-Subject: [PATCH] rdma: Update uapi headers
5- 
6-Update rdma_netlink.h file upto kernel commit aebf8145e11a
7-("RDMA/core: Add support to dump SRQ resource in RAW format")
8- 
9-Signed-off-by: wenglianfa <wenglianfa@huawei.com>
10-Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
11-Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
12-Signed-off-by: David Ahern <dsahern@kernel.org>
13----
14- rdma/include/uapi/rdma/rdma_netlink.h | 2 ++
15- 1 file changed, 2 insertions(+)
16- 
17-diff --git a/rdma/include/uapi/rdma/rdma_netlink.h b/rdma/include/uapi/rdma/rdma_netlink.h
18-index 92c528a0..84f775be 100644
19---- a/rdma/include/uapi/rdma/rdma_netlink.h
20-+++ b/rdma/include/uapi/rdma/rdma_netlink.h
21-@@ -299,6 +299,8 @@ enum rdma_nldev_command {
22-
23- RDMA_NLDEV_CMD_STAT_GET_STATUS,
24-
25-+ RDMA_NLDEV_CMD_RES_SRQ_GET_RAW,
26-+
27- RDMA_NLDEV_NUM_OPS
28- };
29-
30---
31-2.25.1
32- 
@@ -1,38 +0,0 @@
1-From c0a06885b944e1f14440f601a0b5266233814d54 Mon Sep 17 00:00:00 2001
2-From: gaoxingwang <gaoxingwang1@huawei.com>
3-Date: Fri, 10 Feb 2023 16:45:31 +0800
4-Subject: [PATCH] testsuite: fix testsuite build failure when iproute build
5- without libcap-devel
6- 
7-iproute allows to build without libcap.The testsuite will fail to
8-compile when libcap dose not exists.It was required in 6d68d7f85d.
9- 
10-Fixes: 6d68d7f85d ("testsuite: fix build failure")
11-Signed-off-by: gaoxingwang <gaoxingwang1@huawei.com>
12-Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
13----
14- testsuite/tools/Makefile | 6 +++++-
15- 1 file changed, 5 insertions(+), 1 deletion(-)
16- 
17-diff --git a/testsuite/tools/Makefile b/testsuite/tools/Makefile
18-index e0162ccc..0356ddae 100644
19---- a/testsuite/tools/Makefile
20-+++ b/testsuite/tools/Makefile
21-@@ -1,9 +1,13 @@
22- # SPDX-License-Identifier: GPL-2.0
23- CFLAGS=
24-+LDLIBS=
25- include ../../config.mk
26-+ifeq ($(HAVE_CAP),y)
27-+LDLIBS+= -lcap
28-+endif
29-
30- generate_nlmsg: generate_nlmsg.c ../../lib/libnetlink.a ../../lib/libutil.a
31-- $(QUIET_CC)$(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -I../../include -I../../include/uapi -include../../include/uapi/linux/netlink.h -o $@ $^ -lmnl -lcap
32-+ $(QUIET_CC)$(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -I../../include -I../../include/uapi -include../../include/uapi/linux/netlink.h -o $@ $^ -lmnl $(LDLIBS)
33-
34- clean:
35- rm -f generate_nlmsg
36---
37-2.27.0
38- 
@@ -1,8 +1,8 @@
1#needsrootforbuild1#needsrootforbuild
2Name: iproute2Name: iproute
3-Version: 6.6.03+Version: 6.8.0
4Epoch: 14Epoch: 1
5-Release: 25+Release: 1
6Summary: Linux network configuration utilities6Summary: Linux network configuration utilities
7License: GPLv2+ and Public Domain7License: GPLv2+ and Public Domain
8URL: https://kernel.org/pub/linux/utils/net/iproute2/8URL: https://kernel.org/pub/linux/utils/net/iproute2/
@@ -11,10 +11,6 @@ Source0: https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/iproute2-%
11Patch1: bugfix-iproute2-3.10.0-fix-maddr-show.patch 11Patch1: bugfix-iproute2-3.10.0-fix-maddr-show.patch
12Patch2: bugfix-iproute2-change-proc-to-ipnetnsproc-which-is-private.patch12Patch2: bugfix-iproute2-change-proc-to-ipnetnsproc-which-is-private.patch
13 13 
14-patch6000: backport-rdma-Update-uapi-headers.patch
15-patch6001: backport-rdma-Add-support-to-dump-SRQ-resource-in-raw-format.patch
16-patch6002: backport-rdma-Fix-the-error-of-accessing-string-variable-outs.patch
17- 
18Patch9000: feature-iproute-add-support-for-ipvlan-l2e-mode.patch14Patch9000: feature-iproute-add-support-for-ipvlan-l2e-mode.patch
19Patch9001: bugfix-iproute2-cancel-some-test-cases.patch15Patch9001: bugfix-iproute2-cancel-some-test-cases.patch
20 16 
@@ -49,7 +45,7 @@ Header files for iprout2
49%build45%build
50export LIBDIR='%{_libdir}'46export LIBDIR='%{_libdir}'
51export IPT_LIB_DIR='/%{_lib}/xtables'47export IPT_LIB_DIR='/%{_lib}/xtables'
52-%configure48+%configure --color auto
53%make_build49%make_build
54 50 
55%check51%check
@@ -64,7 +60,7 @@ export SBINDIR='%{_sbindir}'
64export LIBDIR='%{_libdir}'60export LIBDIR='%{_libdir}'
65export DOCDIR='%{_docdir}'61export DOCDIR='%{_docdir}'
66 62 
67-%make_install 63+%make_install
68 64 
69install -m 0755 -d %{buildroot}%{_includedir}65install -m 0755 -d %{buildroot}%{_includedir}
70install -m 0644 include/libnetlink.h %{buildroot}%{_includedir}/libnetlink.h66install -m 0644 include/libnetlink.h %{buildroot}%{_includedir}/libnetlink.h
@@ -74,7 +70,7 @@ install -m 0644 lib/libnetlink.a %{buildroot}%{_libdir}/libnetlink.a
74%defattr(-,root,root)70%defattr(-,root,root)
75%license COPYING71%license COPYING
76%doc README72%doc README
77-%attr(644,root,root) %config(noreplace) %{_libdir}/iproute2/*73+%attr(644,root,root) %config(noreplace) %{_datadir}/iproute2/*
78%{_sbindir}/*74%{_sbindir}/*
79%{_libdir}/tc/*75%{_libdir}/tc/*
80%{_datadir}/bash-completion/completions/*76%{_datadir}/bash-completion/completions/*
@@ -91,6 +87,12 @@ install -m 0644 lib/libnetlink.a %{buildroot}%{_libdir}/libnetlink.a
91%{_mandir}/*87%{_mandir}/*
92 88 
93%changelog89%changelog
90+* Tue Apr 16 2024 liweigang <liweiganga@uniontech.com> - 1:6.8.0-1
91+- Type: requirement
92+- ID: NA
93+- SUG: NA
94+- DESC: update to 6.8.0
95+ 
94* Mon Feb 26 2024 Ran Zhou <zhouran10@h-partners.com> - 1:6.6.0-296* Mon Feb 26 2024 Ran Zhou <zhouran10@h-partners.com> - 1:6.6.0-2
95- Type:feature97- Type:feature
96- ID:NA98- ID:NA
Binary files do not support preview
Binary files do not support preview