[LEDE-DEV] [PATCHv2] iproute2: update to v4.14.1

Russell Senior russell at personaltelco.net
Mon Nov 27 23:15:50 PST 2017


Preserves optionality of libmnl by letting configuration 
script follow the HAVE_MNL environment variable.

Signed-off-by: Russell Senior <russell at personaltelco.net>
---
 package/network/utils/iproute2/Makefile            |  5 ++--
 .../utils/iproute2/patches/007-no_arpd.patch       |  6 ++--
 .../utils/iproute2/patches/008-no_netem.patch      |  2 +-
 .../patches/009-keep_libmnl_optional.patch         | 11 ++++++++
 .../iproute2/patches/120-libnetlink-pic.patch      |  7 ++---
 ...pi-libc-compat.h-do-not-rely-on-__GLIBC__.patch | 20 ++++++-------
 ...er.h-prevent-redefinition-of-struct-ethhd.patch | 16 +++++------
 .../utils/iproute2/patches/300-ip_tiny.patch       | 22 +++++++--------
 .../iproute2/patches/900-drop_FAILED_POLICY.patch  | 33 +++++++---------------
 .../iproute2/patches/950-add-cake-to-tc.patch      |  8 +++---
 10 files changed, 64 insertions(+), 66 deletions(-)
 create mode 100644 package/network/utils/iproute2/patches/009-keep_libmnl_optional.patch

diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile
index c2771f0b59..3e1db33258 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:=4.13.0
+PKG_VERSION:=4.14.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
-PKG_HASH:=9cfb81edf8c8509e03daa77cf62aead01c4a827132f6c506578f94cc19415c50
+PKG_HASH:=d43ac068afcc350a448f4581b6e292331ef7e4e7aa746e34981582d5fdb10067
 PKG_BUILD_PARALLEL:=1
 PKG_BUILD_DEPENDS:=iptables
 PKG_LICENSE:=GPL-2.0
@@ -21,6 +21,7 @@ PKG_CPE_ID:=cpe:/a:iproute2_project:iproute2
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
+include $(INCLUDE_DIR)/kernel.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/iproute2/Default
diff --git a/package/network/utils/iproute2/patches/007-no_arpd.patch b/package/network/utils/iproute2/patches/007-no_arpd.patch
index 94fb197a45..ac216ba825 100644
--- a/package/network/utils/iproute2/patches/007-no_arpd.patch
+++ b/package/network/utils/iproute2/patches/007-no_arpd.patch
@@ -2,7 +2,7 @@
 +++ b/misc/Makefile
 @@ -5,9 +5,9 @@ TARGETS=ss nstat ifstat rtacct lnstat
  
- include ../Config
+ include ../config.mk
  
 -ifeq ($(HAVE_BERKELEY_DB),y)
 -	TARGETS += arpd
@@ -11,5 +11,5 @@
 +#	TARGETS += arpd
 +#endif
  
- ifeq ($(HAVE_SELINUX),y)
- 	LDLIBS += $(shell $(PKG_CONFIG) --libs libselinux)
+ all: $(TARGETS)
+ 
diff --git a/package/network/utils/iproute2/patches/008-no_netem.patch b/package/network/utils/iproute2/patches/008-no_netem.patch
index 64896387f9..2e088f1993 100644
--- a/package/network/utils/iproute2/patches/008-no_netem.patch
+++ b/package/network/utils/iproute2/patches/008-no_netem.patch
@@ -1,7 +1,7 @@
 --- a/Makefile
 +++ b/Makefile
 @@ -49,7 +49,7 @@ WFLAGS += -Wmissing-declarations -Wold-s
- CFLAGS := $(WFLAGS) $(CCOPTS) -I../include $(DEFINES) $(CFLAGS)
+ CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS)
  YACCFLAGS = -d -t -v
  
 -SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma man
diff --git a/package/network/utils/iproute2/patches/009-keep_libmnl_optional.patch b/package/network/utils/iproute2/patches/009-keep_libmnl_optional.patch
new file mode 100644
index 0000000000..7a5a702237
--- /dev/null
+++ b/package/network/utils/iproute2/patches/009-keep_libmnl_optional.patch
@@ -0,0 +1,11 @@
+--- a/configure
++++ b/configure
+@@ -292,7 +292,7 @@ check_selinux()
+ 
+ check_mnl()
+ {
+-	if ${PKG_CONFIG} libmnl --exists
++	if [ "${HAVE_MNL}" = "y" ] && ${PKG_CONFIG} libmnl --exists
+ 	then
+ 		echo "HAVE_MNL:=y" >>$CONFIG
+ 		echo "yes"
diff --git a/package/network/utils/iproute2/patches/120-libnetlink-pic.patch b/package/network/utils/iproute2/patches/120-libnetlink-pic.patch
index ebe122e005..83ce66d976 100644
--- a/package/network/utils/iproute2/patches/120-libnetlink-pic.patch
+++ b/package/network/utils/iproute2/patches/120-libnetlink-pic.patch
@@ -1,11 +1,10 @@
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -12,7 +12,7 @@ ifeq ($(HAVE_MNL),y)
- 	CFLAGS += -DHAVE_LIBMNL $(shell $(PKG_CONFIG) libmnl --cflags)
- endif
+@@ -1,6 +1,6 @@
+ include ../config.mk
  
 -CFLAGS += -fPIC
 +CFLAGS += $(FPIC)
  
  UTILOBJ = utils.o rt_names.o ll_types.o ll_proto.o ll_addr.o \
- 	inet_proto.o namespace.o json_writer.o \
+ 	inet_proto.o namespace.o json_writer.o json_print.o \
diff --git a/package/network/utils/iproute2/patches/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch b/package/network/utils/iproute2/patches/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
index b0ed599196..e3364ad059 100644
--- a/package/network/utils/iproute2/patches/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
+++ b/package/network/utils/iproute2/patches/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
@@ -15,9 +15,9 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  include/uapi/linux/libc-compat.h | 18 +++++++++---------
  1 file changed, 9 insertions(+), 9 deletions(-)
 
---- a/include/linux/libc-compat.h
-+++ b/include/linux/libc-compat.h
-@@ -48,13 +48,13 @@
+--- a/include/uapi/linux/libc-compat.h
++++ b/include/uapi/linux/libc-compat.h
+@@ -49,13 +49,13 @@
  #ifndef _LIBC_COMPAT_H
  #define _LIBC_COMPAT_H
  
@@ -36,7 +36,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
   * that would already be defined. */
  
  #define __UAPI_DEF_IF_IFCONF 0
-@@ -65,7 +65,11 @@
+@@ -66,7 +66,11 @@
  #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
  /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
  #ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
@@ -48,7 +48,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
  
  #else /* _NET_IF_H */
-@@ -85,10 +89,10 @@
+@@ -86,10 +90,10 @@
  
  #endif /* _NET_IF_H */
  
@@ -61,7 +61,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
   * that would already be defined. */
  #define __UAPI_DEF_IN_ADDR		0
  #define __UAPI_DEF_IN_IPPROTO		0
-@@ -102,7 +106,7 @@
+@@ -103,7 +107,7 @@
   * if the glibc code didn't define them. This guard matches
   * the guard in glibc/inet/netinet/in.h which defines the
   * additional in6_addr macros e.g. s6_addr16, and s6_addr32. */
@@ -70,7 +70,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  #define __UAPI_DEF_IN6_ADDR_ALT		0
  #else
  #define __UAPI_DEF_IN6_ADDR_ALT		1
-@@ -117,7 +121,7 @@
+@@ -118,7 +122,7 @@
  #else
  
  /* Linux headers included first, and we must define everything
@@ -79,7 +79,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
   * __UAPI_DEF_* defines and adjust appropriately. */
  #define __UAPI_DEF_IN_ADDR		1
  #define __UAPI_DEF_IN_IPPROTO		1
-@@ -127,7 +131,7 @@
+@@ -128,7 +132,7 @@
  #define __UAPI_DEF_IN_CLASS		1
  
  #define __UAPI_DEF_IN6_ADDR		1
@@ -88,7 +88,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
   * coordinate. */
  #define __UAPI_DEF_IN6_ADDR_ALT		1
  #define __UAPI_DEF_SOCKADDR_IN6		1
-@@ -168,7 +172,7 @@
+@@ -169,7 +173,7 @@
  /* If we did not see any headers from any supported C libraries,
   * or we are being included in the kernel, then define everything
   * that we need. */
@@ -97,7 +97,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  
  /* Definitions for if.h */
  #define __UAPI_DEF_IF_IFCONF 1
-@@ -208,6 +212,6 @@
+@@ -209,6 +213,6 @@
  /* Definitions for xattr.h */
  #define __UAPI_DEF_XATTR		1
  
diff --git a/package/network/utils/iproute2/patches/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch b/package/network/utils/iproute2/patches/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
index c022d17126..abd1f7eaca 100644
--- a/package/network/utils/iproute2/patches/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
+++ b/package/network/utils/iproute2/patches/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
@@ -14,9 +14,9 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  include/uapi/linux/libc-compat.h | 11 +++++++++++
  2 files changed, 14 insertions(+)
 
---- a/include/linux/if_ether.h
-+++ b/include/linux/if_ether.h
-@@ -22,6 +22,7 @@
+--- a/include/uapi/linux/if_ether.h
++++ b/include/uapi/linux/if_ether.h
+@@ -23,6 +23,7 @@
  #define _LINUX_IF_ETHER_H
  
  #include <linux/types.h>
@@ -24,7 +24,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  
  /*
   *	IEEE 802.3 Ethernet magic constants.  The frame sizes omit the preamble
-@@ -142,11 +143,13 @@
+@@ -149,11 +150,13 @@
   *	This is an Ethernet frame header.
   */
  
@@ -38,9 +38,9 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  
  
  #endif /* _LINUX_IF_ETHER_H */
---- a/include/linux/libc-compat.h
-+++ b/include/linux/libc-compat.h
-@@ -89,6 +89,14 @@
+--- a/include/uapi/linux/libc-compat.h
++++ b/include/uapi/linux/libc-compat.h
+@@ -90,6 +90,14 @@
  
  #endif /* _NET_IF_H */
  
@@ -55,7 +55,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  /* Coordinate with libc netinet/in.h header. */
  #if defined(_NETINET_IN_H)
  
-@@ -184,6 +192,9 @@
+@@ -185,6 +193,9 @@
  /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
  #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
  
diff --git a/package/network/utils/iproute2/patches/300-ip_tiny.patch b/package/network/utils/iproute2/patches/300-ip_tiny.patch
index d48ea8581c..813d579434 100644
--- a/package/network/utils/iproute2/patches/300-ip_tiny.patch
+++ b/package/network/utils/iproute2/patches/300-ip_tiny.patch
@@ -1,8 +1,8 @@
 --- a/ip/Makefile
 +++ b/ip/Makefile
-@@ -28,6 +28,13 @@ ifeq ($(HAVE_MNL),y)
- 	LDLIBS += $(shell $(PKG_CONFIG) libmnl --libs)
- endif
+@@ -15,6 +15,13 @@ RTMONOBJ=rtmon.o
+ 
+ include ../config.mk
  
 +STATIC_SYM_FILTER:=
 +ifeq ($(IP_CONFIG_TINY),y)
@@ -14,7 +14,7 @@
  ALLOBJ=$(IPOBJ) $(RTMONOBJ)
  SCRIPTS=ifcfg rtpr routel routef
  TARGETS=ip rtmon
-@@ -57,7 +64,7 @@ else
+@@ -44,7 +51,7 @@ else
  
  ip: static-syms.o
  static-syms.o: static-syms.h
@@ -72,7 +72,7 @@
  	{ "help",	do_help },
 --- a/lib/utils.c
 +++ b/lib/utils.c
-@@ -787,6 +787,7 @@ const char *rt_addr_n2a_r(int af, int le
+@@ -817,6 +817,7 @@ const char *rt_addr_n2a_r(int af, int le
  		return inet_ntop(af, addr, buf, buflen);
  	case AF_MPLS:
  		return mpls_ntop(af, addr, buf, buflen);
@@ -80,7 +80,7 @@
  	case AF_IPX:
  		return ipx_ntop(af, addr, buf, buflen);
  	case AF_DECnet:
-@@ -796,6 +797,7 @@ const char *rt_addr_n2a_r(int af, int le
+@@ -826,6 +827,7 @@ const char *rt_addr_n2a_r(int af, int le
  		memcpy(dna.a_addr, addr, 2);
  		return dnet_ntop(af, &dna, buf, buflen);
  	}
@@ -90,14 +90,14 @@
  	default:
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -12,6 +12,10 @@ ifeq ($(HAVE_MNL),y)
- 	CFLAGS += -DHAVE_LIBMNL $(shell $(PKG_CONFIG) libmnl --cflags)
- endif
+@@ -2,6 +2,10 @@ include ../config.mk
+ 
+ CFLAGS += $(FPIC)
  
 +ifeq ($(IP_CONFIG_TINY),y)
 +  CFLAGS += -DIPROUTE2_TINY
 +endif
 +
- CFLAGS += $(FPIC)
- 
  UTILOBJ = utils.o rt_names.o ll_types.o ll_proto.o ll_addr.o \
+ 	inet_proto.o namespace.o json_writer.o json_print.o \
+ 	names.o color.o bpf.o exec.o fs.o
diff --git a/package/network/utils/iproute2/patches/900-drop_FAILED_POLICY.patch b/package/network/utils/iproute2/patches/900-drop_FAILED_POLICY.patch
index a0fd154a57..1980f87107 100644
--- a/package/network/utils/iproute2/patches/900-drop_FAILED_POLICY.patch
+++ b/package/network/utils/iproute2/patches/900-drop_FAILED_POLICY.patch
@@ -9,29 +9,6 @@ Subject: [PATCH] add support for dropping with FAILED_POLICY
  ip/rtm_map.c              |    4 ++++
  3 files changed, 9 insertions(+)
 
---- a/include/linux/fib_rules.h
-+++ b/include/linux/fib_rules.h
-@@ -72,6 +72,10 @@ enum {
- 	FR_ACT_BLACKHOLE,	/* Drop without notification */
- 	FR_ACT_UNREACHABLE,	/* Drop with ENETUNREACH */
- 	FR_ACT_PROHIBIT,	/* Drop with EACCES */
-+	FR_ACT_RES8,
-+	FR_ACT_RES9,
-+	FR_ACT_RES10,
-+	FR_ACT_FAILED_POLICY,	/* Drop with EPERM */
- 	__FR_ACT_MAX,
- };
- 
---- a/include/linux/rtnetlink.h
-+++ b/include/linux/rtnetlink.h
-@@ -220,6 +220,7 @@ enum {
- 	RTN_THROW,		/* Not in this table		*/
- 	RTN_NAT,		/* Translate this address	*/
- 	RTN_XRESOLVE,		/* Use external resolver	*/
-+	RTN_FAILED_POLICY,	/* Source address failed policy */
- 	__RTN_MAX
- };
- 
 --- a/ip/rtm_map.c
 +++ b/ip/rtm_map.c
 @@ -49,6 +49,8 @@ char *rtnl_rtntype_n2a(int id, char *buf
@@ -52,3 +29,13 @@ Subject: [PATCH] add support for dropping with FAILED_POLICY
  	else {
  		res = strtoul(arg, &end, 0);
  		if (!end || end == arg || *end || res > 255)
+--- a/include/uapi/linux/rtnetlink.h
++++ b/include/uapi/linux/rtnetlink.h
+@@ -221,6 +221,7 @@ enum {
+ 	RTN_THROW,		/* Not in this table		*/
+ 	RTN_NAT,		/* Translate this address	*/
+ 	RTN_XRESOLVE,		/* Use external resolver	*/
++	RTN_FAILED_POLICY,      /* Source address failed policy */
+ 	__RTN_MAX
+ };
+ 
diff --git a/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch b/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch
index 7ce076e4a8..3cf2dbd062 100644
--- a/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch
+++ b/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch
@@ -1,6 +1,6 @@
---- a/include/linux/pkt_sched.h
-+++ b/include/linux/pkt_sched.h
-@@ -871,4 +871,63 @@ struct tc_pie_xstats {
+--- a/include/uapi/linux/pkt_sched.h
++++ b/include/uapi/linux/pkt_sched.h
+@@ -872,4 +872,63 @@ struct tc_pie_xstats {
  	__u32 maxq;             /* maximum queue size */
  	__u32 ecn_mark;         /* packets marked with ecn*/
  };
@@ -66,7 +66,7 @@
  #endif
 --- a/tc/Makefile
 +++ b/tc/Makefile
-@@ -69,6 +69,7 @@ TCMODULES += q_codel.o
+@@ -65,6 +65,7 @@ TCMODULES += q_codel.o
  TCMODULES += q_fq_codel.o
  TCMODULES += q_fq.o
  TCMODULES += q_pie.o
-- 
2.15.0



-- 
Russell Senior, President
russell at personaltelco.net



More information about the Lede-dev mailing list