aboutsummaryrefslogtreecommitdiffstats
path: root/src/vlib/punt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vlib/punt.c')
-rw-r--r--src/vlib/punt.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/vlib/punt.c b/src/vlib/punt.c
index 5f83707c11d..7c2daf25ee4 100644
--- a/src/vlib/punt.c
+++ b/src/vlib/punt.c
@@ -367,6 +367,15 @@ vlib_punt_unregister (vlib_punt_hdl_t client,
}
int
+vlib_punt_reason_validate (vlib_punt_reason_t reason)
+{
+ if (reason < punt_reason_last)
+ return (0);
+
+ return (-1);
+}
+
+int
vlib_punt_reason_alloc (vlib_punt_hdl_t client,
const char *reason_name, vlib_punt_reason_t * reason)
{
@@ -392,6 +401,17 @@ vlib_punt_reason_alloc (vlib_punt_hdl_t client,
return (0);
}
+void
+punt_reason_walk (punt_reason_walk_cb_t cb, void *ctx)
+{
+ punt_reason_data_t *pd;
+
+ vec_foreach (pd, punt_reason_data)
+ {
+ cb (pd->pd_reason, pd->pd_name, ctx);
+ }
+}
+
/* Parse node name -> node index. */
uword
unformat_punt_client (unformat_input_t * input, va_list * args)