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

Russell Senior russell at personaltelco.net
Mon Nov 27 04:11:01 PST 2017


On Mon, Nov 27, 2017 at 12:47 AM, Hans Dedecker <dedeckeh at gmail.com> wrote:
> On Mon, Nov 27, 2017 at 9:29 AM, Russell Senior
> <russell at personaltelco.net> wrote:
>>
>> Signed-off-by: Russell Senior <russell at 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 <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
>> +--- 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 <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
>> +--- 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 <jogo at 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
>> russell at personaltelco.net
>>
>> _______________________________________________
>> Lede-dev mailing list
>> Lede-dev at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/lede-dev



More information about the Lede-dev mailing list