[openwrt/openwrt] iproute2: update to 6.11.0
LEDE Commits
lede-commits at lists.infradead.org
Sat Oct 5 03:40:40 PDT 2024
hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/626236638197523b9b6900deb6301022ee0434f0
commit 626236638197523b9b6900deb6301022ee0434f0
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Thu Oct 3 21:51:54 2024 +0200
iproute2: update to 6.11.0
Release Notes:
https://lore.kernel.org/netdev/20240717090601.20b2871f@hermes.local/T/
https://lwn.net/Articles/990423/
Remove patch `401-bridge-vlan.c-bridge-vlan.c-fix-build-with-gcc-14-on.patch`
because it is upstream now.
Backport two patches to fix build problems in bridge/mst.c
Small size increase:
38538 bin/packages/mips_24kc-old/base/devlink_6.9.0-r1_mips_24kc.ipk
7713 bin/packages/mips_24kc-old/base/genl_6.9.0-r1_mips_24kc.ipk
31875 bin/packages/mips_24kc-old/base/ip-bridge_6.9.0-r1_mips_24kc.ipk
187733 bin/packages/mips_24kc-old/base/ip-full_6.9.0-r1_mips_24kc.ipk
126538 bin/packages/mips_24kc-old/base/ip-tiny_6.9.0-r1_mips_24kc.ipk
7619 bin/packages/mips_24kc-old/base/nstat_6.9.0-r1_mips_24kc.ipk
20704 bin/packages/mips_24kc-old/base/rdma_6.9.0-r1_mips_24kc.ipk
37607 bin/packages/mips_24kc-old/base/ss_6.9.0-r1_mips_24kc.ipk
158909 bin/packages/mips_24kc-old/base/tc-bpf_6.9.0-r1_mips_24kc.ipk
160459 bin/packages/mips_24kc-old/base/tc-full_6.9.0-r1_mips_24kc.ipk
135846 bin/packages/mips_24kc-old/base/tc-tiny_6.9.0-r1_mips_24kc.ipk
38669 bin/packages/mips_24kc-new/base/devlink_6.11.0-r1_mips_24kc.ipk
7719 bin/packages/mips_24kc-new/base/genl_6.11.0-r1_mips_24kc.ipk
32676 bin/packages/mips_24kc-new/base/ip-bridge_6.11.0-r1_mips_24kc.ipk
188920 bin/packages/mips_24kc-new/base/ip-full_6.11.0-r1_mips_24kc.ipk
127313 bin/packages/mips_24kc-new/base/ip-tiny_6.11.0-r1_mips_24kc.ipk
7612 bin/packages/mips_24kc-new/base/nstat_6.11.0-r1_mips_24kc.ipk
21065 bin/packages/mips_24kc-new/base/rdma_6.11.0-r1_mips_24kc.ipk
37726 bin/packages/mips_24kc-new/base/ss_6.11.0-r1_mips_24kc.ipk
158921 bin/packages/mips_24kc-new/base/tc-bpf_6.11.0-r1_mips_24kc.ipk
160510 bin/packages/mips_24kc-new/base/tc-full_6.11.0-r1_mips_24kc.ipk
136352 bin/packages/mips_24kc-new/base/tc-tiny_6.11.0-r1_mips_24kc.ipk
Link: https://github.com/openwrt/openwrt/pull/16589
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
package/network/utils/iproute2/Makefile | 4 +-
.../010-bridge-mst-fix-a-musl-build-issue.patch | 68 ++++++++++++++++++++++
...ridge-mst-fix-a-further-musl-build-issue.patch} | 62 +++++++-------------
.../patches/140-keep_libmnl_optional.patch | 2 +-
.../patches/150-keep_libcap_optional.patch | 2 +-
.../iproute2/patches/155-keep_tirpc_optional.patch | 2 +-
.../patches/200-drop_libbsd_dependency.patch | 2 +-
.../patches/300-selinux-configurable.patch | 2 +-
8 files changed, 97 insertions(+), 47 deletions(-)
diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile
index 85d9f437f6..04a4df24c9 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.9.0
+PKG_VERSION:=6.11.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
-PKG_HASH:=2f643d09ea11a4a2a043c92e2b469b5f73228cbf241ae806760296ed0ec413d0
+PKG_HASH:=1f795398a04aeaacd06a8f6ace2cfd913c33fa5953ca99daae83bb5c534611c3
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=iptables
PKG_LICENSE:=GPL-2.0
diff --git a/package/network/utils/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch b/package/network/utils/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch
new file mode 100644
index 0000000000..1630415eb5
--- /dev/null
+++ b/package/network/utils/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch
@@ -0,0 +1,68 @@
+From 6a77abab92516e65f07f8657fc4e384c4541ce0e Mon Sep 17 00:00:00 2001
+From: Dario Binacchi <dario.binacchi at amarulasolutions.com>
+Date: Sun, 22 Sep 2024 16:50:10 +0200
+Subject: bridge: mst: fix a musl build issue
+
+This patch fixes a compilation error raised by the bump to version 6.11.0
+in Buildroot using musl as the C library for the cross-compilation
+toolchain.
+
+After setting the CFLGAS
+
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
+IPROUTE2_CFLAGS += -D__UAPI_DEF_IN6_ADDR=0 -D__UAPI_DEF_SOCKADDR_IN6=0 \
+ -D__UAPI_DEF_IPV6_MREQ=0
+endif
+
+to fix the following errors:
+
+In file included from ../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/arpa/inet.h:9,
+ from ../include/libnetlink.h:14,
+ from mst.c:10:
+../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:23:8: error: redefinition of 'struct in6_addr'
+ 23 | struct in6_addr {
+ | ^~~~~~~~
+In file included from ../include/uapi/linux/if_bridge.h:19,
+ from mst.c:7:
+../include/uapi/linux/in6.h:33:8: note: originally defined here
+ 33 | struct in6_addr {
+ | ^~~~~~~~
+../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:34:8: error: redefinition of 'struct sockaddr_in6'
+ 34 | struct sockaddr_in6 {
+ | ^~~~~~~~~~~~
+../include/uapi/linux/in6.h:50:8: note: originally defined here
+ 50 | struct sockaddr_in6 {
+ | ^~~~~~~~~~~~
+../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:42:8: error: redefinition of 'struct ipv6_mreq'
+ 42 | struct ipv6_mreq {
+ | ^~~~~~~~~
+../include/uapi/linux/in6.h:60:8: note: originally defined here
+ 60 | struct ipv6_mreq {
+
+I got this further errors
+
+../include/uapi/linux/in6.h:72:25: error: field 'flr_dst' has incomplete type
+ 72 | struct in6_addr flr_dst;
+ | ^~~~~~~
+../include/uapi/linux/if_bridge.h:711:41: error: field 'ip6' has incomplete type
+ 711 | struct in6_addr ip6;
+ | ^~~
+
+fixed by including the netinet/in.h header.
+
+Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
+Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
+---
+ bridge/mst.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/bridge/mst.c
++++ b/bridge/mst.c
+@@ -4,6 +4,7 @@
+ */
+
+ #include <stdio.h>
++#include <netinet/in.h>
+ #include <linux/if_bridge.h>
+ #include <net/if.h>
+
diff --git a/package/network/utils/iproute2/patches/401-bridge-vlan.c-bridge-vlan.c-fix-build-with-gcc-14-on.patch b/package/network/utils/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch
similarity index 57%
rename from package/network/utils/iproute2/patches/401-bridge-vlan.c-bridge-vlan.c-fix-build-with-gcc-14-on.patch
rename to package/network/utils/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch
index a90c9fc80a..1bdab398f7 100644
--- a/package/network/utils/iproute2/patches/401-bridge-vlan.c-bridge-vlan.c-fix-build-with-gcc-14-on.patch
+++ b/package/network/utils/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch
@@ -1,15 +1,11 @@
-From 53a89bfd86fff1a00cc77cabb8457a03eaa3bc7d Mon Sep 17 00:00:00 2001
-From: Gabi Falk <gabifalk at gmx.com>
-Date: Fri, 10 May 2024 14:36:12 +0000
-Subject: [PATCH] bridge/vlan.c: bridge/vlan.c: fix build with gcc 14 on musl
- systems
+From 043ef90e2fa94397eb5c85330889ca4146a6d58a Mon Sep 17 00:00:00 2001
+From: Dario Binacchi <dario.binacchi at amarulasolutions.com>
+Date: Sun, 22 Sep 2024 16:50:11 +0200
+Subject: bridge: mst: fix a further musl build issue
-On glibc based systems the definition of 'struct timeval' is pulled in
-with inclusion of <stdlib.h> header, but on musl based systems it
-doesn't work this way. Missing definition triggers an
-incompatible-pointer-types error with gcc 14 (warning on previous
-versions of gcc):
+This patch fixes the following build errors:
+In file included from mst.c:11:
../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
80 | _PRINT_FUNC(tv, const struct timeval *)
| ^~~~~~~
@@ -28,42 +24,28 @@ versions of gcc):
| ^~~~~
| |
| const struct timeval *
+../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC'
+ 80 | _PRINT_FUNC(tv, const struct timeval *)
+ | ^~~~~~~~~~~
+../include/json_print.h:50:42: note: expected 'const struct timeval *' but argument is of type 'const struct timeval *'
+ 50 | type value); \
+ | ^
+../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC'
+ 80 | _PRINT_FUNC(tv, const struct timeval *)
-Signed-off-by: Gabi Falk <gabifalk at gmx.com>
+Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
- bridge/vlan.c | 1 +
- bridge/vni.c | 1 +
- vdpa/vdpa.c | 1 +
- 3 files changed, 3 insertions(+)
+ bridge/mst.c | 1 +
+ 1 file changed, 1 insertion(+)
---- a/bridge/vlan.c
-+++ b/bridge/vlan.c
+--- a/bridge/mst.c
++++ b/bridge/mst.c
@@ -4,6 +4,7 @@
- #include <unistd.h>
- #include <fcntl.h>
- #include <sys/socket.h>
+ */
+
+ #include <stdio.h>
+#include <sys/time.h>
- #include <net/if.h>
#include <netinet/in.h>
#include <linux/if_bridge.h>
---- a/bridge/vni.c
-+++ b/bridge/vni.c
-@@ -10,6 +10,7 @@
- #include <string.h>
- #include <fcntl.h>
- #include <sys/socket.h>
-+#include <sys/time.h>
#include <net/if.h>
- #include <netinet/in.h>
- #include <linux/if_link.h>
---- a/vdpa/vdpa.c
-+++ b/vdpa/vdpa.c
-@@ -3,6 +3,7 @@
- #include <stdio.h>
- #include <getopt.h>
- #include <errno.h>
-+#include <sys/time.h>
- #include <linux/genetlink.h>
- #include <linux/if_ether.h>
- #include <linux/vdpa.h>
diff --git a/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch b/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch
index ee18f17d54..48a4ae7519 100644
--- a/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch
+++ b/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch
@@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
-@@ -362,7 +362,7 @@ check_tirpc()
+@@ -368,7 +368,7 @@ check_tirpc()
check_mnl()
{
diff --git a/package/network/utils/iproute2/patches/150-keep_libcap_optional.patch b/package/network/utils/iproute2/patches/150-keep_libcap_optional.patch
index 767c968e74..49873f87b1 100644
--- a/package/network/utils/iproute2/patches/150-keep_libcap_optional.patch
+++ b/package/network/utils/iproute2/patches/150-keep_libcap_optional.patch
@@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
-@@ -421,7 +421,7 @@ EOF
+@@ -427,7 +427,7 @@ EOF
check_cap()
{
diff --git a/package/network/utils/iproute2/patches/155-keep_tirpc_optional.patch b/package/network/utils/iproute2/patches/155-keep_tirpc_optional.patch
index 011dd48f8e..9e5e4330cf 100644
--- a/package/network/utils/iproute2/patches/155-keep_tirpc_optional.patch
+++ b/package/network/utils/iproute2/patches/155-keep_tirpc_optional.patch
@@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
-@@ -349,7 +349,7 @@ check_selinux()
+@@ -355,7 +355,7 @@ check_selinux()
check_tirpc()
{
diff --git a/package/network/utils/iproute2/patches/200-drop_libbsd_dependency.patch b/package/network/utils/iproute2/patches/200-drop_libbsd_dependency.patch
index e41be20f10..38193be156 100644
--- a/package/network/utils/iproute2/patches/200-drop_libbsd_dependency.patch
+++ b/package/network/utils/iproute2/patches/200-drop_libbsd_dependency.patch
@@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
-@@ -407,14 +407,8 @@ EOF
+@@ -413,14 +413,8 @@ EOF
if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then
echo "no"
else
diff --git a/package/network/utils/iproute2/patches/300-selinux-configurable.patch b/package/network/utils/iproute2/patches/300-selinux-configurable.patch
index 36ecc735a7..9f07d31768 100644
--- a/package/network/utils/iproute2/patches/300-selinux-configurable.patch
+++ b/package/network/utils/iproute2/patches/300-selinux-configurable.patch
@@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
-@@ -336,7 +336,7 @@ check_libbpf()
+@@ -342,7 +342,7 @@ check_libbpf()
check_selinux()
# SELinux is a compile time option in the ss utility
{
More information about the lede-commits
mailing list