summaryrefslogtreecommitdiff
path: root/meta/recipes-connectivity/iproute2
diff options
context:
space:
mode:
authorCristian Iorga <cristian.iorga@intel.com>2013-05-08 13:25:03 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-05-12 08:40:57 +0100
commit9a8a765c2ccbae29ecabe00f358b6bbb1c9b3b98 (patch)
tree22391d48589af786862dfdb519fca1d3c9a2e13f /meta/recipes-connectivity/iproute2
parent4e559881b4dd56e47762770acfab45e43f95fe45 (diff)
downloadopenembedded-core-9a8a765c2ccbae29ecabe00f358b6bbb1c9b3b98.tar.gz
openembedded-core-9a8a765c2ccbae29ecabe00f358b6bbb1c9b3b98.tar.bz2
openembedded-core-9a8a765c2ccbae29ecabe00f358b6bbb1c9b3b98.zip
iproute2: upgrade to 3.9.0
patches removed; already included in upstream. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-connectivity/iproute2')
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-Fix-compilation-error-of-m_ipt.c-with-Werror-enabled.patch46
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch142
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0003-fix-dependency-on-sizeof-__u64-sizeof-unsigned-long-.patch213
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0004-ipntable-more-fixes-for-ppc64.patch68
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_3.8.0.bb18
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_3.9.0.bb12
6 files changed, 12 insertions, 487 deletions
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-Fix-compilation-error-of-m_ipt.c-with-Werror-enabled.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-Fix-compilation-error-of-m_ipt.c-with-Werror-enabled.patch
deleted file mode 100644
index db74963e48..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2/0001-Fix-compilation-error-of-m_ipt.c-with-Werror-enabled.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Upstream-Status: Backport
-
-From 9235195666af7d887771cf557ef2bd3f00b9ecc8 Mon Sep 17 00:00:00 2001
-From: Vijay Subramanian <subramanian.vijay@gmail.com>
-Date: Tue, 26 Feb 2013 09:12:07 +0000
-Subject: [PATCH] Fix compilation error of m_ipt.c with -Werror enabled
-
-Commit (5a650703d47e10aa386406c855eff5a593b2120b Makefile: make warnings into
-errors ) causes the following build error.
-
-gcc -Wall -Wstrict-prototypes -Werror -Wmissing-prototypes
--Wmissing-declarations -Wold-style-definition -O2 -I../include
--DRESOLVE_HOSTNAMES -DLIBDIR=\"/usr/lib\" -DCONFDIR=\"/etc/iproute2\"
--D_GNU_SOURCE -DCONFIG_GACT -DCONFIG_GACT_PROB -DIPT_LIB_DIR=\"/lib/xtables\"
--DYY_NO_INPUT -c -o m_ipt.o m_ipt.c
-cc1: warnings being treated as errors
-m_ipt.c:72: error: no previous prototype for 'xtables_register_target'
-m_ipt.c:361: error: no previous prototype for 'build_st'
-make[1]: *** [m_ipt.o] Error 1
-
-This is fixed by adding the prototype in the header include/iptables.h
-
-I am not sure if this is due to something wrong on my build system but I am
-using current glibc 2.17.
-
-Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
----
- include/iptables.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/include/iptables.h b/include/iptables.h
-index dd844c1..f1e62e2 100644
---- a/include/iptables.h
-+++ b/include/iptables.h
-@@ -143,6 +143,8 @@ extern int line;
- /* Your shared library should call one of these. */
- extern void register_match(struct iptables_match *me);
- extern void register_target(struct iptables_target *me);
-+extern void xtables_register_target(struct iptables_target *me);
-+extern int build_st(struct iptables_target *target, struct ipt_entry_target *t);
-
- extern struct in_addr *dotted_to_addr(const char *dotted);
- extern char *addr_to_dotted(const struct in_addr *addrp);
---
-1.7.9.5
-
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch
deleted file mode 100644
index b5cbf9514e..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-Upstream-Status: Backport
-
-From a7c2882461581747488e5aabf10d19b46b371a01 Mon Sep 17 00:00:00 2001
-From: Stephen Hemminger <stephen@networkplumber.org>
-Date: Wed, 27 Feb 2013 07:26:17 -0800
-Subject: [PATCH] ip: fix ipv6 ntable on ppc64
-
-Add casts to handle printf format when
- sizeof(unsigned long long) != sizeof(__u64)
----
- ip/ipntable.c | 56 +++++++++++++++++++++++++++++++++++++-------------------
- 1 file changed, 37 insertions(+), 19 deletions(-)
-
-diff --git a/ip/ipntable.c b/ip/ipntable.c
-index 5751114..56ad001 100644
---- a/ip/ipntable.c
-+++ b/ip/ipntable.c
-@@ -432,7 +432,7 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- }
- if (tb[NDTA_GC_INTERVAL]) {
- __u64 gc_int = rta_getattr_u64(tb[NDTA_GC_INTERVAL]);
-- fprintf(fp, "gc_int %llu ", gc_int);
-+ fprintf(fp, "gc_int %llu ", (unsigned long long) gc_int);
- }
-
- if (ret)
-@@ -485,15 +485,18 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- }
- if (tpb[NDTPA_REACHABLE_TIME]) {
- __u64 reachable = rta_getattr_u64(tpb[NDTPA_REACHABLE_TIME]);
-- fprintf(fp, "reachable %llu ", reachable);
-+ fprintf(fp, "reachable %llu ",
-+ (unsigned long long) reachable);
- }
- if (tpb[NDTPA_BASE_REACHABLE_TIME]) {
- __u64 breachable = rta_getattr_u64(tpb[NDTPA_BASE_REACHABLE_TIME]);
-- fprintf(fp, "base_reachable %llu ", breachable);
-+ fprintf(fp, "base_reachable %llu ",
-+ (unsigned long long) breachable);
- }
- if (tpb[NDTPA_RETRANS_TIME]) {
- __u64 retrans = rta_getattr_u64(tpb[NDTPA_RETRANS_TIME]);
-- fprintf(fp, "retrans %llu ", retrans);
-+ fprintf(fp, "retrans %llu ",
-+ (unsigned long long) retrans);
- }
-
- fprintf(fp, "%s", _SL_);
-@@ -502,11 +505,13 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
-
- if (tpb[NDTPA_GC_STALETIME]) {
- __u64 gc_stale = rta_getattr_u64(tpb[NDTPA_GC_STALETIME]);
-- fprintf(fp, "gc_stale %llu ", gc_stale);
-+ fprintf(fp, "gc_stale %llu ",
-+ (unsigned long long) gc_stale);
- }
- if (tpb[NDTPA_DELAY_PROBE_TIME]) {
- __u64 delay_probe = rta_getattr_u64(tpb[NDTPA_DELAY_PROBE_TIME]);
-- fprintf(fp, "delay_probe %llu ", delay_probe);
-+ fprintf(fp, "delay_probe %llu ",
-+ (unsigned long long) delay_probe);
- }
- if (tpb[NDTPA_QUEUE_LEN]) {
- __u32 queue = rta_getattr_u32(tpb[NDTPA_QUEUE_LEN]);
-@@ -536,11 +541,13 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
-
- if (tpb[NDTPA_ANYCAST_DELAY]) {
- __u64 anycast_delay = rta_getattr_u64(tpb[NDTPA_ANYCAST_DELAY]);
-- fprintf(fp, "anycast_delay %llu ", anycast_delay);
-+ fprintf(fp, "anycast_delay %llu ",
-+ (unsigned long long) anycast_delay);
- }
- if (tpb[NDTPA_PROXY_DELAY]) {
- __u64 proxy_delay = rta_getattr_u64(tpb[NDTPA_PROXY_DELAY]);
-- fprintf(fp, "proxy_delay %llu ", proxy_delay);
-+ fprintf(fp, "proxy_delay %llu ",
-+ (unsigned long long) proxy_delay);
- }
- if (tpb[NDTPA_PROXY_QLEN]) {
- __u32 pqueue = rta_getattr_u32(tpb[NDTPA_PROXY_QLEN]);
-@@ -548,7 +555,8 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- }
- if (tpb[NDTPA_LOCKTIME]) {
- __u64 locktime = rta_getattr_u64(tpb[NDTPA_LOCKTIME]);
-- fprintf(fp, "locktime %llu ", locktime);
-+ fprintf(fp, "locktime %llu ",
-+ (unsigned long long) locktime);
- }
-
- fprintf(fp, "%s", _SL_);
-@@ -560,28 +568,38 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- fprintf(fp, " ");
- fprintf(fp, "stats ");
-
-- fprintf(fp, "allocs %llu ", ndts->ndts_allocs);
-- fprintf(fp, "destroys %llu ", ndts->ndts_destroys);
-- fprintf(fp, "hash_grows %llu ", ndts->ndts_hash_grows);
-+ fprintf(fp, "allocs %llu ",
-+ (unsigned long long) ndts->ndts_allocs);
-+ fprintf(fp, "destroys %llu ",
-+ (unsigned long long) ndts->ndts_destroys);
-+ fprintf(fp, "hash_grows %llu ",
-+ (unsigned long long) ndts->ndts_hash_grows);
-
- fprintf(fp, "%s", _SL_);
- fprintf(fp, " ");
-
-- fprintf(fp, "res_failed %llu ", ndts->ndts_res_failed);
-- fprintf(fp, "lookups %llu ", ndts->ndts_lookups);
-- fprintf(fp, "hits %llu ", ndts->ndts_hits);
-+ fprintf(fp, "res_failed %llu ",
-+ (unsigned long long) ndts->ndts_res_failed);
-+ fprintf(fp, "lookups %llu ",
-+ (unsigned long long) ndts->ndts_lookups);
-+ fprintf(fp, "hits %llu ",
-+ (unsigned long long) ndts->ndts_hits);
-
- fprintf(fp, "%s", _SL_);
- fprintf(fp, " ");
-
-- fprintf(fp, "rcv_probes_mcast %llu ", ndts->ndts_rcv_probes_mcast);
-- fprintf(fp, "rcv_probes_ucast %llu ", ndts->ndts_rcv_probes_ucast);
-+ fprintf(fp, "rcv_probes_mcast %llu ",
-+ (unsigned long long) ndts->ndts_rcv_probes_mcast);
-+ fprintf(fp, "rcv_probes_ucast %llu ",
-+ (unsigned long long) ndts->ndts_rcv_probes_ucast);
-
- fprintf(fp, "%s", _SL_);
- fprintf(fp, " ");
-
-- fprintf(fp, "periodic_gc_runs %llu ", ndts->ndts_periodic_gc_runs);
-- fprintf(fp, "forced_gc_runs %llu ", ndts->ndts_forced_gc_runs);
-+ fprintf(fp, "periodic_gc_runs %llu ",
-+ (unsigned long long) ndts->ndts_periodic_gc_runs);
-+ fprintf(fp, "forced_gc_runs %llu ",
-+ (unsigned long long) ndts->ndts_forced_gc_runs);
-
- fprintf(fp, "%s", _SL_);
- }
---
-1.7.9.7
-
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0003-fix-dependency-on-sizeof-__u64-sizeof-unsigned-long-.patch b/meta/recipes-connectivity/iproute2/iproute2/0003-fix-dependency-on-sizeof-__u64-sizeof-unsigned-long-.patch
deleted file mode 100644
index a5af49f84e..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2/0003-fix-dependency-on-sizeof-__u64-sizeof-unsigned-long-.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-Upstream-Status: Backport
-
-From a55a8fd83be9d91bd2adb73eebac8833a51b626f Mon Sep 17 00:00:00 2001
-From: Stephen Hemminger <stephen@networkplumber.org>
-Date: Thu, 28 Feb 2013 08:51:46 -0800
-Subject: [PATCH] fix dependency on sizeof(__u64) == sizeof(unsigned long
- long)
-
-Some platforms like ppc64 have unsigned long long as 128 bits, and
-the printf format string would cause errors. Resolve this by using
-unsigned long long where necessary (or unsigned long).
----
- ip/ipntable.c | 74 +++++++++++++++++++++---------------------------------
- ip/tcp_metrics.c | 13 +++++-----
- 2 files changed, 35 insertions(+), 52 deletions(-)
-
-diff --git a/ip/ipntable.c b/ip/ipntable.c
-index 56ad001..a1a3c26 100644
---- a/ip/ipntable.c
-+++ b/ip/ipntable.c
-@@ -431,8 +431,8 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- fprintf(fp, "thresh3 %u ", thresh3);
- }
- if (tb[NDTA_GC_INTERVAL]) {
-- __u64 gc_int = rta_getattr_u64(tb[NDTA_GC_INTERVAL]);
-- fprintf(fp, "gc_int %llu ", (unsigned long long) gc_int);
-+ unsigned long long gc_int = rta_getattr_u64(tb[NDTA_GC_INTERVAL]);
-+ fprintf(fp, "gc_int %llu ", gc_int);
- }
-
- if (ret)
-@@ -484,19 +484,16 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- fprintf(fp, "refcnt %u ", refcnt);
- }
- if (tpb[NDTPA_REACHABLE_TIME]) {
-- __u64 reachable = rta_getattr_u64(tpb[NDTPA_REACHABLE_TIME]);
-- fprintf(fp, "reachable %llu ",
-- (unsigned long long) reachable);
-+ unsigned long long reachable = rta_getattr_u64(tpb[NDTPA_REACHABLE_TIME]);
-+ fprintf(fp, "reachable %llu ", reachable);
- }
- if (tpb[NDTPA_BASE_REACHABLE_TIME]) {
-- __u64 breachable = rta_getattr_u64(tpb[NDTPA_BASE_REACHABLE_TIME]);
-- fprintf(fp, "base_reachable %llu ",
-- (unsigned long long) breachable);
-+ unsigned long long breachable = rta_getattr_u64(tpb[NDTPA_BASE_REACHABLE_TIME]);
-+ fprintf(fp, "base_reachable %llu ", breachable);
- }
- if (tpb[NDTPA_RETRANS_TIME]) {
-- __u64 retrans = rta_getattr_u64(tpb[NDTPA_RETRANS_TIME]);
-- fprintf(fp, "retrans %llu ",
-- (unsigned long long) retrans);
-+ unsigned long long retrans = rta_getattr_u64(tpb[NDTPA_RETRANS_TIME]);
-+ fprintf(fp, "retrans %llu ", retrans);
- }
-
- fprintf(fp, "%s", _SL_);
-@@ -504,14 +501,12 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- fprintf(fp, " ");
-
- if (tpb[NDTPA_GC_STALETIME]) {
-- __u64 gc_stale = rta_getattr_u64(tpb[NDTPA_GC_STALETIME]);
-- fprintf(fp, "gc_stale %llu ",
-- (unsigned long long) gc_stale);
-+ unsigned long long gc_stale = rta_getattr_u64(tpb[NDTPA_GC_STALETIME]);
-+ fprintf(fp, "gc_stale %llu ", gc_stale);
- }
- if (tpb[NDTPA_DELAY_PROBE_TIME]) {
-- __u64 delay_probe = rta_getattr_u64(tpb[NDTPA_DELAY_PROBE_TIME]);
-- fprintf(fp, "delay_probe %llu ",
-- (unsigned long long) delay_probe);
-+ unsigned long long delay_probe = rta_getattr_u64(tpb[NDTPA_DELAY_PROBE_TIME]);
-+ fprintf(fp, "delay_probe %llu ", delay_probe);
- }
- if (tpb[NDTPA_QUEUE_LEN]) {
- __u32 queue = rta_getattr_u32(tpb[NDTPA_QUEUE_LEN]);
-@@ -540,23 +535,20 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- fprintf(fp, " ");
-
- if (tpb[NDTPA_ANYCAST_DELAY]) {
-- __u64 anycast_delay = rta_getattr_u64(tpb[NDTPA_ANYCAST_DELAY]);
-- fprintf(fp, "anycast_delay %llu ",
-- (unsigned long long) anycast_delay);
-+ unsigned long long anycast_delay = rta_getattr_u64(tpb[NDTPA_ANYCAST_DELAY]);
-+ fprintf(fp, "anycast_delay %llu ", anycast_delay);
- }
- if (tpb[NDTPA_PROXY_DELAY]) {
-- __u64 proxy_delay = rta_getattr_u64(tpb[NDTPA_PROXY_DELAY]);
-- fprintf(fp, "proxy_delay %llu ",
-- (unsigned long long) proxy_delay);
-+ unsigned long long proxy_delay = rta_getattr_u64(tpb[NDTPA_PROXY_DELAY]);
-+ fprintf(fp, "proxy_delay %llu ", proxy_delay);
- }
- if (tpb[NDTPA_PROXY_QLEN]) {
- __u32 pqueue = rta_getattr_u32(tpb[NDTPA_PROXY_QLEN]);
- fprintf(fp, "proxy_queue %u ", pqueue);
- }
- if (tpb[NDTPA_LOCKTIME]) {
-- __u64 locktime = rta_getattr_u64(tpb[NDTPA_LOCKTIME]);
-- fprintf(fp, "locktime %llu ",
-- (unsigned long long) locktime);
-+ unsigned long long locktime = rta_getattr_u64(tpb[NDTPA_LOCKTIME]);
-+ fprintf(fp, "locktime %llu ", locktime);
- }
-
- fprintf(fp, "%s", _SL_);
-@@ -568,38 +560,28 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- fprintf(fp, " ");
- fprintf(fp, "stats ");
-
-- fprintf(fp, "allocs %llu ",
-- (unsigned long long) ndts->ndts_allocs);
-- fprintf(fp, "destroys %llu ",
-- (unsigned long long) ndts->ndts_destroys);
-- fprintf(fp, "hash_grows %llu ",
-- (unsigned long long) ndts->ndts_hash_grows);
-+ fprintf(fp, "allocs %llu ", ndts->ndts_allocs);
-+ fprintf(fp, "destroys %llu ", ndts->ndts_destroys);
-+ fprintf(fp, "hash_grows %llu ", ndts->ndts_hash_grows);
-
- fprintf(fp, "%s", _SL_);
- fprintf(fp, " ");
-
-- fprintf(fp, "res_failed %llu ",
-- (unsigned long long) ndts->ndts_res_failed);
-- fprintf(fp, "lookups %llu ",
-- (unsigned long long) ndts->ndts_lookups);
-- fprintf(fp, "hits %llu ",
-- (unsigned long long) ndts->ndts_hits);
-+ fprintf(fp, "res_failed %llu ", ndts->ndts_res_failed);
-+ fprintf(fp, "lookups %llu ", ndts->ndts_lookups);
-+ fprintf(fp, "hits %llu ", ndts->ndts_hits);
-
- fprintf(fp, "%s", _SL_);
- fprintf(fp, " ");
-
-- fprintf(fp, "rcv_probes_mcast %llu ",
-- (unsigned long long) ndts->ndts_rcv_probes_mcast);
-- fprintf(fp, "rcv_probes_ucast %llu ",
-- (unsigned long long) ndts->ndts_rcv_probes_ucast);
-+ fprintf(fp, "rcv_probes_mcast %llu ", ndts->ndts_rcv_probes_mcast);
-+ fprintf(fp, "rcv_probes_ucast %llu ", ndts->ndts_rcv_probes_ucast);
-
- fprintf(fp, "%s", _SL_);
- fprintf(fp, " ");
-
-- fprintf(fp, "periodic_gc_runs %llu ",
-- (unsigned long long) ndts->ndts_periodic_gc_runs);
-- fprintf(fp, "forced_gc_runs %llu ",
-- (unsigned long long) ndts->ndts_forced_gc_runs);
-+ fprintf(fp, "periodic_gc_runs %llu ", ndts->ndts_periodic_gc_runs);
-+ fprintf(fp, "forced_gc_runs %llu ", ndts->ndts_forced_gc_runs);
-
- fprintf(fp, "%s", _SL_);
- }
-diff --git a/ip/tcp_metrics.c b/ip/tcp_metrics.c
-index a01e1fb..c6be3c9 100644
---- a/ip/tcp_metrics.c
-+++ b/ip/tcp_metrics.c
-@@ -166,7 +166,7 @@ static int process_msg(const struct sockaddr_nl *who, struct nlmsghdr *n,
-
- a = attrs[TCP_METRICS_ATTR_AGE];
- if (a) {
-- __u64 val = rta_getattr_u64(a);
-+ unsigned long long val = rta_getattr_u64(a);
-
- fprintf(fp, " age %llu.%03llusec",
- val / 1000, val % 1000);
-@@ -189,7 +189,7 @@ static int process_msg(const struct sockaddr_nl *who, struct nlmsghdr *n,
- parse_rtattr_nested(m, TCP_METRIC_MAX + 1, a);
-
- for (i = 0; i < TCP_METRIC_MAX + 1; i++) {
-- __u32 val;
-+ unsigned long val;
-
- a = m[i + 1];
- if (!a)
-@@ -198,19 +198,20 @@ static int process_msg(const struct sockaddr_nl *who, struct nlmsghdr *n,
- fprintf(fp, " %s ", metric_name[i]);
- else
- fprintf(fp, " metric_%d ", i);
-+
- val = rta_getattr_u32(a);
- switch (i) {
- case TCP_METRIC_RTT:
-- fprintf(fp, "%lluus", (val * 1000ULL) >> 3);
-+ fprintf(fp, "%luus", (val * 1000UL) >> 3);
- break;
- case TCP_METRIC_RTTVAR:
-- fprintf(fp, "%lluus", (val * 1000ULL) >> 2);
-+ fprintf(fp, "%luus", (val * 1000UL) >> 2);
- break;
- case TCP_METRIC_SSTHRESH:
- case TCP_METRIC_CWND:
- case TCP_METRIC_REORDERING:
- default:
-- fprintf(fp, "%u", val);
-+ fprintf(fp, "%lu", val);
- break;
- }
- }
-@@ -223,7 +224,7 @@ static int process_msg(const struct sockaddr_nl *who, struct nlmsghdr *n,
- a = attrs[TCP_METRICS_ATTR_FOPEN_SYN_DROPS];
- if (a) {
- __u16 syn_loss = rta_getattr_u16(a);
-- __u64 ts;
-+ unsigned long long ts;
-
- a = attrs[TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS];
- ts = a ? rta_getattr_u64(a) : 0;
---
-1.7.9.7
-
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0004-ipntable-more-fixes-for-ppc64.patch b/meta/recipes-connectivity/iproute2/iproute2/0004-ipntable-more-fixes-for-ppc64.patch
deleted file mode 100644
index e841709867..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2/0004-ipntable-more-fixes-for-ppc64.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Upstream-Status: Backport
-
-From ae70d9665615ae723a108947aa60b5f65caffab2 Mon Sep 17 00:00:00 2001
-From: Stephen Hemminger <stephen@networkplumber.org>
-Date: Mon, 4 Mar 2013 13:59:39 -0800
-Subject: [PATCH] ipntable: more fixes for ppc64
-
-Not all arch have sizeof(unsigned long long) == sizeof(__u64)
----
- ip/ipntable.c | 30 ++++++++++++++++++++----------
- 1 file changed, 20 insertions(+), 10 deletions(-)
-
-diff --git a/ip/ipntable.c b/ip/ipntable.c
-index a1a3c26..67b199e 100644
---- a/ip/ipntable.c
-+++ b/ip/ipntable.c
-@@ -560,28 +560,38 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
- fprintf(fp, " ");
- fprintf(fp, "stats ");
-
-- fprintf(fp, "allocs %llu ", ndts->ndts_allocs);
-- fprintf(fp, "destroys %llu ", ndts->ndts_destroys);
-- fprintf(fp, "hash_grows %llu ", ndts->ndts_hash_grows);
-+ fprintf(fp, "allocs %llu ",
-+ (unsigned long long) ndts->ndts_allocs);
-+ fprintf(fp, "destroys %llu ",
-+ (unsigned long long) ndts->ndts_destroys);
-+ fprintf(fp, "hash_grows %llu ",
-+ (unsigned long long) ndts->ndts_hash_grows);
-
- fprintf(fp, "%s", _SL_);
- fprintf(fp, " ");
-
-- fprintf(fp, "res_failed %llu ", ndts->ndts_res_failed);
-- fprintf(fp, "lookups %llu ", ndts->ndts_lookups);
-- fprintf(fp, "hits %llu ", ndts->ndts_hits);
-+ fprintf(fp, "res_failed %llu ",
-+ (unsigned long long) ndts->ndts_res_failed);
-+ fprintf(fp, "lookups %llu ",
-+ (unsigned long long) ndts->ndts_lookups);
-+ fprintf(fp, "hits %llu ",
-+ (unsigned long long) ndts->ndts_hits);
-
- fprintf(fp, "%s", _SL_);
- fprintf(fp, " ");
-
-- fprintf(fp, "rcv_probes_mcast %llu ", ndts->ndts_rcv_probes_mcast);
-- fprintf(fp, "rcv_probes_ucast %llu ", ndts->ndts_rcv_probes_ucast);
-+ fprintf(fp, "rcv_probes_mcast %llu ",
-+ (unsigned long long) ndts->ndts_rcv_probes_mcast);
-+ fprintf(fp, "rcv_probes_ucast %llu ",
-+ (unsigned long long) ndts->ndts_rcv_probes_ucast);
-
- fprintf(fp, "%s", _SL_);
- fprintf(fp, " ");
-
-- fprintf(fp, "periodic_gc_runs %llu ", ndts->ndts_periodic_gc_runs);
-- fprintf(fp, "forced_gc_runs %llu ", ndts->ndts_forced_gc_runs);
-+ fprintf(fp, "periodic_gc_runs %llu ",
-+ (unsigned long long) ndts->ndts_periodic_gc_runs);
-+ fprintf(fp, "forced_gc_runs %llu ",
-+ (unsigned long long) ndts->ndts_forced_gc_runs);
-
- fprintf(fp, "%s", _SL_);
- }
---
-1.7.9.7
-
diff --git a/meta/recipes-connectivity/iproute2/iproute2_3.8.0.bb b/meta/recipes-connectivity/iproute2/iproute2_3.8.0.bb
deleted file mode 100644
index 65164cba60..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2_3.8.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require iproute2.inc
-
-PR = "r2"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BPN}-${PV}.tar.xz \
- file://configure-cross.patch \
- file://0001-Fix-compilation-error-of-m_ipt.c-with-Werror-enabled.patch \
- file://0001-ip-fix-ipv6-ntable-on-ppc64.patch \
- file://0003-fix-dependency-on-sizeof-__u64-sizeof-unsigned-long-.patch \
- file://0004-ipntable-more-fixes-for-ppc64.patch \
- "
-
-SRC_URI[md5sum] = "951622fd770428116dc165acba375414"
-SRC_URI[sha256sum] = "579145749f1aaf60e7c7a5de24b7f00fa2200a961094733c792b4ff139181e4f"
-
-# CFLAGS are computed in Makefile and reference CCOPTS
-#
-EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'"
diff --git a/meta/recipes-connectivity/iproute2/iproute2_3.9.0.bb b/meta/recipes-connectivity/iproute2/iproute2_3.9.0.bb
new file mode 100644
index 0000000000..2bf3f2c727
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2_3.9.0.bb
@@ -0,0 +1,12 @@
+require iproute2.inc
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BPN}-${PV}.tar.xz \
+ file://configure-cross.patch \
+ "
+
+SRC_URI[md5sum] = "fd9db28e4f411a1e74de65c919ae590f"
+SRC_URI[sha256sum] = "16f027af432a05085813a2f859b7d42dafd29b8c035ead830d37565b7397592d"
+
+# CFLAGS are computed in Makefile and reference CCOPTS
+#
+EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'"