v1.0.0
This very first stable version of Gatekeeper is a long-coming dream of our group. The dream of an Internet whose stakeholders do not fear DDoS attacks.
When bad men combine, the good must associate; else they will fall,
one by one, an unpitied sacrifice in a contemptible struggle. -- Edmund Burke (1770).
As in a college commencement, this release is not the end, but the beginning of the transition from dreamland to reality. Thank you very much to all of those that have made any contribution to help us to get to this moment. On behalf of these contributors, we welcome all the future members of our community.
This version adds the following items to the RC2:
- Improved sanity checks to Gatekeeper servers' FIB entries (see pull requests #439, #443, #523 and #526, and commits 69e6895 and 04f3a42);
- Added support to load balancing Grantor servers directly on Gatekeeper servers (see pull request #438);
- Eliminated parameters
max_num_ipv4_fib_entries
andmax_num_ipv6_fib_entries
of GK blocks (see issue #440); - Improved support to VLANs (see issue #437 and pull request #518);
- Added support to /31 (IPv4) and /127 (IPv6) subnet masks (see issue #444);
- Fixed bugs (see pull requests #448, #449, #452, #505 and #522, and commits bd3bd6a and 0691ff2);
- Added the Lua function
dylib.c.gk_unload_bpf_flow_handler()
to unload BPF programs in runtime (see pull request #454); - Properly dropped privileges while running under
systemd
(see pull request #458); - Fixed ping replies (see pull request #460);
- Supported ping and traceroute from the KNI interfaces to help with network diagnoses (see pull requests #461 and #511);
- Better integrated with NICs that support ntuple filters (see pull requests #465, #513, and #515);
- Enabled
gkctl
to wait for Gatekeeper during boot (see pull request #467); - Tuned up the Debian packages (see pull requests #459, #468, #471, #476, #478, and #487);
- Improved generated log in production (see see pull requests #469, #479, #520, and #527, and commit 11af1e8);
- Made Gatekeeper fully functional when running with a non-root user (see pull requests #475, #500, and #501);
- Reviewed the initialization of the KNI interfaces (see pull requests #482 and #483);
- Improved support for routing daemons (see pull requests #463, #484, #494, #495, and #496, and commit 538665f);
- Speeded up the scripts of gkctl (see pull requests #489 and #493);
- Updated our patched Bird to the stable version 2.0.8 (see pull request #498);
- Corrected NUMA node of LPM tables created in Lua policies (see pull request #504);
- Reviewed Lua
lpmlib
(see pull request #506); - Supported multiple TCP daemons on the KNI interfaces (see pull request #514);
- Tightened code (see pull request #517);
- Validated that front and back addresses are not in the same subnet (see pull request #521);
- Fixed a bug at the IPv6 LPM table of DPDK (see pull requests #524 and #525).
This release is dedicated to all of those that had their lives, projects, and businesses, in any way, disrupted by DDoS.