summaryrefslogtreecommitdiffstats
path: root/vnet
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2016-09-13 17:00:41 +0200
committerDave Barach <openvpp@barachs.net>2016-09-13 20:29:16 +0000
commitdd9310389d96be94aa48f3169fd307c01168a7ec (patch)
tree52551044dfb6a2263d3469007c8df8d3452b90ad /vnet
parentde4582b4c25f30412a8eab5f7741e577a1387fec (diff)
l2_output: reset bit after mapping is created
Change-Id: I894d71b397e7451d4e596b10258933287b7e965f Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'vnet')
-rw-r--r--vnet/vnet/l2/l2_output.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/vnet/vnet/l2/l2_output.c b/vnet/vnet/l2/l2_output.c
index 85678caf6b7..f03796ebf76 100644
--- a/vnet/vnet/l2/l2_output.c
+++ b/vnet/vnet/l2/l2_output.c
@@ -634,6 +634,9 @@ l2output_create_output_node_mapping (vlib_main_t * vlib_main, vnet_main_t * vnet
node = vec_elt_at_index (output_node_index_vec, sw_if_index);
*node = next;
+ /* reset mapping bit, includes memory barrier */
+ __sync_fetch_and_and (&hw0->flags, ~VNET_HW_INTERFACE_FLAG_L2OUTPUT_MAPPED);
+
return next;
}