UDP Tunnel
A demonstration of an IPv4 tunnel (over UDP) between the Node A and Node B subnets.
- GitHub Link: https://github.com/packetcord/packetcord.io/tree/main/apps/l3_udp_tunnel
- Topology File: topology_examples/l3_tunnel_example.json
Topology diagram
Steps
Build the project (all examples)
cd packetcord.io
mkdir build
cd build
cmake .. --fresh
make
Start the topology
Load the l3_tunnel_example.json project file. On the two TEP nodes (A and B), change the network app field to point to the corresponding UDP tunnel compiled binaries.
Note: Complete example topology file will be added as part of the next release of Network Builder IDE.
Save the project file after the changes. Then Validate, Generate and Launch the topology.
Inside the shell of TEP B
cd /root
./l3_udp_tunnel_tep_b_app
Inside the shell of TEP A
cd /root
./l3_udp_tunnel_tep_a_app
Result
Open the shells of Node A and Node B. Try to ping each other (11.11.11.100 and 192.168.111.100).
# ping -c4 192.168.111.100
PING 192.168.111.100 (192.168.111.100): 56 data bytes
64 bytes from 192.168.111.100: seq=0 ttl=64 time=0.234 ms
64 bytes from 192.168.111.100: seq=1 ttl=64 time=0.272 ms
64 bytes from 192.168.111.100: seq=2 ttl=64 time=0.179 ms
64 bytes from 192.168.111.100: seq=3 ttl=64 time=0.267 ms
Let's also run iperf3 between Node A and Node B:
Inside the shell of Node B
iperf3 -s
Inside the shell of Node A
iperf3 -c 192.168.111.100
Connecting to host 192.168.111.100, port 5201
[ 5] local 11.11.11.100 port 39890 connected to 192.168.111.100 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 138 MBytes 1.16 Gbits/sec 404 116 KBytes
[ 5] 1.00-2.00 sec 153 MBytes 1.28 Gbits/sec 613 116 KBytes
[ 5] 2.00-3.00 sec 152 MBytes 1.28 Gbits/sec 612 111 KBytes
[ 5] 3.00-4.00 sec 151 MBytes 1.27 Gbits/sec 583 112 KBytes
[ 5] 4.00-5.00 sec 152 MBytes 1.27 Gbits/sec 633 119 KBytes
[ 5] 5.00-6.00 sec 152 MBytes 1.27 Gbits/sec 587 110 KBytes
[ 5] 6.00-7.00 sec 152 MBytes 1.28 Gbits/sec 618 114 KBytes
[ 5] 7.00-8.00 sec 152 MBytes 1.28 Gbits/sec 617 167 KBytes
[ 5] 8.00-9.00 sec 151 MBytes 1.27 Gbits/sec 612 107 KBytes
[ 5] 9.00-10.00 sec 152 MBytes 1.27 Gbits/sec 570 115 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.47 GBytes 1.26 Gbits/sec 5849 sender
[ 5] 0.00-10.00 sec 1.47 GBytes 1.26 Gbits/sec receiver
Terminate
Use the Destroy button to terminate the emulation.