From c3c1185d56abbae471c3d0bb0477349f79f5d3bb Mon Sep 17 00:00:00 2001 From: Russell Senior Date: Mon, 27 Nov 2017 23:15:50 -0800 Subject: [PATCH] iproute2: update to v4.14.1 Preserves optionality of libmnl by letting configuration script follow the HAVE_MNL environment variable. Signed-off-by: Russell Senior --- 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 ++-- ...bc-compat.h-do-not-rely-on-__GLIBC__.patch | 20 +++++------ ...prevent-redefinition-of-struct-ethhd.patch | 16 ++++----- .../utils/iproute2/patches/300-ip_tiny.patch | 22 ++++++------- .../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 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 * 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 #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 * 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 #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 * __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 * 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 /* 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 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 @@ -24,7 +24,7 @@ Signed-off-by: Jonas Gorski /* * 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 #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 /* 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.25.1