• Ido Schimmel's avatar
    nexthop: Simplify nexthop bucket dump · 23ab9324
    Ido Schimmel authored
    Before commit f10d3d9d ("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: default avatarIdo Schimmel <idosch@nvidia.com>
    Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
    Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
    Link: https://lore.kernel.org/r/20230813164856.2379822-2-idosch@nvidia.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    23ab9324
nexthop.c 91 KB