test setup for Linux kernel GTP-U tunneling module
As there currently are several patch-sets under discussion (and more to come!), it is very important to establish a test suite to verify the correct operation of the Linux kernel GTP-U module in various possible configurations.
The test suite should make use of libgtpnl and its utilities.
what I have in mind is basically something like:
- set up one link with several tunnels
- use sgsnemu or derived tool for other end of tunnel
- exchange packets between sgsnemu and tunnel
- maybe even some performance testing with varying packet sizes (what to use as peer?)
- stress testing of adding/removing links and tunnels at high rate
PCAP replay/injection tests¶
- use some pre-recorded GTP packets and check for decapsulation as expected
- functional testing of some features, like
- handling of invalid GTP packets
- handling of unknown TEID
- handling of fragmentation
- handling of "reserved" bits in GTP header
the actual test code could be pat of the libgtpnl repository. We could start by manually executing it against proposed patches, and later maybe move towards a jenkins installation that tracks net-next and runs the tests once per day.
All of the above is just dreaming for now, I personally don't expect to have time soon to fix this. But it's still worth sharing thoughts and ideas.