Message ID | 20180501131635.14981-1-idosch@mellanox.com |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
Series | [iproute2-master] iproute: Parse last nexthop in a multipath route | expand |
On 5/1/18 7:16 AM, Ido Schimmel wrote: > 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> > --- > ip/iproute.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Acked-by: David Ahern <dsahern@gmail.com>
On Tue, 1 May 2018 16:16:35 +0300 Ido Schimmel <idosch@mellanox.com> wrote: > 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> Applied, thanks. There really ought to be test cases for this.
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)
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> --- ip/iproute.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)