From fdf6b6f52460890305f231c041e060fbb232550b Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Thu, 26 Nov 2020 09:34:39 +0000 Subject: fib: Expressive type for walk return code. Honour code. Type: improvement Signed-off-by: Neale Ranns Change-Id: I487e698555545fce85d02d55deaaf7bb0007e388 --- src/vnet/dpo/load_balance_map.c | 4 ++-- src/vnet/fib/fib_attached_export.c | 4 ++-- src/vnet/fib/fib_entry_cover.c | 15 ++++++--------- src/vnet/fib/fib_entry_cover.h | 6 +++--- src/vnet/fib/fib_node.c | 4 ++-- src/vnet/fib/fib_node_list.c | 3 ++- src/vnet/fib/fib_node_list.h | 4 ++-- src/vnet/mfib/mfib_entry_cover.c | 5 ++--- 8 files changed, 21 insertions(+), 24 deletions(-) diff --git a/src/vnet/dpo/load_balance_map.c b/src/vnet/dpo/load_balance_map.c index c03acaf2d70..de5f30bc60a 100644 --- a/src/vnet/dpo/load_balance_map.c +++ b/src/vnet/dpo/load_balance_map.c @@ -491,7 +491,7 @@ load_balance_map_unlock (index_t lbmi) } } -static int +static walk_rc_t load_balance_map_path_state_change_walk (fib_node_ptr_t *fptr, void *ctx) { @@ -501,7 +501,7 @@ load_balance_map_path_state_change_walk (fib_node_ptr_t *fptr, load_balance_map_fill(lbm); - return (!0); + return (WALK_CONTINUE); } /** diff --git a/src/vnet/fib/fib_attached_export.c b/src/vnet/fib/fib_attached_export.c index 4a33b8897f5..5ea96fd0cf6 100644 --- a/src/vnet/fib/fib_attached_export.c +++ b/src/vnet/fib/fib_attached_export.c @@ -205,7 +205,7 @@ fib_entry_import_add (fib_ae_import_t *import, /** * Call back when walking a connected prefix's covered prefixes for import */ -static int +static walk_rc_t fib_entry_covered_walk_import (fib_entry_t *cover, fib_node_index_t covered, void *ctx) @@ -214,7 +214,7 @@ fib_entry_covered_walk_import (fib_entry_t *cover, fib_entry_import_add(import, covered); - return (0); + return (WALK_CONTINUE); } /* diff --git a/src/vnet/fib/fib_entry_cover.c b/src/vnet/fib/fib_entry_cover.c index 153bd70a5bf..47bc5c30ce6 100644 --- a/src/vnet/fib/fib_entry_cover.c +++ b/src/vnet/fib/fib_entry_cover.c @@ -72,7 +72,7 @@ typedef struct fib_enty_cover_walk_ctx_t_ { void *ctx; } fib_enty_cover_walk_ctx_t; -static int +static walk_rc_t fib_entry_cover_walk_node_ptr (fib_node_ptr_t *depend, void *args) { @@ -80,8 +80,7 @@ fib_entry_cover_walk_node_ptr (fib_node_ptr_t *depend, ctx->walk(ctx->cover, depend->fnp_index, ctx->ctx); - /* continue */ - return (1); + return (WALK_CONTINUE); } void @@ -107,7 +106,7 @@ fib_entry_cover_walk (fib_entry_t *cover, &ctx); } -static int +static walk_rc_t fib_entry_cover_change_one (fib_entry_t *cover, fib_node_index_t covered, void *args) @@ -144,8 +143,7 @@ fib_entry_cover_change_one (fib_entry_t *cover, fib_entry_cover_changed(covered); } } - /* continue */ - return (1); + return (WALK_CONTINUE); } void @@ -161,15 +159,14 @@ fib_entry_cover_change_notify (fib_node_index_t cover_index, uword_to_pointer(covered, void*)); } -static int +static walk_rc_t fib_entry_cover_update_one (fib_entry_t *cover, fib_node_index_t covered, void *args) { fib_entry_cover_updated(covered); - /* continue */ - return (1); + return (WALK_CONTINUE); } void diff --git a/src/vnet/fib/fib_entry_cover.h b/src/vnet/fib/fib_entry_cover.h index 500d5b33244..499efdc31c6 100644 --- a/src/vnet/fib/fib_entry_cover.h +++ b/src/vnet/fib/fib_entry_cover.h @@ -21,9 +21,9 @@ /** * callback function used when walking the covered entries */ -typedef int (*fib_entry_covered_walk_t)(fib_entry_t *cover, - fib_node_index_t covered, - void *ctx); +typedef walk_rc_t (*fib_entry_covered_walk_t)(fib_entry_t *cover, + fib_node_index_t covered, + void *ctx); extern u32 fib_entry_cover_track(fib_entry_t *cover, fib_node_index_t covered); diff --git a/src/vnet/fib/fib_node.c b/src/vnet/fib/fib_node.c index 3e99007da64..1d3abd50a9d 100644 --- a/src/vnet/fib/fib_node.c +++ b/src/vnet/fib/fib_node.c @@ -161,7 +161,7 @@ fib_node_back_walk_one (fib_node_ptr_t *ptr, return (fn_vfts[ptr->fnp_type].fnv_back_walk(node, ctx)); } -static int +static walk_rc_t fib_node_ptr_format_one_child (fib_node_ptr_t *ptr, void *arg) { @@ -169,7 +169,7 @@ fib_node_ptr_format_one_child (fib_node_ptr_t *ptr, *s = fib_node_format(ptr, *s); - return (1); + return (WALK_CONTINUE); } u8* diff --git a/src/vnet/fib/fib_node_list.c b/src/vnet/fib/fib_node_list.c index ceb951b466b..bcd9a09152d 100644 --- a/src/vnet/fib/fib_node_list.c +++ b/src/vnet/fib/fib_node_list.c @@ -372,7 +372,8 @@ fib_node_list_walk (fib_node_list_t list, elt = fib_node_list_elt_get(sibling); sibling = elt->fnle_next; - fn(&elt->fnle_owner, args); + if (WALK_STOP == fn(&elt->fnle_owner, args)) + break; } } diff --git a/src/vnet/fib/fib_node_list.h b/src/vnet/fib/fib_node_list.h index 9567b9669e8..76abec50543 100644 --- a/src/vnet/fib/fib_node_list.h +++ b/src/vnet/fib/fib_node_list.h @@ -52,8 +52,8 @@ extern u32 fib_node_list_get_size(fib_node_list_t head); /** * @brief Callback function invoked during a list walk */ -typedef int (*fib_node_list_walk_cb_t)(fib_node_ptr_t *owner, - void *args); +typedef walk_rc_t (*fib_node_list_walk_cb_t)(fib_node_ptr_t *owner, + void *args); extern void fib_node_list_walk(fib_node_list_t head, fib_node_list_walk_cb_t fn, diff --git a/src/vnet/mfib/mfib_entry_cover.c b/src/vnet/mfib/mfib_entry_cover.c index 6caeb1b6928..2f5fd6bad08 100644 --- a/src/vnet/mfib/mfib_entry_cover.c +++ b/src/vnet/mfib/mfib_entry_cover.c @@ -71,7 +71,7 @@ typedef struct mfib_enty_cover_walk_ctx_t_ { void *ctx; } mfib_enty_cover_walk_ctx_t; -static int +static walk_rc_t mfib_entry_cover_walk_node_ptr (fib_node_ptr_t *depend, void *args) { @@ -79,8 +79,7 @@ mfib_entry_cover_walk_node_ptr (fib_node_ptr_t *depend, ctx->walk(ctx->cover, depend->fnp_index, ctx->ctx); - /* continue */ - return (1); + return (WALK_CONTINUE); } void -- cgit 1.2.3-korg