aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/lisp-cp/control.h
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2017-06-15 14:33:48 -0700
committerFlorin Coras <fcoras@cisco.com>2017-06-17 10:58:18 -0700
commitacd4c63e3c6e70ea3f58527d9bace7c0e38df719 (patch)
tree9ba43e180a99cc1ea2fcc11601352ac0a6171291 /src/vnet/lisp-cp/control.h
parent27e7f21c4eb752cc168bf97e3a4bdcd28d7c5f8f (diff)
Fix map-notify processing with multiple workers
Change-Id: Id160346ebf533ee5f55bd735803624a75ed997b9 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/lisp-cp/control.h')
-rw-r--r--src/vnet/lisp-cp/control.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/vnet/lisp-cp/control.h b/src/vnet/lisp-cp/control.h
index ad90b5269ff..cf2eb6ef453 100644
--- a/src/vnet/lisp-cp/control.h
+++ b/src/vnet/lisp-cp/control.h
@@ -126,6 +126,14 @@ typedef struct
typedef struct
{
+ u64 nonce;
+ u8 is_rloc_probe;
+ mapping_t *mappings;
+ volatile u8 is_free;
+} map_records_arg_t;
+
+typedef struct
+{
u32 flags;
/* LISP feature status */
@@ -226,6 +234,9 @@ typedef struct
/* timing wheel for mappping timeouts */
timing_wheel_t wheel;
+ /** Per thread pool of records shared with thread0 */
+ map_records_arg_t **map_records_args_pool;
+
/* commodity */
ip4_main_t *im4;
ip6_main_t *im6;
@@ -288,13 +299,6 @@ typedef struct
u8 key_id;
} vnet_lisp_add_del_mapping_args_t;
-typedef struct
-{
- u64 nonce;
- u8 is_rloc_probe;
- mapping_t *mappings;
-} map_records_arg_t;
-
int
vnet_lisp_map_cache_add_del (vnet_lisp_add_del_mapping_args_t * a,
u32 * map_index);