# This is configuration for multiple hosts testing scenarios.
# Tests that involves multiple hosts should be run on host A from this topology:
# B[1]---|
#        +---[1]A[2]---[1]R[2]---[1]D
# C[1]---|
#
# CTRL_* are used to ssh into other hosts. (eg. `ssh $CTRL_B` gets you a shell on B)
# IP4_* (and IP6_* if needed) are used to send experiment packets (eg. `nfdc create udp4://$IP4_C1` creates a tunnel).
#
# suggested subnet mask:
# IPv4: /24
# IPv6: /64
#
CTRL_B=192.168.1.2
CTRL_C=192.168.1.4
CTRL_D=192.168.3.3
CTRL_R=192.168.2.3
IP4_A1=192.168.1.3
IP4_B1=192.168.1.2
IP4_C1=192.168.1.4
IP4_A2=192.168.2.2
IP4_R1=192.168.2.3
IP4_R2=192.168.3.2
IP4_D1=192.168.3.3
IP6_A1=fd01::3
IP6_B1=fd01::2
IP6_C1=fd01::4
IP6_A2=fd02::2
IP6_R1=fd02::3
IP6_R2=fd03::2
IP6_D1=fd03::3
