Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Punt: socket register for exception dispatched/punted packets based on reason
[vpp.git]
/
src
/
vlib
/
punt.c
diff --git
a/src/vlib/punt.c
b/src/vlib/punt.c
index
09f30f4
..
7c2daf2
100644
(file)
--- a/
src/vlib/punt.c
+++ b/
src/vlib/punt.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 201
8
Cisco and/or its affiliates.
+ * Copyright (c) 201
9
Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
@@
-366,6
+366,15
@@
vlib_punt_unregister (vlib_punt_hdl_t client,
return (0);
}
return (0);
}
+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)
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);
}
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)
/* Parse node name -> node index. */
uword
unformat_punt_client (unformat_input_t * input, va_list * args)