aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/network/utils/iproute2/Makefile6
-rw-r--r--package/network/utils/iproute2/patches/001-rdma-sync-some-IP-headers-with-glibc.patch37
-rw-r--r--package/network/utils/iproute2/patches/002-json_print-fix-hidden-64-bit-type-promotion.patch288
-rw-r--r--package/network/utils/iproute2/patches/100-config.patch (renamed from package/network/utils/iproute2/patches/001-config.patch)0
-rw-r--r--package/network/utils/iproute2/patches/110-darwin_fixes.patch (renamed from package/network/utils/iproute2/patches/004-darwin_fixes.patch)0
-rw-r--r--package/network/utils/iproute2/patches/120-no_arpd.patch (renamed from package/network/utils/iproute2/patches/007-no_arpd.patch)0
-rw-r--r--package/network/utils/iproute2/patches/130-no_netem.patch (renamed from package/network/utils/iproute2/patches/008-no_netem.patch)4
-rw-r--r--package/network/utils/iproute2/patches/140-allow_pfifo_fast.patch (renamed from package/network/utils/iproute2/patches/100-allow_pfifo_fast.patch)0
-rw-r--r--package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch (renamed from package/network/utils/iproute2/patches/009-keep_libmnl_optional.patch)0
-rw-r--r--package/network/utils/iproute2/patches/150-extra-ccopts.patch (renamed from package/network/utils/iproute2/patches/110-extra-ccopts.patch)2
-rw-r--r--package/network/utils/iproute2/patches/160-libnetlink-pic.patch (renamed from package/network/utils/iproute2/patches/120-libnetlink-pic.patch)2
-rw-r--r--package/network/utils/iproute2/patches/170-ip_tiny.patch (renamed from package/network/utils/iproute2/patches/300-ip_tiny.patch)8
-rw-r--r--package/network/utils/iproute2/patches/180-drop_FAILED_POLICY.patch (renamed from package/network/utils/iproute2/patches/900-drop_FAILED_POLICY.patch)0
-rw-r--r--package/network/utils/iproute2/patches/190-add-cake-to-tc.patch (renamed from package/network/utils/iproute2/patches/950-add-cake-to-tc.patch)11
14 files changed, 48 insertions, 310 deletions
diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile
index 88a4851748..c5e9c5a66e 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.16.0
-PKG_RELEASE:=3
+PKG_VERSION:=4.17.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
-PKG_HASH:=0c5c24020fd7349fe25728c5edee9fb6a1bc8a38f08e23be5c57a6301e55ee0a
+PKG_HASH:=6fa991b092315887775b9e47dc6a89af7ae09dd3ad4ccff754d055c566b4be6e
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=iptables
PKG_LICENSE:=GPL-2.0
diff --git a/package/network/utils/iproute2/patches/001-rdma-sync-some-IP-headers-with-glibc.patch b/package/network/utils/iproute2/patches/001-rdma-sync-some-IP-headers-with-glibc.patch
new file mode 100644
index 0000000000..ed81dff104
--- /dev/null
+++ b/package/network/utils/iproute2/patches/001-rdma-sync-some-IP-headers-with-glibc.patch
@@ -0,0 +1,37 @@
+From 5887ff0922a06d978d3271df9f01fcb04fadc75f Mon Sep 17 00:00:00 2001
+From: Hoang Le <hoang.h.le@dektech.com.au>
+Date: Wed, 13 Jun 2018 11:09:56 +0700
+Subject: [PATCH] rdma: sync some IP headers with glibc
+
+In the commit 9a362cc71a45, new userspace header:
+ (i.e rdma/rdma_user_cm.h -> linux/in6.h)
+is included before the kernel space header:
+ (i.e utils.h -> resolv.h -> netinet/in.h).
+
+This leads to unsynchronous some IP headers and compiler got failure
+with error: redefinition of some structs IP.
+
+In this commit, just reorder this including to make them in-sync.
+
+Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
+Acked-by: Leon Romanovsky <leonro@mellanox.com>
+Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
+---
+ rdma/rdma.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/rdma/rdma.h b/rdma/rdma.h
+index fcaf9e69..d4b7ba19 100644
+--- a/rdma/rdma.h
++++ b/rdma/rdma.h
+@@ -15,6 +15,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <getopt.h>
++#include <netinet/in.h>
+ #include <libmnl/libmnl.h>
+ #include <rdma/rdma_netlink.h>
+ #include <rdma/rdma_user_cm.h>
+--
+2.16.3
+
diff --git a/package/network/utils/iproute2/patches/002-json_print-fix-hidden-64-bit-type-promotion.patch b/package/network/utils/iproute2/patches/002-json_print-fix-hidden-64-bit-type-promotion.patch
deleted file mode 100644
index ad93973215..0000000000
--- a/package/network/utils/iproute2/patches/002-json_print-fix-hidden-64-bit-type-promotion.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-From 8de9593bb9dc05cb1be593a237682e8707e41aa9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= <toke@toke.dk>
-Date: Wed, 25 Apr 2018 16:19:35 +0200
-Subject: [PATCH] json_print: Fix hidden 64-bit type promotion
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-print_uint() will silently promote its variable type to uint64_t, but there
-is nothing that ensures that the format string specifier passed along with
-it fits (and the function name suggest to pass "%u").
-
-Fix this by changing print_uint() to use a native 'unsigned int' type, and
-introduce a separate print_u64() function for printing 64-bit values. All
-call sites that were actually printing 64-bit values using print_uint() are
-converted to use print_u64() instead.
-
-Since print_int() was already using native int types, just add a
-print_s64() to match, but don't convert any call sites.
-
-Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
-Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
----
- include/json_print.h | 4 +++-
- include/json_writer.h | 12 ++++++----
- ip/ipaddress.c | 62 +++++++++++++++++++++++++--------------------------
- ip/ipmacsec.c | 8 +++----
- ip/ipmroute.c | 6 ++---
- lib/json_print.c | 4 +++-
- lib/json_writer.c | 30 +++++++++++++++++++++----
- 7 files changed, 78 insertions(+), 48 deletions(-)
-
---- a/include/json_print.h
-+++ b/include/json_print.h
-@@ -56,10 +56,12 @@ void close_json_array(enum output_type t
- print_color_##type_name(t, COLOR_NONE, key, fmt, value); \
- }
- _PRINT_FUNC(int, int);
-+_PRINT_FUNC(s64, int64_t);
- _PRINT_FUNC(bool, bool);
- _PRINT_FUNC(null, const char*);
- _PRINT_FUNC(string, const char*);
--_PRINT_FUNC(uint, uint64_t);
-+_PRINT_FUNC(uint, unsigned int);
-+_PRINT_FUNC(u64, uint64_t);
- _PRINT_FUNC(hu, unsigned short);
- _PRINT_FUNC(hex, unsigned int);
- _PRINT_FUNC(0xhex, unsigned int);
---- a/include/json_writer.h
-+++ b/include/json_writer.h
-@@ -34,9 +34,11 @@ void jsonw_string(json_writer_t *self, c
- void jsonw_bool(json_writer_t *self, bool value);
- void jsonw_float(json_writer_t *self, double number);
- void jsonw_float_fmt(json_writer_t *self, const char *fmt, double num);
--void jsonw_uint(json_writer_t *self, uint64_t number);
-+void jsonw_uint(json_writer_t *self, unsigned int number);
-+void jsonw_u64(json_writer_t *self, uint64_t number);
- void jsonw_hu(json_writer_t *self, unsigned short number);
--void jsonw_int(json_writer_t *self, int64_t number);
-+void jsonw_int(json_writer_t *self, int number);
-+void jsonw_s64(json_writer_t *self, int64_t number);
- void jsonw_null(json_writer_t *self);
- void jsonw_lluint(json_writer_t *self, unsigned long long int num);
-
-@@ -44,9 +46,11 @@ void jsonw_lluint(json_writer_t *self, u
- void jsonw_string_field(json_writer_t *self, const char *prop, const char *val);
- void jsonw_bool_field(json_writer_t *self, const char *prop, bool value);
- void jsonw_float_field(json_writer_t *self, const char *prop, double num);
--void jsonw_uint_field(json_writer_t *self, const char *prop, uint64_t num);
-+void jsonw_uint_field(json_writer_t *self, const char *prop, unsigned int num);
-+void jsonw_u64_field(json_writer_t *self, const char *prop, uint64_t num);
- void jsonw_hu_field(json_writer_t *self, const char *prop, unsigned short num);
--void jsonw_int_field(json_writer_t *self, const char *prop, int64_t num);
-+void jsonw_int_field(json_writer_t *self, const char *prop, int num);
-+void jsonw_s64_field(json_writer_t *self, const char *prop, int64_t num);
- void jsonw_null_field(json_writer_t *self, const char *prop);
- void jsonw_lluint_field(json_writer_t *self, const char *prop,
- unsigned long long int num);
---- a/ip/ipaddress.c
-+++ b/ip/ipaddress.c
-@@ -555,21 +555,21 @@ static void print_vf_stats64(FILE *fp, s
-
- /* RX stats */
- open_json_object("rx");
-- print_uint(PRINT_JSON, "bytes", NULL,
-+ print_u64(PRINT_JSON, "bytes", NULL,
- rta_getattr_u64(vf[IFLA_VF_STATS_RX_BYTES]));
-- print_uint(PRINT_JSON, "packets", NULL,
-+ print_u64(PRINT_JSON, "packets", NULL,
- rta_getattr_u64(vf[IFLA_VF_STATS_RX_PACKETS]));
-- print_uint(PRINT_JSON, "multicast", NULL,
-+ print_u64(PRINT_JSON, "multicast", NULL,
- rta_getattr_u64(vf[IFLA_VF_STATS_MULTICAST]));
-- print_uint(PRINT_JSON, "broadcast", NULL,
-+ print_u64(PRINT_JSON, "broadcast", NULL,
- rta_getattr_u64(vf[IFLA_VF_STATS_BROADCAST]));
- close_json_object();
-
- /* TX stats */
- open_json_object("tx");
-- print_uint(PRINT_JSON, "tx_bytes", NULL,
-+ print_u64(PRINT_JSON, "tx_bytes", NULL,
- rta_getattr_u64(vf[IFLA_VF_STATS_TX_BYTES]));
-- print_uint(PRINT_JSON, "tx_packets", NULL,
-+ print_u64(PRINT_JSON, "tx_packets", NULL,
- rta_getattr_u64(vf[IFLA_VF_STATS_TX_PACKETS]));
- close_json_object();
- close_json_object();
-@@ -602,50 +602,50 @@ static void print_link_stats64(FILE *fp,
-
- /* RX stats */
- open_json_object("rx");
-- print_uint(PRINT_JSON, "bytes", NULL, s->rx_bytes);
-- print_uint(PRINT_JSON, "packets", NULL, s->rx_packets);
-- print_uint(PRINT_JSON, "errors", NULL, s->rx_errors);
-- print_uint(PRINT_JSON, "dropped", NULL, s->rx_dropped);
-- print_uint(PRINT_JSON, "over_errors", NULL, s->rx_over_errors);
-- print_uint(PRINT_JSON, "multicast", NULL, s->multicast);
-+ print_u64(PRINT_JSON, "bytes", NULL, s->rx_bytes);
-+ print_u64(PRINT_JSON, "packets", NULL, s->rx_packets);
-+ print_u64(PRINT_JSON, "errors", NULL, s->rx_errors);
-+ print_u64(PRINT_JSON, "dropped", NULL, s->rx_dropped);
-+ print_u64(PRINT_JSON, "over_errors", NULL, s->rx_over_errors);
-+ print_u64(PRINT_JSON, "multicast", NULL, s->multicast);
- if (s->rx_compressed)
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "compressed",
- NULL, s->rx_compressed);
-
- /* RX error stats */
- if (show_stats > 1) {
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "length_errors",
- NULL, s->rx_length_errors);
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "crc_errors",
- NULL, s->rx_crc_errors);
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "frame_errors",
- NULL, s->rx_frame_errors);
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "fifo_errors",
- NULL, s->rx_fifo_errors);
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "missed_errors",
- NULL, s->rx_missed_errors);
- if (s->rx_nohandler)
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "nohandler", NULL, s->rx_nohandler);
- }
- close_json_object();
-
- /* TX stats */
- open_json_object("tx");
-- print_uint(PRINT_JSON, "bytes", NULL, s->tx_bytes);
-- print_uint(PRINT_JSON, "packets", NULL, s->tx_packets);
-- print_uint(PRINT_JSON, "errors", NULL, s->tx_errors);
-- print_uint(PRINT_JSON, "dropped", NULL, s->tx_dropped);
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON, "bytes", NULL, s->tx_bytes);
-+ print_u64(PRINT_JSON, "packets", NULL, s->tx_packets);
-+ print_u64(PRINT_JSON, "errors", NULL, s->tx_errors);
-+ print_u64(PRINT_JSON, "dropped", NULL, s->tx_dropped);
-+ print_u64(PRINT_JSON,
- "carrier_errors",
- NULL, s->tx_carrier_errors);
-- print_uint(PRINT_JSON, "collisions", NULL, s->collisions);
-+ print_u64(PRINT_JSON, "collisions", NULL, s->collisions);
- if (s->tx_compressed)
- print_uint(PRINT_JSON,
- "compressed",
-@@ -653,20 +653,20 @@ static void print_link_stats64(FILE *fp,
-
- /* TX error stats */
- if (show_stats > 1) {
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "aborted_errors",
- NULL, s->tx_aborted_errors);
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "fifo_errors",
- NULL, s->tx_fifo_errors);
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "window_errors",
- NULL, s->tx_window_errors);
-- print_uint(PRINT_JSON,
-+ print_u64(PRINT_JSON,
- "heartbeat_errors",
- NULL, s->tx_heartbeat_errors);
- if (carrier_changes)
-- print_uint(PRINT_JSON, "carrier_changes", NULL,
-+ print_u64(PRINT_JSON, "carrier_changes", NULL,
- rta_getattr_u32(carrier_changes));
- }
- close_json_object();
---- a/lib/json_print.c
-+++ b/lib/json_print.c
-@@ -117,8 +117,10 @@ void close_json_array(enum output_type t
- } \
- }
- _PRINT_FUNC(int, int);
-+_PRINT_FUNC(s64, int64_t);
- _PRINT_FUNC(hu, unsigned short);
--_PRINT_FUNC(uint, uint64_t);
-+_PRINT_FUNC(uint, unsigned int);
-+_PRINT_FUNC(u64, uint64_t);
- _PRINT_FUNC(lluint, unsigned long long int);
- _PRINT_FUNC(float, double);
- #undef _PRINT_FUNC
---- a/lib/json_writer.c
-+++ b/lib/json_writer.c
-@@ -215,7 +215,12 @@ void jsonw_hu(json_writer_t *self, unsig
- jsonw_printf(self, "%hu", num);
- }
-
--void jsonw_uint(json_writer_t *self, uint64_t num)
-+void jsonw_uint(json_writer_t *self, unsigned int num)
-+{
-+ jsonw_printf(self, "%u", num);
-+}
-+
-+void jsonw_u64(json_writer_t *self, uint64_t num)
- {
- jsonw_printf(self, "%"PRIu64, num);
- }
-@@ -225,7 +230,12 @@ void jsonw_lluint(json_writer_t *self, u
- jsonw_printf(self, "%llu", num);
- }
-
--void jsonw_int(json_writer_t *self, int64_t num)
-+void jsonw_int(json_writer_t *self, int num)
-+{
-+ jsonw_printf(self, "%d", num);
-+}
-+
-+void jsonw_s64(json_writer_t *self, int64_t num)
- {
- jsonw_printf(self, "%"PRId64, num);
- }
-@@ -258,12 +268,18 @@ void jsonw_float_field_fmt(json_writer_t
- jsonw_float_fmt(self, fmt, val);
- }
-
--void jsonw_uint_field(json_writer_t *self, const char *prop, uint64_t num)
-+void jsonw_uint_field(json_writer_t *self, const char *prop, unsigned int num)
- {
- jsonw_name(self, prop);
- jsonw_uint(self, num);
- }
-
-+void jsonw_u64_field(json_writer_t *self, const char *prop, uint64_t num)
-+{
-+ jsonw_name(self, prop);
-+ jsonw_u64(self, num);
-+}
-+
- void jsonw_hu_field(json_writer_t *self, const char *prop, unsigned short num)
- {
- jsonw_name(self, prop);
-@@ -278,12 +294,18 @@ void jsonw_lluint_field(json_writer_t *s
- jsonw_lluint(self, num);
- }
-
--void jsonw_int_field(json_writer_t *self, const char *prop, int64_t num)
-+void jsonw_int_field(json_writer_t *self, const char *prop, int num)
- {
- jsonw_name(self, prop);
- jsonw_int(self, num);
- }
-
-+void jsonw_s64_field(json_writer_t *self, const char *prop, int64_t num)
-+{
-+ jsonw_name(self, prop);
-+ jsonw_s64(self, num);
-+}
-+
- void jsonw_null_field(json_writer_t *self, const char *prop)
- {
- jsonw_name(self, prop);
diff --git a/package/network/utils/iproute2/patches/001-config.patch b/package/network/utils/iproute2/patches/100-config.patch
index 7f23cfc35e..7f23cfc35e 100644
--- a/package/network/utils/iproute2/patches/001-config.patch
+++ b/package/network/utils/iproute2/patches/100-config.patch
diff --git a/package/network/utils/iproute2/patches/004-darwin_fixes.patch b/package/network/utils/iproute2/patches/110-darwin_fixes.patch
index 1f3eb101ea..1f3eb101ea 100644
--- a/package/network/utils/iproute2/patches/004-darwin_fixes.patch
+++ b/package/network/utils/iproute2/patches/110-darwin_fixes.patch
diff --git a/package/network/utils/iproute2/patches/007-no_arpd.patch b/package/network/utils/iproute2/patches/120-no_arpd.patch
index 772398140b..772398140b 100644
--- a/package/network/utils/iproute2/patches/007-no_arpd.patch
+++ b/package/network/utils/iproute2/patches/120-no_arpd.patch
diff --git a/package/network/utils/iproute2/patches/008-no_netem.patch b/package/network/utils/iproute2/patches/130-no_netem.patch
index 15a60e794c..58062655c9 100644
--- a/package/network/utils/iproute2/patches/008-no_netem.patch
+++ b/package/network/utils/iproute2/patches/130-no_netem.patch
@@ -1,11 +1,11 @@
--- a/Makefile
+++ b/Makefile
-@@ -57,7 +57,7 @@ WFLAGS += -Wmissing-declarations -Wold-s
+@@ -61,7 +61,7 @@ WFLAGS += -Wmissing-declarations -Wold-s
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
+SUBDIRS=lib ip tc bridge misc genl tipc devlink rdma man
- LIBNETLINK=../lib/libnetlink.a ../lib/libutil.a
+ LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a
LDLIBS += $(LIBNETLINK)
diff --git a/package/network/utils/iproute2/patches/100-allow_pfifo_fast.patch b/package/network/utils/iproute2/patches/140-allow_pfifo_fast.patch
index caf889e123..caf889e123 100644
--- a/package/network/utils/iproute2/patches/100-allow_pfifo_fast.patch
+++ b/package/network/utils/iproute2/patches/140-allow_pfifo_fast.patch
diff --git a/package/network/utils/iproute2/patches/009-keep_libmnl_optional.patch b/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch
index 697a6471a7..697a6471a7 100644
--- a/package/network/utils/iproute2/patches/009-keep_libmnl_optional.patch
+++ b/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch
diff --git a/package/network/utils/iproute2/patches/110-extra-ccopts.patch b/package/network/utils/iproute2/patches/150-extra-ccopts.patch
index a083b7c045..d036ba703c 100644
--- a/package/network/utils/iproute2/patches/110-extra-ccopts.patch
+++ b/package/network/utils/iproute2/patches/150-extra-ccopts.patch
@@ -1,6 +1,6 @@
--- a/Makefile
+++ b/Makefile
-@@ -50,7 +50,7 @@ HOSTCC ?= $(CC)
+@@ -54,7 +54,7 @@ HOSTCC ?= $(CC)
DEFINES += -D_GNU_SOURCE
# Turn on transparent support for LFS
DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
diff --git a/package/network/utils/iproute2/patches/120-libnetlink-pic.patch b/package/network/utils/iproute2/patches/160-libnetlink-pic.patch
index 889bca28be..aad87a1e4f 100644
--- a/package/network/utils/iproute2/patches/120-libnetlink-pic.patch
+++ b/package/network/utils/iproute2/patches/160-libnetlink-pic.patch
@@ -7,5 +7,5 @@
-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_map.o ll_types.o ll_proto.o ll_addr.o \
inet_proto.o namespace.o json_writer.o json_print.o \
diff --git a/package/network/utils/iproute2/patches/300-ip_tiny.patch b/package/network/utils/iproute2/patches/170-ip_tiny.patch
index d8f39d3910..5c8af0b0f1 100644
--- a/package/network/utils/iproute2/patches/300-ip_tiny.patch
+++ b/package/network/utils/iproute2/patches/170-ip_tiny.patch
@@ -40,7 +40,7 @@
+" vrf | sr }\n"
+#endif
" OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |\n"
- " -h[uman-readable] | -iec |\n"
+ " -h[uman-readable] | -iec | -j[son] | -p[retty] |\n"
" -f[amily] { inet | inet6 | ipx | dnet | mpls | bridge | link } |\n"
@@ -73,32 +79,44 @@ static const struct cmd {
int (*func)(int argc, char **argv);
@@ -89,7 +89,7 @@
{ "help", do_help },
--- a/lib/utils.c
+++ b/lib/utils.c
-@@ -983,6 +983,7 @@ const char *rt_addr_n2a_r(int af, int le
+@@ -1010,6 +1010,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);
@@ -97,7 +97,7 @@
case AF_IPX:
return ipx_ntop(af, addr, buf, buflen);
case AF_DECnet:
-@@ -992,6 +993,7 @@ const char *rt_addr_n2a_r(int af, int le
+@@ -1019,6 +1020,7 @@ const char *rt_addr_n2a_r(int af, int le
memcpy(dna.a_addr, addr, 2);
return dnet_ntop(af, &dna, buf, buflen);
}
@@ -115,6 +115,6 @@
+ CFLAGS += -DIPROUTE2_TINY
+endif
+
- UTILOBJ = utils.o rt_names.o ll_types.o ll_proto.o ll_addr.o \
+ UTILOBJ = utils.o rt_names.o ll_map.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/180-drop_FAILED_POLICY.patch
index 9c063791d1..9c063791d1 100644
--- a/package/network/utils/iproute2/patches/900-drop_FAILED_POLICY.patch
+++ b/package/network/utils/iproute2/patches/180-drop_FAILED_POLICY.patch
diff --git a/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch b/package/network/utils/iproute2/patches/190-add-cake-to-tc.patch
index f453af9d2e..fa238c5350 100644
--- a/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch
+++ b/package/network/utils/iproute2/patches/190-add-cake-to-tc.patch
@@ -1563,14 +1563,3 @@
+ .print_qopt = cake_print_opt,
+ .print_xstats = cake_print_xstats,
+};
---- a/tc/q_ingress.c
-+++ b/tc/q_ingress.c
-@@ -40,7 +40,7 @@ static int ingress_parse_opt(struct qdis
- static int ingress_print_opt(struct qdisc_util *qu, FILE *f,
- struct rtattr *opt)
- {
-- fprintf(f, "---------------- ");
-+ print_string(PRINT_FP, NULL, "---------------- ", NULL);
- return 0;
- }
-