Message ID | 4AF662CA.3010208@gmail.com |
---|---|
State | Superseded, archived |
Delegated to: | stephen hemminger |
Headers | show |
diff --git a/lib/libnetlink.c b/lib/libnetlink.c index b68e2fd..100dd40 100644 --- a/lib/libnetlink.c +++ b/lib/libnetlink.c @@ -137,8 +137,8 @@ int rtnl_send_check(struct rtnl_handle *rth, const char *buf, int len) fprintf(stderr, "ERROR truncated\n"); else errno = -err->error; + return -1; } - return -1; } return 0;
We currently cannot flush more than ~64 addresses on a device, with strange status. # ip -stats addr flush dev eth3 Failed to send flush request: Success Flush terminated Problem is in rtnl_send_check(), where a return -1; is misplaced. After patch, we can flush 64000 addresses without any problem. # ip -stats addr flush dev eth3 *** Round 1, deleting 32338 addresses *** *** Round 2, deleting 16168 addresses *** *** Round 3, deleting 8082 addresses *** *** Round 4, deleting 4058 addresses *** *** Round 5, deleting 2028 addresses *** *** Round 6, deleting 918 addresses *** *** Round 7, deleting 278 addresses *** *** Round 8, deleting 130 addresses *** *** Flush is complete after 8 rounds *** Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> --- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html