# router interfaces
vm config net 100 200
vm config filesystem $images/uminirouterfs
vm launch container vm0
vm start all
router vm0 interface 0 1.2.3.4/24
router vm0 interface 0 dhcp
router vm0 interface 1 5.6.7.8/16
router vm0
clear router vm0 interface 0 1.2.3.4/24
router vm0
clear router vm0 interface 1 5.6.7.8/24
router vm0
clear router vm0 interface 1 5.6.7.8/16
router vm0
router vm0 interface 0 1.2.3.4/24
router vm0 interface 1 5.6.7.8/16
clear router vm0 interface 0
router vm0
router vm0 interface 0 1.2.3.4/24
router vm0 interface 0 dhcp
clear router vm0 interface
router vm0
router vm0 interface 0 1.2.3.4/24
router vm0 interface 0 dhcp
router vm0 interface 1 5.6.7.8/16
clear router vm0
router vm0

# router commit
router vm0 interface 0 1.2.3.4/24
router vm0 interface 1 5.6.7.8/24
router vm0 commit
shell sort /tmp/minimega/files/minirouter-vm0

# check on interface ips
shell sleep 15
cc background ping -c 1 1.2.3.5
cc background ping -c 1 5.6.7.9
shell sleep 30
.columns ip vm info

# router dhcp
clear router vm0
router vm0 dhcp 1.2.3.4 range 1.2.3.5 1.2.3.254
router vm0 dhcp 1.2.3.4 router 1.2.3.1
router vm0 dhcp 1.2.3.4 dns 8.8.8.8
router vm0 dhcp 1.2.3.4 static 00:11:22:33:44:55 1.2.3.66
router vm0 dhcp 1.2.3.4 static 00:11:22:33:44:56 1.2.3.67
router vm0 dhcp 5.6.7.8 range 1.1.1.1 1.1.1.2
router vm0
router vm0 dhcp 5.6.7.8 static 00:11:22:33:44:60 5.6.7.9
router vm0
clear router vm0 dhcp 1.2.3.4 router
router vm0
clear router vm0 dhcp 1.2.3.4 dns
router vm0
clear router vm0 dhcp 1.2.3.4 static 00:11:22:33:44:56
router vm0
clear router vm0 dhcp 1.2.3.4 static
router vm0
clear router vm0 dhcp 1.2.3.4 range
router vm0
clear router vm0 dhcp 5.6.7.8
router vm0

vm config net 100,00:1f:53:02:0b:51 200
vm launch container vm1
vm start all

clear router vm0
router vm0 interface 0 1.2.3.4/24
router vm0 interface 0 5.6.7.8/24
router vm0 dhcp 1.2.3.4 router 1.2.3.254
router vm0 dhcp 1.2.3.4 dns 1.2.3.4
router vm0 dhcp 1.2.3.4 range 1.2.3.5 1.2.3.254
router vm0 dhcp 1.2.3.4 static 00:1f:53:02:0b:51 1.2.3.250
router vm0 commit
shell sort /tmp/minimega/files/minirouter-vm0

cc filter hostname=vm1
cc exec dhclient -v veth0
clear cc filter
shell sleep 30
.columns ip .filter name=vm1 vm info

# dns and dynamic updates
router vm0 dns 1.1.1.1 foo.com
router vm0 dns 2.2.2.2 bar.com
router vm0 dns 3.3.3.3 foobar.com
router vm0
clear router vm0 dns 1.1.1.1
router vm0
clear router vm0 dns
router vm0
router vm0 dns 1.1.1.1 foo.com
router vm0 dns 2.2.2.2 bar.com
router vm0 commit
shell sort /tmp/minimega/files/minirouter-vm0
shell sleep 15
clear cc responses
cc filter hostname=vm1
cc exec nslookup foo.com 1.2.3.4
cc exec nslookup bar.com 1.2.3.4
shell sleep 30
cc response all raw

# router advertisements
router vm0 interface 0 2001:1::1/64
router vm0 ra 2001:1::
router vm0 ra 2001:2::
router vm0
clear router vm0 ra 2001:2::
router vm0
clear router vm0 ra
router vm0
router vm0 ra 2001:1::
router vm0 commit
shell sort /tmp/minimega/files/minirouter-vm0
# we don't have a reliable way to test SLAAC addressing so we don't do it
