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 <russell@personaltelco.net>
This commit is contained in:
Russell Senior 2017-11-27 23:15:50 -08:00 committed by Hans Dedecker
parent 711a816770
commit c3c1185d56
10 changed files with 64 additions and 66 deletions

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=iproute2 PKG_NAME:=iproute2
PKG_VERSION:=4.13.0 PKG_VERSION:=4.14.1
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
PKG_HASH:=9cfb81edf8c8509e03daa77cf62aead01c4a827132f6c506578f94cc19415c50 PKG_HASH:=d43ac068afcc350a448f4581b6e292331ef7e4e7aa746e34981582d5fdb10067
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=iptables PKG_BUILD_DEPENDS:=iptables
PKG_LICENSE:=GPL-2.0 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) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
define Package/iproute2/Default define Package/iproute2/Default

View file

@ -2,7 +2,7 @@
+++ b/misc/Makefile +++ b/misc/Makefile
@@ -5,9 +5,9 @@ TARGETS=ss nstat ifstat rtacct lnstat @@ -5,9 +5,9 @@ TARGETS=ss nstat ifstat rtacct lnstat
include ../Config include ../config.mk
-ifeq ($(HAVE_BERKELEY_DB),y) -ifeq ($(HAVE_BERKELEY_DB),y)
- TARGETS += arpd - TARGETS += arpd
@ -11,5 +11,5 @@
+# TARGETS += arpd +# TARGETS += arpd
+#endif +#endif
ifeq ($(HAVE_SELINUX),y) all: $(TARGETS)
LDLIBS += $(shell $(PKG_CONFIG) --libs libselinux)

View file

@ -1,7 +1,7 @@
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -49,7 +49,7 @@ WFLAGS += -Wmissing-declarations -Wold-s @@ -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 YACCFLAGS = -d -t -v
-SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma man -SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma man

View file

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

View file

@ -1,11 +1,10 @@
--- a/lib/Makefile --- a/lib/Makefile
+++ b/lib/Makefile +++ b/lib/Makefile
@@ -12,7 +12,7 @@ ifeq ($(HAVE_MNL),y) @@ -1,6 +1,6 @@
CFLAGS += -DHAVE_LIBMNL $(shell $(PKG_CONFIG) libmnl --cflags) include ../config.mk
endif
-CFLAGS += -fPIC -CFLAGS += -fPIC
+CFLAGS += $(FPIC) +CFLAGS += $(FPIC)
UTILOBJ = utils.o rt_names.o ll_types.o ll_proto.o ll_addr.o \ 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 \

View file

@ -15,9 +15,9 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
include/uapi/linux/libc-compat.h | 18 +++++++++--------- include/uapi/linux/libc-compat.h | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-) 1 file changed, 9 insertions(+), 9 deletions(-)
--- a/include/linux/libc-compat.h --- a/include/uapi/linux/libc-compat.h
+++ b/include/linux/libc-compat.h +++ b/include/uapi/linux/libc-compat.h
@@ -48,13 +48,13 @@ @@ -49,13 +49,13 @@
#ifndef _LIBC_COMPAT_H #ifndef _LIBC_COMPAT_H
#define _LIBC_COMPAT_H #define _LIBC_COMPAT_H
@ -36,7 +36,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
* that would already be defined. */ * that would already be defined. */
#define __UAPI_DEF_IF_IFCONF 0 #define __UAPI_DEF_IF_IFCONF 0
@@ -65,7 +65,11 @@ @@ -66,7 +66,11 @@
#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0 #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */ /* 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 #ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
@ -48,7 +48,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */ #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
#else /* _NET_IF_H */ #else /* _NET_IF_H */
@@ -85,10 +89,10 @@ @@ -86,10 +90,10 @@
#endif /* _NET_IF_H */ #endif /* _NET_IF_H */
@ -61,7 +61,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
* that would already be defined. */ * that would already be defined. */
#define __UAPI_DEF_IN_ADDR 0 #define __UAPI_DEF_IN_ADDR 0
#define __UAPI_DEF_IN_IPPROTO 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 * if the glibc code didn't define them. This guard matches
* the guard in glibc/inet/netinet/in.h which defines the * the guard in glibc/inet/netinet/in.h which defines the
* additional in6_addr macros e.g. s6_addr16, and s6_addr32. */ * additional in6_addr macros e.g. s6_addr16, and s6_addr32. */
@ -70,7 +70,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#define __UAPI_DEF_IN6_ADDR_ALT 0 #define __UAPI_DEF_IN6_ADDR_ALT 0
#else #else
#define __UAPI_DEF_IN6_ADDR_ALT 1 #define __UAPI_DEF_IN6_ADDR_ALT 1
@@ -117,7 +121,7 @@ @@ -118,7 +122,7 @@
#else #else
/* Linux headers included first, and we must define everything /* Linux headers included first, and we must define everything
@ -79,7 +79,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
* __UAPI_DEF_* defines and adjust appropriately. */ * __UAPI_DEF_* defines and adjust appropriately. */
#define __UAPI_DEF_IN_ADDR 1 #define __UAPI_DEF_IN_ADDR 1
#define __UAPI_DEF_IN_IPPROTO 1 #define __UAPI_DEF_IN_IPPROTO 1
@@ -127,7 +131,7 @@ @@ -128,7 +132,7 @@
#define __UAPI_DEF_IN_CLASS 1 #define __UAPI_DEF_IN_CLASS 1
#define __UAPI_DEF_IN6_ADDR 1 #define __UAPI_DEF_IN6_ADDR 1
@ -88,7 +88,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
* coordinate. */ * coordinate. */
#define __UAPI_DEF_IN6_ADDR_ALT 1 #define __UAPI_DEF_IN6_ADDR_ALT 1
#define __UAPI_DEF_SOCKADDR_IN6 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, /* If we did not see any headers from any supported C libraries,
* or we are being included in the kernel, then define everything * or we are being included in the kernel, then define everything
* that we need. */ * that we need. */
@ -97,7 +97,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/* Definitions for if.h */ /* Definitions for if.h */
#define __UAPI_DEF_IF_IFCONF 1 #define __UAPI_DEF_IF_IFCONF 1
@@ -208,6 +212,6 @@ @@ -209,6 +213,6 @@
/* Definitions for xattr.h */ /* Definitions for xattr.h */
#define __UAPI_DEF_XATTR 1 #define __UAPI_DEF_XATTR 1

View file

@ -14,9 +14,9 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
include/uapi/linux/libc-compat.h | 11 +++++++++++ include/uapi/linux/libc-compat.h | 11 +++++++++++
2 files changed, 14 insertions(+) 2 files changed, 14 insertions(+)
--- a/include/linux/if_ether.h --- a/include/uapi/linux/if_ether.h
+++ b/include/linux/if_ether.h +++ b/include/uapi/linux/if_ether.h
@@ -22,6 +22,7 @@ @@ -23,6 +23,7 @@
#define _LINUX_IF_ETHER_H #define _LINUX_IF_ETHER_H
#include <linux/types.h> #include <linux/types.h>
@ -24,7 +24,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/* /*
* IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble * 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. * This is an Ethernet frame header.
*/ */
@ -38,9 +38,9 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif /* _LINUX_IF_ETHER_H */ #endif /* _LINUX_IF_ETHER_H */
--- a/include/linux/libc-compat.h --- a/include/uapi/linux/libc-compat.h
+++ b/include/linux/libc-compat.h +++ b/include/uapi/linux/libc-compat.h
@@ -89,6 +89,14 @@ @@ -90,6 +90,14 @@
#endif /* _NET_IF_H */ #endif /* _NET_IF_H */
@ -55,7 +55,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/* Coordinate with libc netinet/in.h header. */ /* Coordinate with libc netinet/in.h header. */
#if defined(_NETINET_IN_H) #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 */ /* 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 #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1

View file

@ -1,8 +1,8 @@
--- a/ip/Makefile --- a/ip/Makefile
+++ b/ip/Makefile +++ b/ip/Makefile
@@ -28,6 +28,13 @@ ifeq ($(HAVE_MNL),y) @@ -15,6 +15,13 @@ RTMONOBJ=rtmon.o
LDLIBS += $(shell $(PKG_CONFIG) libmnl --libs)
endif include ../config.mk
+STATIC_SYM_FILTER:= +STATIC_SYM_FILTER:=
+ifeq ($(IP_CONFIG_TINY),y) +ifeq ($(IP_CONFIG_TINY),y)
@ -14,7 +14,7 @@
ALLOBJ=$(IPOBJ) $(RTMONOBJ) ALLOBJ=$(IPOBJ) $(RTMONOBJ)
SCRIPTS=ifcfg rtpr routel routef SCRIPTS=ifcfg rtpr routel routef
TARGETS=ip rtmon TARGETS=ip rtmon
@@ -57,7 +64,7 @@ else @@ -44,7 +51,7 @@ else
ip: static-syms.o ip: static-syms.o
static-syms.o: static-syms.h static-syms.o: static-syms.h
@ -72,7 +72,7 @@
{ "help", do_help }, { "help", do_help },
--- a/lib/utils.c --- a/lib/utils.c
+++ b/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); return inet_ntop(af, addr, buf, buflen);
case AF_MPLS: case AF_MPLS:
return mpls_ntop(af, addr, buf, buflen); return mpls_ntop(af, addr, buf, buflen);
@ -80,7 +80,7 @@
case AF_IPX: case AF_IPX:
return ipx_ntop(af, addr, buf, buflen); return ipx_ntop(af, addr, buf, buflen);
case AF_DECnet: 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); memcpy(dna.a_addr, addr, 2);
return dnet_ntop(af, &dna, buf, buflen); return dnet_ntop(af, &dna, buf, buflen);
} }
@ -90,14 +90,14 @@
default: default:
--- a/lib/Makefile --- a/lib/Makefile
+++ b/lib/Makefile +++ b/lib/Makefile
@@ -12,6 +12,10 @@ ifeq ($(HAVE_MNL),y) @@ -2,6 +2,10 @@ include ../config.mk
CFLAGS += -DHAVE_LIBMNL $(shell $(PKG_CONFIG) libmnl --cflags)
endif CFLAGS += $(FPIC)
+ifeq ($(IP_CONFIG_TINY),y) +ifeq ($(IP_CONFIG_TINY),y)
+ CFLAGS += -DIPROUTE2_TINY + CFLAGS += -DIPROUTE2_TINY
+endif +endif
+ +
CFLAGS += $(FPIC)
UTILOBJ = utils.o rt_names.o ll_types.o ll_proto.o ll_addr.o \ 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

View file

@ -9,29 +9,6 @@ Subject: [PATCH] add support for dropping with FAILED_POLICY
ip/rtm_map.c | 4 ++++ ip/rtm_map.c | 4 ++++
3 files changed, 9 insertions(+) 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 --- a/ip/rtm_map.c
+++ b/ip/rtm_map.c +++ b/ip/rtm_map.c
@@ -49,6 +49,8 @@ char *rtnl_rtntype_n2a(int id, char *buf @@ -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 { else {
res = strtoul(arg, &end, 0); res = strtoul(arg, &end, 0);
if (!end || end == arg || *end || res > 255) 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
};

View file

@ -1,6 +1,6 @@
--- a/include/linux/pkt_sched.h --- a/include/uapi/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h +++ b/include/uapi/linux/pkt_sched.h
@@ -871,4 +871,63 @@ struct tc_pie_xstats { @@ -872,4 +872,63 @@ struct tc_pie_xstats {
__u32 maxq; /* maximum queue size */ __u32 maxq; /* maximum queue size */
__u32 ecn_mark; /* packets marked with ecn*/ __u32 ecn_mark; /* packets marked with ecn*/
}; };
@ -66,7 +66,7 @@
#endif #endif
--- a/tc/Makefile --- a/tc/Makefile
+++ b/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_codel.o
TCMODULES += q_fq.o TCMODULES += q_fq.o
TCMODULES += q_pie.o TCMODULES += q_pie.o