extern vlib_node_registration_t syn_filter4_node;
-#define foreach_syn_filter_error \
-_(THROTTLED, "TCP SYN packet throttle drops") \
-_(OK, "TCP SYN packets passed")
+#define foreach_syn_filter_error \
+ _ (THROTTLED, throttled, ERROR, "TCP SYN packet throttle drops") \
+ _ (OK, ok, INFO, "TCP SYN packets passed")
typedef enum
{
-#define _(sym,str) SYN_FILTER_ERROR_##sym,
+#define _(f, n, s, d) SYN_FILTER_ERROR_##f,
foreach_syn_filter_error
#undef _
SYN_FILTER_N_ERROR,
} syn_filter_error_t;
-static char *syn_filter4_error_strings[] = {
-#define _(sym,string) string,
+static vlib_error_desc_t tcp_syn_error_counters[] = {
+#define _(f, n, s, d) { #n, d, VL_COUNTER_SEVERITY_##s },
foreach_syn_filter_error
#undef _
};
vlib_prefetch_buffer_header (p6, LOAD);
vlib_prefetch_buffer_header (p7, LOAD);
- CLIB_PREFETCH (p4->data, CLIB_CACHE_LINE_BYTES, STORE);
- CLIB_PREFETCH (p5->data, CLIB_CACHE_LINE_BYTES, STORE);
- CLIB_PREFETCH (p6->data, CLIB_CACHE_LINE_BYTES, STORE);
- CLIB_PREFETCH (p7->data, CLIB_CACHE_LINE_BYTES, STORE);
+ clib_prefetch_store (p4->data);
+ clib_prefetch_store (p5->data);
+ clib_prefetch_store (p6->data);
+ clib_prefetch_store (p7->data);
}
/* speculatively enqueue b0 and b1 to the current next frame */
return frame->n_vectors;
}
-/* *INDENT-OFF* */
VLIB_REGISTER_NODE (syn_filter4_node) =
{
.name = "syn-filter-4",
.type = VLIB_NODE_TYPE_INTERNAL,
.runtime_data_bytes = sizeof (syn_filter4_runtime_t),
- .n_errors = ARRAY_LEN(syn_filter4_error_strings),
- .error_strings = syn_filter4_error_strings,
+ .n_errors = SYN_FILTER_N_ERROR,
+ .error_counters = tcp_syn_error_counters,
.n_next_nodes = SYN_FILTER_N_NEXT,
[SYN_FILTER_NEXT_DROP] = "error-drop",
},
};
-/* *INDENT-ON* */
-/* *INDENT-OFF* */
VNET_FEATURE_INIT (syn_filter_4, static) =
{
.arc_name = "ip4-local",
.node_name = "syn-filter-4",
.runs_before = VNET_FEATURES("ip4-local-end-of-arc"),
};
-/* *INDENT-ON* */
#ifndef CLIB_MARCH_VARIANT
int
return 0;
}
-/* *INDENT-OFF* */
VLIB_CLI_COMMAND (sr_content_command, static) =
{
.path = "ip syn filter",
.short_help = "ip syn filter <interface-name> [disable]",
.function = syn_filter_enable_disable_command_fn,
};
-/* *INDENT-ON* */
#endif /* CLIB_MARCH_VARIANT */
/*