mfib: migrate old MULTIARCH macros to VLIB_NODE_FN
[vpp.git] / src / vnet / mfib / mfib_forward.c
index 3d0e0d4..c5e1dfc 100644 (file)
@@ -42,7 +42,7 @@ format_mfib_forward_lookup_trace (u8 * s, va_list * args)
 }
 
 /* Common trace function for all ip4-forward next nodes. */
-void
+static void
 mfib_forward_lookup_trace (vlib_main_t * vm,
                            vlib_node_runtime_t * node,
                            vlib_frame_t * frame)
@@ -165,9 +165,9 @@ mfib_forward_lookup (vlib_main_t * vm,
                 fib_index0 = vec_elt (ip6_main.mfib_index_by_sw_if_index,
                                       vnet_buffer(p0)->sw_if_index[VLIB_RX]);
                 ip0 = vlib_buffer_get_current (p0);
-                mfei0 = ip6_mfib_table_lookup2(ip6_mfib_get(fib_index0),
-                                               &ip0->src_address,
-                                               &ip0->dst_address);
+                mfei0 = ip6_mfib_table_fwd_lookup(ip6_mfib_get(fib_index0),
+                                                  &ip0->src_address,
+                                                  &ip0->dst_address);
             }
 
             vnet_buffer (p0)->ip.adj_index[VLIB_TX] = mfei0;
@@ -184,16 +184,14 @@ mfib_forward_lookup (vlib_main_t * vm,
     return frame->n_vectors;
 }
 
-static uword
-ip4_mfib_forward_lookup (vlib_main_t * vm,
+VLIB_NODE_FN (ip4_mfib_forward_lookup_node) (vlib_main_t * vm,
                          vlib_node_runtime_t * node,
                          vlib_frame_t * frame)
 {
     return (mfib_forward_lookup (vm, node, frame, 1));
 }
 
-VLIB_REGISTER_NODE (ip4_mfib_forward_lookup_node, static) = {
-    .function = ip4_mfib_forward_lookup,
+VLIB_REGISTER_NODE (ip4_mfib_forward_lookup_node) = {
     .name = "ip4-mfib-forward-lookup",
     .vector_size = sizeof (u32),
 
@@ -205,19 +203,14 @@ VLIB_REGISTER_NODE (ip4_mfib_forward_lookup_node, static) = {
     },
 };
 
-VLIB_NODE_FUNCTION_MULTIARCH (ip4_mfib_forward_lookup_node,
-                              ip4_mfib_forward_lookup)
-
-static uword
-ip6_mfib_forward_lookup (vlib_main_t * vm,
+VLIB_NODE_FN (ip6_mfib_forward_lookup_node) (vlib_main_t * vm,
                          vlib_node_runtime_t * node,
                          vlib_frame_t * frame)
 {
     return (mfib_forward_lookup (vm, node, frame, 0));
 }
 
-VLIB_REGISTER_NODE (ip6_mfib_forward_lookup_node, static) = {
-    .function = ip6_mfib_forward_lookup,
+VLIB_REGISTER_NODE (ip6_mfib_forward_lookup_node) = {
     .name = "ip6-mfib-forward-lookup",
     .vector_size = sizeof (u32),
 
@@ -229,9 +222,6 @@ VLIB_REGISTER_NODE (ip6_mfib_forward_lookup_node, static) = {
     },
 };
 
-VLIB_NODE_FUNCTION_MULTIARCH (ip6_mfib_forward_lookup_node,
-                              ip6_mfib_forward_lookup)
-
 
 typedef struct mfib_forward_rpf_trace_t_ {
     u32 entry_index;
@@ -300,8 +290,8 @@ mfib_forward_itf_signal (vlib_main_t *vm,
 {
     mfib_itf_flags_t old_flags;
 
-    old_flags = __sync_fetch_and_or(&mfi->mfi_flags,
-                                    MFIB_ITF_FLAG_SIGNAL_PRESENT);
+    old_flags = clib_atomic_fetch_or(&mfi->mfi_flags,
+                                    MFIB_ITF_FLAG_SIGNAL_PRESENT);
 
     if (!(old_flags & MFIB_ITF_FLAG_SIGNAL_PRESENT))
     {
@@ -483,8 +473,7 @@ mfib_forward_rpf (vlib_main_t * vm,
     return frame->n_vectors;
 }
 
-static uword
-ip4_mfib_forward_rpf (vlib_main_t * vm,
+VLIB_NODE_FN (ip4_mfib_forward_rpf_node) (vlib_main_t * vm,
                       vlib_node_runtime_t * node,
                       vlib_frame_t * frame)
 {
@@ -492,8 +481,7 @@ ip4_mfib_forward_rpf (vlib_main_t * vm,
 }
 
 
-VLIB_REGISTER_NODE (ip4_mfib_forward_rpf_node, static) = {
-    .function = ip4_mfib_forward_rpf,
+VLIB_REGISTER_NODE (ip4_mfib_forward_rpf_node) = {
     .name = "ip4-mfib-forward-rpf",
     .vector_size = sizeof (u32),
 
@@ -505,11 +493,7 @@ VLIB_REGISTER_NODE (ip4_mfib_forward_rpf_node, static) = {
     },
 };
 
-VLIB_NODE_FUNCTION_MULTIARCH (ip4_mfib_forward_rpf_node,
-                              ip4_mfib_forward_rpf)
-
-static uword
-ip6_mfib_forward_rpf (vlib_main_t * vm,
+VLIB_NODE_FN (ip6_mfib_forward_rpf_node) (vlib_main_t * vm,
                       vlib_node_runtime_t * node,
                       vlib_frame_t * frame)
 {
@@ -517,8 +501,7 @@ ip6_mfib_forward_rpf (vlib_main_t * vm,
 }
 
 
-VLIB_REGISTER_NODE (ip6_mfib_forward_rpf_node, static) = {
-    .function = ip6_mfib_forward_rpf,
+VLIB_REGISTER_NODE (ip6_mfib_forward_rpf_node) = {
     .name = "ip6-mfib-forward-rpf",
     .vector_size = sizeof (u32),
 
@@ -530,6 +513,3 @@ VLIB_REGISTER_NODE (ip6_mfib_forward_rpf_node, static) = {
     },
 };
 
-VLIB_NODE_FUNCTION_MULTIARCH (ip6_mfib_forward_rpf_node,
-                              ip6_mfib_forward_rpf)
-