]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ip: neigh: Fix leftover attributes message during flush
authorJeff Harris <jefftharris@gmail.com>
Thu, 14 Apr 2016 18:15:03 +0000 (14:15 -0400)
committerStephen Hemminger <stephen@networkplumber.org>
Tue, 19 Apr 2016 14:52:33 +0000 (07:52 -0700)
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 <jefftharris@gmail.com>
Acked-by: David Ahern <dsa@cumulusnetworks.com>
ip/ipneigh.c

index c49fb4e7f7b586964f975a73a1a4bc85caf9cf86..4ddb747e20863ec6964c628199d73a7c5ea2dcab 100644 (file)
@@ -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);