/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
+ * Copyright (c) 2016-2019 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
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),
{
syn_filter4_runtime_t *rt;
- /* *INDENT-OFF* */
- foreach_vlib_main ({
- rt = vlib_node_get_runtime_data (this_vlib_main, syn_filter4_node.index);
- vec_validate (rt->syn_counts, 1023);
- /*
- * Given perfect disperson / optimal hashing results:
- * Allow 128k (successful) syns/sec. 1024, buckets each of which
- * absorb 128 syns before filtering. Reset table once a second.
- * Reality bites, lets try resetting once every 100ms.
- */
- rt->reset_interval = 0.1; /* reset interval in seconds */
- });
- /* *INDENT-ON* */
+ foreach_vlib_main ()
+ {
+ rt = vlib_node_get_runtime_data (this_vlib_main,
+ syn_filter4_node.index);
+ vec_validate (rt->syn_counts, 1023);
+ /*
+ * Given perfect disperson / optimal hashing results:
+ * Allow 128k (successful) syns/sec. 1024, buckets each of which
+ * absorb 128 syns before filtering. Reset table once a second.
+ * Reality bites, lets try resetting once every 100ms.
+ */
+ rt->reset_interval = 0.1; /* reset interval in seconds */
+ }
}
rv = vnet_feature_enable_disable ("ip4-local", "syn-filter-4",