Michel Machado
Michel Machado
The GK blocks, GT blocks, and the GK-GT unit are the critical blocks of Gatekeeper and Grantor servers. In order to allow them to reach line speed, we need to...
GT blocks ask the Lua policy for policy decisions one packet at a time. Sophisticated policies can take advantage of the batched packets to perform better. For example, policies that...
Gatekeeper has been designed from the perspective of hosting companies, cloud providers, and content providers, but it should work in an ISP setting as well. A Gatekeeper deployment in an...
Once issue #297 is implemented, policies will be able to define the destination of encapsulated packets. This new flexibility also enables policies to redirect flows. Flow redirection opens Gatekeeper to...
Once pull request #295 is merged, the flow states `GK_GRANTED` and `GK_DECLINED` become redundant since the new flow state `GK_BPF` can emulate them. Dropping the flow states `GK_GRANTED` and `GK_DECLINED`...
`submit_arp()` allocates `struct lls_arp_req` in the execution stack just so `lls_req()` can allocate a mailbox message and linearly copy `struct lls_arp_req`. Moreover, `lls_req()` is mostly a big `switch` statement for...
We have written Gatekeeper without using `rte_pktmbuf_read()`, so the code assumes that the headers that need to be inspected are in the first segment of the `struct rte_mbuf` and the...
As the repository of Gatekeeper grows, the need for a build system is growing as well. Right now, Gatekeeper has a makefile derived from DPDK that doesn't account for individual...
Can `libelf` simplify and make the code in file `cps/elf.c` more robust? DPDK already uses `libelf` when the compiling option `CONFIG_RTE_LIBRTE_BPF_ELF` is enabled; the option is found in file `dpdk/config/common_base`....
Issue #198 introduced basics statistics into the log of GK blocks. A script is needed to group this information and presenting it in a friendly format.