opennetworkinglab / int-host-reporter Goto Github PK
View Code? Open in Web Editor NEWUser space agent and eBPF programs that provide INT support to end hosts
User space agent and eBPF programs that provide INT support to end hosts
The current implementation may be buggy and may lead to reporting false-positives. We should implement more reliable mechanism.
We currently use dataInterface
to define fabric network interface on the server. This solution requires the same interface name on each of the servers and that is not always the case (we should not introduce such a requirement).
The current idea to solve this is to provide “K8s cluster subnet” in the CIDR format and use it to determine data interface on each server.
TODO:
Calico uses the following name format for containers' interfaces: caliXXXX. This is different from the naming convention used by Cilium (lxcXXXX) and possibly other CNIs.
We should come up with a way to configure naming scheme of CNI, so that INT Host Reporter will be able to load BPF programs to containers' interfaces.
We currently compile INT-aware BPF program while the Docker image is built. However, the are some per-node metadata required to be a part of BPF program (e.g. Host IP, interface name, etc.). Therefore, we should compile BPF program at startup. This is also the approach that is taken by Cilium or Calico.
Currently, log level is always set as "Debug". We should have option to change that at startup time.
We currently have fixed configuration to listen only to the events on 2 CPUs, which may cause loosing some data plane reports. Once we'll have BPF programs compiled at load time, we should pass number of available CPUs as compiler flag and configure BPF_PERF_EVENT_ARRAY to listen on all CPUs.
This can reduce the eBPF program's size (the number of eBPF instructions). See: https://pchaigno.github.io/bpf/2021/10/20/ebpf-instruction-sets.html.
TODO:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.