On Mon, Nov 27, 2017 at 12:47 AM, Hans Dedecker <dedec...@gmail.com> wrote: > On Mon, Nov 27, 2017 at 9:29 AM, Russell Senior > <russ...@personaltelco.net> wrote: >> >> Signed-off-by: Russell Senior <russ...@personaltelco.net> >> --- >> package/network/utils/iproute2/Makefile | 18 ++++++------ >> .../utils/iproute2/patches/007-no_arpd.patch | 6 ++-- >> .../utils/iproute2/patches/008-no_netem.patch | 2 +- >> .../iproute2/patches/120-libnetlink-pic.patch | 7 ++--- >> ...pi-libc-compat.h-do-not-rely-on-__GLIBC__.patch | 4 +-- >> ...er.h-prevent-redefinition-of-struct-ethhd.patch | 8 +++--- >> .../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 +++--- >> 9 files changed, 47 insertions(+), 61 deletions(-) >> >> diff --git a/package/network/utils/iproute2/Makefile >> b/package/network/utils/iproute2/Makefile >> index c2771f0b59..bec435d894 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 >> @@ -37,7 +37,7 @@ $(call Package/iproute2/Default) >> VARIANT:=tiny >> PROVIDES:=ip >> ALTERNATIVES:=200:/sbin/ip:/sbin/ip-tiny >> - DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl >> + DEPENDS:=+libnl-tiny +libmnl > Dependency on libmnl makes the usage of packages such as > ip-tiny/ip-full/tc/genl/ip-bridge version more bloated. > In the previous upstep to 4.13.0 I noticed libmnl support is rather > optional than required for these packages; I would like to keep it > that way
Hmm. Upstream iproute2 changed the way it configures itself since v4.13.0. It is currently happily finding libmnl is the STAGING_DIR and configuring to use it. I'll need to dig a little deeper. > > Hans >> endef >> >> define Package/ip-full >> @@ -46,37 +46,37 @@ $(call Package/iproute2/Default) >> VARIANT:=full >> PROVIDES:=ip >> ALTERNATIVES:=300:/sbin/ip:/sbin/ip-full >> - DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl >> + DEPENDS:=+libnl-tiny +libmnl >> endef >> >> define Package/tc >> $(call Package/iproute2/Default) >> TITLE:=Traffic control utility >> - DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl >> + DEPENDS:=+kmod-sched-core +libmnl >> endef >> >> define Package/genl >> $(call Package/iproute2/Default) >> TITLE:=General netlink utility frontend >> - DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl >> + DEPENDS:=+libnl-tiny +libmnl >> endef >> >> define Package/ip-bridge >> $(call Package/iproute2/Default) >> TITLE:=Bridge configuration utility from iproute2 >> - DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl >> + DEPENDS:=+libnl-tiny +libmnl >> endef >> >> define Package/ss >> $(call Package/iproute2/Default) >> TITLE:=Socket statistics utility >> - DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl >> + DEPENDS:=+libnl-tiny +libmnl >> endef >> >> define Package/nstat >> $(call Package/iproute2/Default) >> TITLE:=Network statistics utility >> - DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl >> + DEPENDS:=+libnl-tiny +libmnl >> endef >> >> define Package/devlink >> 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/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..d2860b0087 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,8 +15,8 @@ Signed-off-by: Jonas Gorski <j...@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 >> +--- a/include/uapi/linux/libc-compat.h >> ++++ b/include/uapi/linux/libc-compat.h >> @@ -48,13 +48,13 @@ >> #ifndef _LIBC_COMPAT_H >> #define _LIBC_COMPAT_H >> 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..4e74f37322 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,8 +14,8 @@ Signed-off-by: Jonas Gorski <j...@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 >> +--- a/include/uapi/linux/if_ether.h >> ++++ b/include/uapi/linux/if_ether.h >> @@ -22,6 +22,7 @@ >> #define _LINUX_IF_ETHER_H >> >> @@ -38,8 +38,8 @@ Signed-off-by: Jonas Gorski <j...@openwrt.org> >> >> >> #endif /* _LINUX_IF_ETHER_H */ >> ---- a/include/linux/libc-compat.h >> -+++ b/include/linux/libc-compat.h >> +--- a/include/uapi/linux/libc-compat.h >> ++++ b/include/uapi/linux/libc-compat.h >> @@ -89,6 +89,14 @@ >> >> #endif /* _NET_IF_H */ >> 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 >> russ...@personaltelco.net >> >> _______________________________________________ >> Lede-dev mailing list >> Lede-dev@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/lede-dev _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev