]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
iproute: Parse last nexthop in a multipath route
authorIdo Schimmel <idosch@mellanox.com>
Tue, 1 May 2018 13:16:35 +0000 (16:16 +0300)
committerStephen Hemminger <stephen@networkplumber.org>
Wed, 2 May 2018 02:29:44 +0000 (19:29 -0700)
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 <idosch@mellanox.com>
Acked-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
ip/iproute.c

index 44351bc51b4bd7dd3d08f6357a720288e0ca4bc3..56dd9f25e38e13336eee7022408e0c6965f2c481 100644 (file)
@@ -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)