__VA_ARGS__ vlib_node_registration_t x
#else
#define VLIB_REGISTER_NODE(x,...) \
+STATIC_ASSERT (sizeof(# __VA_ARGS__) != 7,"node " #x " must not be declared as static"); \
static __clib_unused vlib_node_registration_t __clib_unused_##x
#endif
}
/* *INDENT-OFF* */
-VLIB_REGISTER_NODE (interface_tx, static) = {
+VLIB_REGISTER_NODE (interface_tx) = {
.function = interface_tx_node_fn,
.name = "interface-tx",
.vector_size = sizeof (u32),
}
/* *INDENT-OFF* */
-VLIB_REGISTER_NODE (ip4_reass_expire_node, static) = {
+VLIB_REGISTER_NODE (ip4_reass_expire_node) = {
.function = ip4_reass_walk_expired,
.type = VLIB_NODE_TYPE_PROCESS,
.name = "ip4-reassembly-expire-walk",
}
/* *INDENT-OFF* */
-VLIB_REGISTER_NODE (ip6_reass_expire_node, static) = {
+VLIB_REGISTER_NODE (ip6_reass_expire_node) = {
.function = ip6_reass_walk_expired,
.format_trace = format_ip6_reass_trace,
.type = VLIB_NODE_TYPE_PROCESS,
return 0;
}
-static vlib_node_registration_t ipsec4_input_node;
+extern vlib_node_registration_t ipsec4_input_node;
VLIB_NODE_FN (ipsec4_input_node) (vlib_main_t * vm,
vlib_node_runtime_t * node,
/* *INDENT-OFF* */
-VLIB_REGISTER_NODE (ipsec4_input_node,static) = {
+VLIB_REGISTER_NODE (ipsec4_input_node) = {
.name = "ipsec4-input-feature",
.vector_size = sizeof (u32),
.format_trace = format_ipsec_input_trace,
};
/* *INDENT-ON* */
-static vlib_node_registration_t ipsec6_input_node;
+extern vlib_node_registration_t ipsec6_input_node;
VLIB_NODE_FN (ipsec6_input_node) (vlib_main_t * vm,
/* *INDENT-OFF* */
-VLIB_REGISTER_NODE (ipsec6_input_node,static) = {
+VLIB_REGISTER_NODE (ipsec6_input_node) = {
.name = "ipsec6-input-feature",
.vector_size = sizeof (u32),
.format_trace = format_ipsec_input_trace,
extern l2fwd_main_t l2fwd_main;
#endif
-static vlib_node_registration_t l2fwd_node;
+extern vlib_node_registration_t l2fwd_node;
#define foreach_l2fwd_error \
_(L2FWD, "L2 forward packets") \
}
/* *INDENT-OFF* */
-VLIB_REGISTER_NODE (l2fwd_node,static) = {
+VLIB_REGISTER_NODE (l2fwd_node) = {
.name = "l2-fwd",
.vector_size = sizeof (u32),
.format_trace = format_l2fwd_trace,
return s;
}
-static vlib_node_registration_t l2learn_node;
+extern vlib_node_registration_t l2learn_node;
#define foreach_l2learn_error \
_(L2LEARN, "L2 learn packets") \
}
/* *INDENT-OFF* */
-VLIB_REGISTER_NODE (l2learn_node,static) = {
+VLIB_REGISTER_NODE (l2learn_node) = {
.name = "l2-learn",
.vector_size = sizeof (u32),
.format_trace = format_l2learn_trace,
static l2_patch_main_t l2_patch_main;
-static vlib_node_registration_t l2_patch_node;
+extern vlib_node_registration_t l2_patch_node;
#define foreach_l2_patch_error \
_(PATCHED, "L2 patch packets") \
}
/* *INDENT-OFF* */
-VLIB_REGISTER_NODE (l2_patch_node, static) = {
+VLIB_REGISTER_NODE (l2_patch_node) = {
.name = "l2-patch",
.vector_size = sizeof (u32),
.format_trace = format_l2_patch_trace,
return s;
}
-static vlib_node_registration_t syn_filter4_node;
+extern vlib_node_registration_t syn_filter4_node;
#define foreach_syn_filter_error \
_(THROTTLED, "TCP SYN packet throttle drops") \
}
/* *INDENT-OFF* */
-VLIB_REGISTER_NODE (syn_filter4_node, static) =
+VLIB_REGISTER_NODE (syn_filter4_node) =
{
.name = "syn-filter-4",
.vector_size = sizeof (u32),