Closed linouxis9 closed 9 months ago
@linouxis9
PacketRusher would configure PFCP Sessions inside upg-vpp to act as a RAN and send traffic toward the 5GC's UPF?
Just to understand your intend: You want to use upg-vpp as … load-generator to test 5GCs upf?
Hi, @linouxis9
If I understand correctly load itself will be generated using linux udp/tcp sockets, so kernel sockets will be your limiting factor and it makes not much sense to integrate upg-vpp for this. GTPU encapsulation is simplest part of this processing and it's relatively easy to implement in golang with tap/XDP libraries
Hi @mogaika,
Thanks a lot for your appreciated insights, you are totally right! And I've already began work on eBPF XDP over tap.
Thanks to the both of you.
Cheers, Valentin
Hi,
I'm currently working on an open-source gNB/UE Simulator which can act as 5G Core stress tester to evaluate the performance of the 5G Core, called PacketRusher. It can stress test a 5G Core both on the control plane and user plane side using a great amount of UEs.
For now, I've been using free5gc's gtp5g kernel module as the GTP-U stack of the tool. However, kernel modules have a lot of shortcomings and I've been looking to replace the GTP-U stack with something else.
Lately, I've been working on integrating eUPF's eBPF code inside PacketRusher. However, as PacketRusher is to be a performance-testing tool, I'm interested in also offering something more performant.
As such, I would be interested in integrating upg-vpp inside PacketRusher. PacketRusher is a Go tool unlike upg-vpp, and I'm not really interested in writing C-Go bindings to reuse the upg-vpp's code from PacketRusher.
Do you think it would make sense for a tool like PacketRusher to embed the full upg-vpp as-is, and then create sessions externally similar to your e2e tests in Go, eg. PacketRusher would configure PFCP Sessions inside upg-vpp to act as a RAN and send traffic toward the 5GC's UPF?
Sorry for the long message :-)
Thanks and cheers, Valentin