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@hauke-m.de>
This commit is contained in:
Hauke Mehrtens 2024-10-03 21:51:54 +02:00
parent 8c2dcd1518
commit 6262366381
8 changed files with 97 additions and 47 deletions

View File

@ -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

View File

@ -0,0 +1,68 @@
From 6a77abab92516e65f07f8657fc4e384c4541ce0e Mon Sep 17 00:00:00 2001
From: Dario Binacchi <dario.binacchi@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@amarulasolutions.com>
Signed-off-by: Stephen Hemminger <stephen@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>

View File

@ -1,15 +1,11 @@
From 53a89bfd86fff1a00cc77cabb8457a03eaa3bc7d Mon Sep 17 00:00:00 2001
From: Gabi Falk <gabifalk@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@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@gmx.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Stephen Hemminger <stephen@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>

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -362,7 +362,7 @@ check_tirpc()
@@ -368,7 +368,7 @@ check_tirpc()
check_mnl()
{

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -421,7 +421,7 @@ EOF
@@ -427,7 +427,7 @@ EOF
check_cap()
{

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -349,7 +349,7 @@ check_selinux()
@@ -355,7 +355,7 @@ check_selinux()
check_tirpc()
{

View File

@ -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

View File

@ -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
{