In the last years I have been working on an eBPF/XDP-based software framework for fast network services in the Linux kernel, called Polycube.
Polycube provides a set of complex networking applications that can be easily managed and configured through an apposite CLI or a REST-based daemon, called polycubed. Furthermore, it provides the possibility to build arbitrary service chains and hence the possiblity to customize the network connectivity to namespace, containers, virtual machines and physical hosts.