From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ido Schimmel Subject: [PATCH iproute2-master] iproute: Parse last nexthop in a multipath route Date: Tue, 1 May 2018 16:16:35 +0300 Message-ID: <20180501131635.14981-1-idosch@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain Cc: stephen@networkplumber.org, dsahern@gmail.com, mlxsw@mellanox.com, Ido Schimmel To: netdev@vger.kernel.org Return-path: Received: from mail-eopbgr10076.outbound.protection.outlook.com ([40.107.1.76]:20971 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751090AbeEANRF (ORCPT ); Tue, 1 May 2018 09:17:05 -0400 Sender: netdev-owner@vger.kernel.org List-ID: Continue parsing a multipath payload as long as another nexthop can fit in the payload. # ip route add 192.0.2.0/24 nexthop dev dummy0 nexthop dev dummy1 Before: # ip route show 192.0.2.0/24 192.0.2.0/24 nexthop dev dummy0 weight 1 After: # ip route show 192.0.2.0/24 192.0.2.0/24 nexthop dev dummy0 weight 1 nexthop dev dummy1 weight 1 Fixes: f48e14880a0e ("iproute: refactor multipath print") Signed-off-by: Ido Schimmel --- ip/iproute.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ip/iproute.c b/ip/iproute.c index 44351bc51b4b..56dd9f25e38e 100644 --- a/ip/iproute.c +++ b/ip/iproute.c @@ -650,7 +650,7 @@ static void print_rta_multipath(FILE *fp, const struct rtmsg *r, int len = RTA_PAYLOAD(rta); int first = 1; - while (len > sizeof(*nh)) { + while (len >= sizeof(*nh)) { struct rtattr *tb[RTA_MAX + 1]; if (nh->rtnh_len > len) -- 2.14.3