Ido Schimmel 9e46fb656f nexthop: Restart nexthop dump based on last dumped nexthop identifier
Currently, a multi-part nexthop dump is restarted based on the number of
nexthops that have been dumped so far. This can result in a lot of
nexthops not being dumped when nexthops are simultaneously deleted:

 # ip nexthop | wc -l
 65536
 # ip nexthop flush
 Dump was interrupted and may be inconsistent.
 Flushed 36040 nexthops
 # ip nexthop | wc -l
 29496

Instead, restart the dump based on the nexthop identifier (fixed number)
of the last successfully dumped nexthop:

 # ip nexthop | wc -l
 65536
 # ip nexthop flush
 Dump was interrupted and may be inconsistent.
 Flushed 65536 nexthops
 # ip nexthop | wc -l
 0

Reported-by: Maksym Yaremchuk <maksymy@nvidia.com>
Tested-by: Maksym Yaremchuk <maksymy@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-19 15:20:34 -07:00
..
2021-03-30 16:54:50 -07:00
2021-03-26 20:41:52 -07:00
2021-03-25 17:05:07 -07:00
2021-04-09 16:34:56 -07:00
2021-03-28 17:31:13 -07:00
2021-03-22 13:17:49 -07:00
2021-03-28 17:31:13 -07:00
2021-01-24 14:27:18 +01:00
2021-03-28 17:52:51 -07:00
2021-03-28 17:31:13 -07:00
2021-03-19 13:38:46 -07:00
2021-03-25 16:56:27 -07:00