Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vppinfra: bihash walk cb typedef and continue/stop controls
[vpp.git]
/
src
/
vnet
/
adj
/
adj_nbr.c
diff --git
a/src/vnet/adj/adj_nbr.c
b/src/vnet/adj/adj_nbr.c
index
2e0888b
..
4fb6d92
100644
(file)
--- a/
src/vnet/adj/adj_nbr.c
+++ b/
src/vnet/adj/adj_nbr.c
@@
-521,12
+521,13
@@
typedef struct adj_db_count_ctx_t_ {
u64 count;
} adj_db_count_ctx_t;
u64 count;
} adj_db_count_ctx_t;
-static
void
+static
int
adj_db_count (BVT(clib_bihash_kv) * kvp,
void *arg)
{
adj_db_count_ctx_t * ctx = arg;
ctx->count++;
adj_db_count (BVT(clib_bihash_kv) * kvp,
void *arg)
{
adj_db_count_ctx_t * ctx = arg;
ctx->count++;
+ return (BIHASH_WALK_CONTINUE);
}
u32
}
u32
@@
-563,14
+564,16
@@
typedef struct adj_walk_ctx_t_
void *awc_ctx;
} adj_walk_ctx_t;
void *awc_ctx;
} adj_walk_ctx_t;
-static
void
+static
int
adj_nbr_walk_cb (BVT(clib_bihash_kv) * kvp,
void *arg)
{
adj_walk_ctx_t *ctx = arg;
// FIXME: can't stop early...
adj_nbr_walk_cb (BVT(clib_bihash_kv) * kvp,
void *arg)
{
adj_walk_ctx_t *ctx = arg;
// FIXME: can't stop early...
- ctx->awc_cb(kvp->value, ctx->awc_ctx);
+ if (ADJ_WALK_RC_STOP == ctx->awc_cb(kvp->value, ctx->awc_ctx))
+ return (BIHASH_WALK_STOP);
+ return (BIHASH_WALK_CONTINUE);
}
void
}
void