From: Robert Marko Date: Fri, 21 Feb 2025 17:20:20 +0000 (+0100) Subject: iproute2: update to 6.13 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=cb5fb841a535848274f2ed6668a426cfc55db876;p=openwrt%2Fopenwrt.git iproute2: update to 6.13 Update iproute2 to 6.13. Release notes: https://lwn.net/ml/all/20250120194053.3744d96b@hermes.local/ Allows us to drop multiple upstreamed patches: package/network/utils/iproute2/patches/013-endian.h.patch package/network/utils/iproute2/patches/014-basename.patch package/network/utils/iproute2/patches/015-limits.h.patch package/network/utils/iproute2/patches/016-limits.h.patch package/network/utils/iproute2/patches/017-linux-limits.patch package/network/utils/iproute2/patches/018-linux-limits.patch Link: https://github.com/openwrt/openwrt/pull/18067 Signed-off-by: Robert Marko --- diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index ca6793d49b..8cf77b36ab 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 -PKG_VERSION:=6.12.0 -PKG_RELEASE:=2 +PKG_VERSION:=6.13.0 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 -PKG_HASH:=bbd141ef7b5d0127cc2152843ba61f274dc32814fa3e0f13e7d07a080bef53d9 +PKG_HASH:=a43aa43338d882b44d01e549f3f105a92ae9feea32a82fae45a88e7a49302819 PKG_BUILD_PARALLEL:=1 PKG_BUILD_DEPENDS:=iptables PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/iproute2/patches/013-endian.h.patch b/package/network/utils/iproute2/patches/013-endian.h.patch deleted file mode 100644 index a81c3b5eec..0000000000 --- a/package/network/utils/iproute2/patches/013-endian.h.patch +++ /dev/null @@ -1,22 +0,0 @@ -From c8b3ecc22ed0edaf0259eaf7d1a5c04f300ad6e4 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 11:24:18 -0800 -Subject: [PATCH] libnetlink: add missing endian.h - -Need endian.h to get htobe64 with musl. - -Signed-off-by: Stephen Hemminger ---- - include/libnetlink.h | 1 + - 1 file changed, 1 insertion(+) - ---- a/include/libnetlink.h -+++ b/include/libnetlink.h -@@ -4,6 +4,7 @@ - - #include - #include -+#include - #include - #include - #include diff --git a/package/network/utils/iproute2/patches/014-basename.patch b/package/network/utils/iproute2/patches/014-basename.patch deleted file mode 100644 index f98238ec65..0000000000 --- a/package/network/utils/iproute2/patches/014-basename.patch +++ /dev/null @@ -1,29 +0,0 @@ -From fa3949b792e275f75d7d6200dc2036ef7fff8816 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 11:21:56 -0800 -Subject: [PATCH] rdma: add missing header for basename - -The function basename prototype is in libgen.h -Fixes build on musl - -Signed-off-by: Stephen Hemminger ---- - rdma/rdma.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/rdma/rdma.h -+++ b/rdma/rdma.h -@@ -10,11 +10,12 @@ - #include - #include - #include -+#include -+#include - #include - #include - #include - #include --#include - #include - - #include "list.h" diff --git a/package/network/utils/iproute2/patches/015-limits.h.patch b/package/network/utils/iproute2/patches/015-limits.h.patch deleted file mode 100644 index e212b88ebd..0000000000 --- a/package/network/utils/iproute2/patches/015-limits.h.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 7e23da91fca6e5dedeb32a7d308cf20982e897c3 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Tue, 10 Dec 2024 13:38:08 -0800 -Subject: [PATCH] ip: rearrange and prune header files - -The recent report of issues with missing limits.h impacting musl -suggested looking at what files are and are not included in ip code. - -The standard practice is to put standard headers first, then system, -then local headers. Used iwyu to get suggestions about missing -and extraneous headers. - -Signed-off-by: Stephen Hemminger ---- - ip/iplink.c | 13 +++++-------- - ip/ipnetns.c | 19 +++++++++---------- - 2 files changed, 14 insertions(+), 18 deletions(-) - ---- a/ip/iplink.c -+++ b/ip/iplink.c -@@ -11,17 +11,14 @@ - #include - #include - #include -+#include -+#include -+#include -+ - #include -+#include - #include --#include - #include --#include --#include --#include --#include --#include --#include --#include - - #include "rt_names.h" - #include "utils.h" ---- a/ip/ipnetns.c -+++ b/ip/ipnetns.c -@@ -1,21 +1,21 @@ - /* SPDX-License-Identifier: GPL-2.0 */ - #define _ATFILE_SOURCE --#include --#include --#include --#include --#include --#include --#include -+ - #include -+#include - #include --#include - #include - #include - #include - #include - #include --#include -+#include -+ -+#include -+#include -+#include -+#include -+#include - - #include - -@@ -23,7 +23,6 @@ - #include "list.h" - #include "ip_common.h" - #include "namespace.h" --#include "json_print.h" - - static int usage(void) - { diff --git a/package/network/utils/iproute2/patches/016-limits.h.patch b/package/network/utils/iproute2/patches/016-limits.h.patch deleted file mode 100644 index c20404f6fd..0000000000 --- a/package/network/utils/iproute2/patches/016-limits.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f982f30e166a02e09097de05129449031ba51f76 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 11:29:44 -0800 -Subject: [PATCH] cg_map: use limits.h - -Prefer limits.h from system headers over linux/limits.h -Fixes build with musl. - -Signed-off-by: Stephen Hemminger ---- - lib/cg_map.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/lib/cg_map.c -+++ b/lib/cg_map.c -@@ -9,8 +9,9 @@ - #include - #include - #include -+#include -+ - #include --#include - #include - - #include "cg_map.h" diff --git a/package/network/utils/iproute2/patches/017-linux-limits.patch b/package/network/utils/iproute2/patches/017-linux-limits.patch deleted file mode 100644 index 0c5d138402..0000000000 --- a/package/network/utils/iproute2/patches/017-linux-limits.patch +++ /dev/null @@ -1,178 +0,0 @@ -From ac547ad027e3d4e283202ecb487cf54707234491 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 14:15:59 -0800 -Subject: [PATCH] flower: replace XATTR_SIZE_MAX - -The flower tc parser was using XATTR_SIZE_MAX from linux/limits.h, -but this constant is intended to before extended filesystem attributes -not for TC. Replace it with a local define. - -This fixes issue on systems with musl and XATTR_SIZE_MAX is not -defined in limits.h there. - -Signed-off-by: Stephen Hemminger ---- - tc/f_flower.c | 37 ++++++++++++++++++++----------------- - 1 file changed, 20 insertions(+), 17 deletions(-) - ---- a/tc/f_flower.c -+++ b/tc/f_flower.c -@@ -10,7 +10,7 @@ - #include - #include - #include --#include -+ - #include - #include - #include -@@ -22,6 +22,9 @@ - #include "tc_util.h" - #include "rt_names.h" - -+/* maximum length of options string */ -+#define FLOWER_OPTS_MAX 4096 -+ - #ifndef IPPROTO_L2TP - #define IPPROTO_L2TP 115 - #endif -@@ -1252,7 +1255,7 @@ static int flower_check_enc_opt_key(char - - static int flower_parse_enc_opts_geneve(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - int data_len, key_len, mask_len, err; - char *token, *slash; - struct rtattr *nest; -@@ -1265,7 +1268,7 @@ static int flower_parse_enc_opts_geneve( - if (slash) - *slash = '\0'; - -- if ((key_len + strlen(token) > XATTR_SIZE_MAX) || -+ if ((key_len + strlen(token) > FLOWER_OPTS_MAX) || - flower_check_enc_opt_key(token)) - return -1; - -@@ -1275,7 +1278,7 @@ static int flower_parse_enc_opts_geneve( - - if (!slash) { - /* Pad out mask when not provided */ -- if (mask_len + strlen(token) > XATTR_SIZE_MAX) -+ if (mask_len + strlen(token) > FLOWER_OPTS_MAX) - return -1; - - data_len = strlen(rindex(token, ':')); -@@ -1288,7 +1291,7 @@ static int flower_parse_enc_opts_geneve( - continue; - } - -- if (mask_len + strlen(slash + 1) > XATTR_SIZE_MAX) -+ if (mask_len + strlen(slash + 1) > FLOWER_OPTS_MAX) - return -1; - - strcpy(&mask[mask_len], slash + 1); -@@ -1318,7 +1321,7 @@ static int flower_parse_enc_opts_geneve( - - static int flower_parse_enc_opts_vxlan(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - struct rtattr *nest; - char *slash; - int err; -@@ -1326,14 +1329,14 @@ static int flower_parse_enc_opts_vxlan(c - slash = strchr(str, '/'); - if (slash) { - *slash++ = '\0'; -- if (strlen(slash) > XATTR_SIZE_MAX) -+ if (strlen(slash) > FLOWER_OPTS_MAX) - return -1; - strcpy(mask, slash); - } else { - strcpy(mask, "0xffffffff"); - } - -- if (strlen(str) > XATTR_SIZE_MAX) -+ if (strlen(str) > FLOWER_OPTS_MAX) - return -1; - strcpy(key, str); - -@@ -1355,7 +1358,7 @@ static int flower_parse_enc_opts_vxlan(c - - static int flower_parse_enc_opts_erspan(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - struct rtattr *nest; - char *slash; - int err; -@@ -1364,7 +1367,7 @@ static int flower_parse_enc_opts_erspan( - slash = strchr(str, '/'); - if (slash) { - *slash++ = '\0'; -- if (strlen(slash) > XATTR_SIZE_MAX) -+ if (strlen(slash) > FLOWER_OPTS_MAX) - return -1; - strcpy(mask, slash); - } else { -@@ -1376,7 +1379,7 @@ static int flower_parse_enc_opts_erspan( - strcpy(mask + index, ":0xffffffff:0xff:0xff"); - } - -- if (strlen(str) > XATTR_SIZE_MAX) -+ if (strlen(str) > FLOWER_OPTS_MAX) - return -1; - strcpy(key, str); - -@@ -1398,7 +1401,7 @@ static int flower_parse_enc_opts_erspan( - - static int flower_parse_enc_opts_gtp(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - struct rtattr *nest; - char *slash; - int err; -@@ -1406,13 +1409,13 @@ static int flower_parse_enc_opts_gtp(cha - slash = strchr(str, '/'); - if (slash) { - *slash++ = '\0'; -- if (strlen(slash) > XATTR_SIZE_MAX) -+ if (strlen(slash) > FLOWER_OPTS_MAX) - return -1; - strcpy(mask, slash); - } else - strcpy(mask, "ff:ff"); - -- if (strlen(str) > XATTR_SIZE_MAX) -+ if (strlen(str) > FLOWER_OPTS_MAX) - return -1; - strcpy(key, str); - -@@ -1433,7 +1436,7 @@ static int flower_parse_enc_opts_gtp(cha - - static int flower_parse_enc_opts_pfcp(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - struct rtattr *nest; - char *slash; - int err; -@@ -1442,14 +1445,14 @@ static int flower_parse_enc_opts_pfcp(ch - slash = strchr(str, '/'); - if (slash) { - *slash++ = '\0'; -- if (strlen(slash) > XATTR_SIZE_MAX) -+ if (strlen(slash) > FLOWER_OPTS_MAX) - return -1; - strcpy(mask, slash); - } else { - strcpy(mask, "ff:ffffffffffffffff"); - } - -- if (strlen(str) > XATTR_SIZE_MAX) -+ if (strlen(str) > FLOWER_OPTS_MAX) - return -1; - strcpy(key, str); - diff --git a/package/network/utils/iproute2/patches/018-linux-limits.patch b/package/network/utils/iproute2/patches/018-linux-limits.patch deleted file mode 100644 index 8c2669acd9..0000000000 --- a/package/network/utils/iproute2/patches/018-linux-limits.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 458dce5d0431f0589aca1bc841904b5d1db3bbce Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 14:18:35 -0800 -Subject: [PATCH] uapi: remove no longer used linux/limits.h - -Code is now using limits.h instead. - -Signed-off-by: Stephen Hemminger ---- - include/uapi/linux/limits.h | 21 --------------------- - 1 file changed, 21 deletions(-) - delete mode 100644 include/uapi/linux/limits.h - ---- a/include/uapi/linux/limits.h -+++ /dev/null -@@ -1,21 +0,0 @@ --/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ --#ifndef _LINUX_LIMITS_H --#define _LINUX_LIMITS_H -- --#define NR_OPEN 1024 -- --#define NGROUPS_MAX 65536 /* supplemental group IDs are available */ --#define ARG_MAX 131072 /* # bytes of args + environ for exec() */ --#define LINK_MAX 127 /* # links a file may have */ --#define MAX_CANON 255 /* size of the canonical input queue */ --#define MAX_INPUT 255 /* size of the type-ahead buffer */ --#define NAME_MAX 255 /* # chars in a file name */ --#define PATH_MAX 4096 /* # chars in a path name including nul */ --#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */ --#define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */ --#define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */ --#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */ -- --#define RTSIG_MAX 32 -- --#endif diff --git a/package/network/utils/iproute2/patches/170-ip_tiny.patch b/package/network/utils/iproute2/patches/170-ip_tiny.patch index 149bcd2afc..fb95550630 100644 --- a/package/network/utils/iproute2/patches/170-ip_tiny.patch +++ b/package/network/utils/iproute2/patches/170-ip_tiny.patch @@ -25,7 +25,7 @@ sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \ --- a/ip/ip.c +++ b/ip/ip.c -@@ -61,11 +61,17 @@ static void usage(void) +@@ -59,11 +59,17 @@ static void usage(void) fprintf(stderr, "Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }\n" " ip [ -force ] -batch filename\n" @@ -43,7 +43,7 @@ " OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |\n" " -h[uman-readable] | -iec | -j[son] | -p[retty] |\n" " -f[amily] { inet | inet6 | mpls | bridge | link } |\n" -@@ -88,37 +94,49 @@ static const struct cmd { +@@ -86,37 +92,49 @@ static const struct cmd { int (*func)(int argc, char **argv); } cmds[] = { { "address", do_ipaddr },