Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
ipsec: Support async mode per-SA
[vpp.git]
/
src
/
vnet
/
mfib
/
mfib_forward.c
diff --git
a/src/vnet/mfib/mfib_forward.c
b/src/vnet/mfib/mfib_forward.c
index
3d0e0d4
..
e02c1d8
100644
(file)
--- a/
src/vnet/mfib/mfib_forward.c
+++ b/
src/vnet/mfib/mfib_forward.c
@@
-42,7
+42,7
@@
format_mfib_forward_lookup_trace (u8 * s, va_list * args)
}
/* Common trace function for all ip4-forward next nodes. */
}
/* 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)
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);
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;
}
vnet_buffer (p0)->ip.adj_index[VLIB_TX] = mfei0;
@@
-184,16
+184,14
@@
mfib_forward_lookup (vlib_main_t * vm,
return frame->n_vectors;
}
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_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),
.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_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),
.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;
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;
{
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))
{
if (!(old_flags & MFIB_ITF_FLAG_SIGNAL_PRESENT))
{
@@
-483,8
+473,7
@@
mfib_forward_rpf (vlib_main_t * vm,
return frame->n_vectors;
}
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)
{
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),
.name = "ip4-mfib-forward-rpf",
.vector_size = sizeof (u32),
@@
-505,20
+493,15
@@
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)
{
vlib_node_runtime_t * node,
vlib_frame_t * frame)
{
- return (mfib_forward_rpf(vm, node, frame,
1
));
+ return (mfib_forward_rpf(vm, node, frame,
0
));
}
}
-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),
.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)
-