PacketRusher
PacketRusher copied to clipboard
[FEATURE] Remove dependency on kernel module
Is your feature request related to a problem? Please describe.
Building and installing PacketRusher currently relies on building and loading a kernel module. This makes PacketRusher difficult to package and distribute (ex. as a container image or a snap) and limits its potential usability.
Describe the behavior you'd like Ability to distribute PacketRusher as a container image and/or snap.
Potential alternatives to kernel modules
- eBPF: Implementing the packet processing logic using eBPF could offer the same performance (kernel level packet decisions) and improving portability
Hi @gruyaume,
Thanks a lot for opening this ticket! Indeed, this is a big issue!
There are a few workarounds:
- As you mentioned, using eBPF, I have a WIP PR here but it's far from done: https://github.com/HewlettPackard/PacketRusher/pull/47 I think Free5GC might be working on that for their UPF too. I'm looking forward integrating it if they ever do release it!
- Install the kernel module on the k8s workers (tested and working, it's especially great if you use Free5GC's UPF as you have to install for their UPF anyway)
- Integrate back go-gtp inside PacketRusher, not too hard, but performance will be limited.
- It's currently possible to use PacketRusher without the kernel module if you want to only use it for it's control plane testing features as well.
Hope it helps!
Cheers, Valentin
Thank you @linouxis9 for the quick response and acknowledging this issue.
We would be interested in using PacketRusher to assess performance of Charmed Aether SD-Core, and ability to package and distribute it is a pre-requisite.
I will follow the progress on this issue.