diff options
Diffstat (limited to 'src/vnet/dpo/mpls_label_dpo.c')
-rw-r--r-- | src/vnet/dpo/mpls_label_dpo.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vnet/dpo/mpls_label_dpo.c b/src/vnet/dpo/mpls_label_dpo.c index 9d147f98f13..683b5449513 100644 --- a/src/vnet/dpo/mpls_label_dpo.c +++ b/src/vnet/dpo/mpls_label_dpo.c @@ -39,8 +39,13 @@ static mpls_label_dpo_t * mpls_label_dpo_alloc (void) { mpls_label_dpo_t *mld; + vlib_main_t *vm; + u8 did_barrier_sync; + dpo_pool_barrier_sync (vm, mpls_label_dpo_pool, did_barrier_sync); pool_get_aligned(mpls_label_dpo_pool, mld, CLIB_CACHE_LINE_BYTES); + dpo_pool_barrier_release (vm, did_barrier_sync); + clib_memset(mld, 0, sizeof(*mld)); dpo_reset(&mld->mld_dpo); |