Michel Machado
Michel Machado
Adding date and time to log entries will help to investigate bugs during development and issues in production. Getting time and putting it in a human-readable format is not a...
The states of a flow entry are `enum { GK_REQUEST, GK_GRANTED, GK_DECLINED, GK_BPF }`. The states `GK_GRANTED` and `GK_DECLINED` have long been implemented as BPF programs, so their removal should...
Issue #602, which is scheduled for Gatekeeper v1.3, requires a change of the GGU protocol. This change should be done now, so the protocol change already happened when issue #602...
The field `in_use` of `struct flow_entry` can be replaced with the following inline function: ```c static inline bool flow_entry_in_use(const struct flow_entry *fe) { return fe->grantor_fib != NULL; } ``` The...
The default/example configuration sets `10.0.1.1/24` as the front IPv4 network. Therefore, `10.0.1.2` is a neighbor. However, adding the routing `10.0.0.0/8` with gateway `10.0.1.2` fails because `gk/fib.c:check_gateway_prefix()` concludes that `DYC/1: Gateway...
Adopt macros `RTE_ETHER_ADDR_PRT_FMT` and `RTE_ETHER_ADDR_BYTES` once DPDK is updated. These macros are currently duplicated in file `cps/kni.c`.
A BPF needs to include the header `` to access `struct rte_mbuf`. But the current version of the header `` cannot be included in a BPF. This bug is present...
We may be able to eliminate `lib/net.c:gk_softrss_be()` and related functions adopting the new-ish [Toeplitz Hash Library](https://doc.dpdk.org/guides/prog_guide/toeplitz_hash_lib.html) of DPDK.
Gatekeeper version 1.2 introduces a general Hopscotch hash table library to implement the flow table, Gatekeeper counts with its own hash table library. We now may be able to replace...
There are currently three motivations for upgrading LuaJIT from 2.0 to 2.1 in Gatekeeper: 1. [The 1GB memory limit **per process**.](https://stackoverflow.com/questions/35155444/why-is-luajits-memory-limited-to-1-2-gb-on-64-bit-platforms) Let $x$ be the amount of memory that a...