aboutsummaryrefslogtreecommitdiffstats
path: root/src/vlib/node.h
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2017-03-28 14:16:15 +0200
committerDave Barach <openvpp@barachs.net>2017-04-04 14:40:22 +0000
commit2c2b6407129461e183bc8ad5964cddc98ed1626c (patch)
tree6a16cebde5edfe4ed661f8f88860c77407813fef /src/vlib/node.h
parent8328534a2734b64e5da791007fd346c54cdb4d32 (diff)
vlib: make vlib_node_interrupt_pending(...) thread safe
Change-Id: I24577bd32ae23fbe8515cc8d960eab5448ce3b5c Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vlib/node.h')
-rw-r--r--src/vlib/node.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vlib/node.h b/src/vlib/node.h
index 2a532cc3..fc7e7da2 100644
--- a/src/vlib/node.h
+++ b/src/vlib/node.h
@@ -42,6 +42,7 @@
#include <vppinfra/cpu.h>
#include <vppinfra/longjmp.h>
+#include <vppinfra/lock.h>
#include <vppinfra/timing_wheel.h>
#include <vlib/trace.h> /* for vlib_trace_filter_t */
@@ -644,6 +645,7 @@ typedef struct
/* Node runtime indices for input nodes with pending interrupts. */
u32 *pending_interrupt_node_runtime_indices;
+ clib_spinlock_t pending_interrupt_lock;
/* Input nodes are switched from/to interrupt to/from polling mode
when average vector length goes above/below polling/interrupt