Tunnel

A demonstation 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_tunnel
  • Topology File: topology_examples/l3_tunnel_example.json

Topology diagram

TOP

Steps

Build the project (all examples)

cd packetcord.io
mkdir build
cd build
cmake .. --fresh
make

Start the topology

Load the exampe topology project file. Then Validate, Generate and Launch the topology.

Inside the shell of TEP A

cd /root
./l3_tunnel_tep_a_app

Inside the shell of TEP B

cd /root
./l3_tunnel_tep_b_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 11.11.11.100 (11.11.11.100): 56 data bytes
64 bytes from 11.11.11.100: seq=0 ttl=64 time=0.334 ms
64 bytes from 11.11.11.100: seq=1 ttl=64 time=0.117 ms

Let's also run iperf3 between Node A (server) and Node B (client):

Inside the shell of Node A

iperf3 -s

Inside the shell of Node B

iperf3 -c 11.11.11.100
Connecting to host 11.11.11.100, port 5201
[  5] local 192.168.111.100 port 45230 connected to 11.11.11.100 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   158 MBytes  1.32 Gbits/sec  645    130 KBytes       
[  5]   1.00-2.00   sec   180 MBytes  1.51 Gbits/sec  804    128 KBytes       
[  5]   2.00-3.00   sec   182 MBytes  1.52 Gbits/sec  804    124 KBytes       
[  5]   3.00-4.00   sec   179 MBytes  1.51 Gbits/sec  736    126 KBytes       
[  5]   4.00-5.00   sec   181 MBytes  1.52 Gbits/sec  829    115 KBytes       
[  5]   5.00-6.00   sec   176 MBytes  1.48 Gbits/sec  820    127 KBytes       
[  5]   6.00-7.00   sec   179 MBytes  1.50 Gbits/sec  785    116 KBytes       
[  5]   7.00-8.00   sec   182 MBytes  1.53 Gbits/sec  883    126 KBytes       
[  5]   8.00-9.00   sec   182 MBytes  1.52 Gbits/sec  836    119 KBytes       
[  5]   9.00-10.00  sec   182 MBytes  1.53 Gbits/sec  905    127 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.74 GBytes  1.49 Gbits/sec  8047            sender
[  5]   0.00-10.00  sec  1.74 GBytes  1.49 Gbits/sec                  receiver

Terminate

Use the Destroy button to terminate the emulation.