]> git.itanic.dy.fi Git - linux-stable/commit
nexthop: Simplify nexthop bucket dump
authorIdo Schimmel <idosch@nvidia.com>
Sun, 13 Aug 2023 16:48:55 +0000 (19:48 +0300)
committerJakub Kicinski <kuba@kernel.org>
Wed, 16 Aug 2023 01:54:52 +0000 (18:54 -0700)
commit23ab9324fd260277f83a07c51fdc625442e98265
tree61b53825f6a771e596980c0fca154a44e428ca86
parent1e02d75817172c8ca32f6c6bdf389ab4efd76305
nexthop: Simplify nexthop bucket dump

Before commit f10d3d9df49d ("nexthop: Make nexthop bucket dump more
efficient"), rtm_dump_nexthop_bucket_nh() returned a non-zero return
code for each resilient nexthop group whose buckets it dumped,
regardless if it encountered an error or not.

This meant that the sentinel ('dd->ctx->nh.idx') used by the function
that walked the different nexthops could not be used as a sentinel for
the bucket dump, as otherwise buckets from the same group would be
dumped over and over again.

This was dealt with by adding another sentinel ('dd->ctx->done_nh_idx')
that was incremented by rtm_dump_nexthop_bucket_nh() after successfully
dumping all the buckets from a given group.

After the previously mentioned commit this sentinel is no longer
necessary since the function no longer returns a non-zero return code
when successfully dumping all the buckets from a given group.

Remove this sentinel and simplify the code.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20230813164856.2379822-2-idosch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv4/nexthop.c