From: Jeff Harris Date: Thu, 14 Apr 2016 18:15:03 +0000 (-0400) Subject: ip: neigh: Fix leftover attributes message during flush X-Git-Tag: v4.6.0~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c346dccf8a16e32f855427dcb2bb7f29cbf06f1;p=thirdparty%2Fiproute2.git ip: neigh: Fix leftover attributes message during flush Use the same rtnl_dump_request_n call as the show. The rtnl_wilddump_request assumes the type uses an ifinfomsg which is not the case for the neighbor table. Signed-off-by: Jeff Harris Acked-by: David Ahern --- diff --git a/ip/ipneigh.c b/ip/ipneigh.c index c49fb4e7f..4ddb747e2 100644 --- a/ip/ipneigh.c +++ b/ip/ipneigh.c @@ -430,6 +430,8 @@ static int do_show_or_flush(int argc, char **argv, int flush) addattr32(&req.n, sizeof(req), NDA_IFINDEX, filter.index); } + req.ndm.ndm_family = filter.family; + if (flush) { int round = 0; char flushb[4096-512]; @@ -440,7 +442,7 @@ static int do_show_or_flush(int argc, char **argv, int flush) filter.state &= ~NUD_FAILED; while (round < MAX_ROUNDS) { - if (rtnl_wilddump_request(&rth, filter.family, RTM_GETNEIGH) < 0) { + if (rtnl_dump_request_n(&rth, &req.n) < 0) { perror("Cannot send dump request"); exit(1); } @@ -472,8 +474,6 @@ static int do_show_or_flush(int argc, char **argv, int flush) return 1; } - req.ndm.ndm_family = filter.family; - if (rtnl_dump_request_n(&rth, &req.n) < 0) { perror("Cannot send dump request"); exit(1);