summaryrefslogtreecommitdiffstats
path: root/contrib/netbsd-tests/net/route/t_change.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/netbsd-tests/net/route/t_change.sh')
-rwxr-xr-xcontrib/netbsd-tests/net/route/t_change.sh255
1 files changed, 247 insertions, 8 deletions
diff --git a/contrib/netbsd-tests/net/route/t_change.sh b/contrib/netbsd-tests/net/route/t_change.sh
index 3618aee..260cad0 100755
--- a/contrib/netbsd-tests/net/route/t_change.sh
+++ b/contrib/netbsd-tests/net/route/t_change.sh
@@ -1,4 +1,4 @@
-# $NetBSD: t_change.sh,v 1.4 2013/02/19 21:08:25 joerg Exp $
+# $NetBSD: t_change.sh,v 1.9 2016/11/07 05:25:37 ozaki-r Exp $
#
# Copyright (c) 2011 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -26,18 +26,21 @@
#
netserver=\
-"rump_server -lrumpnet -lrumpnet_net -lrumpnet_netinet"
+"rump_server -lrumpdev -lrumpnet -lrumpnet_net \
+ -lrumpnet_netinet -lrumpnet_shmif"
export RUMP_SERVER=unix://commsock
-atf_test_case reject2blackhole cleanup
-reject2blackhole_head()
+DEBUG=${DEBUG:-false}
+
+atf_test_case route_change_reject2blackhole cleanup
+route_change_reject2blackhole_head()
{
atf_set "descr" "Change a reject route to blackhole"
atf_set "require.progs" "rump_server"
}
-reject2blackhole_body()
+route_change_reject2blackhole_body()
{
atf_check -s exit:0 ${netserver} ${RUMP_SERVER}
@@ -49,10 +52,242 @@ reject2blackhole_body()
atf_check -s exit:0 -o ignore \
rump.route change 207.46.197.32 127.0.0.1 -blackhole
atf_check -s exit:0 -o match:' UGHBS ' -e ignore -x \
- "rump.netstat -rn -f inet | grep ^207.46| grep ^207.46"
+ "rump.netstat -rn -f inet | grep ^207.46"
+}
+
+route_change_reject2blackhole_cleanup()
+{
+
+ env RUMP_SERVER=unix://commsock rump.halt
+}
+
+atf_test_case route_change_gateway cleanup
+route_change_gateway_head()
+{
+
+ atf_set "descr" "Change the gateway of a route"
+ atf_set "require.progs" "rump_server"
+}
+
+route_change_gateway_body()
+{
+
+ atf_check -s exit:0 ${netserver} ${RUMP_SERVER}
+
+ atf_check -s exit:0 rump.ifconfig shmif0 create
+ atf_check -s exit:0 rump.ifconfig shmif0 linkstr bus
+ atf_check -s exit:0 rump.ifconfig shmif0 10.0.0.10/24 up
+
+ atf_check -s exit:0 -o ignore \
+ rump.route add -net 192.168.0.0/24 10.0.0.1
+ atf_check -s exit:0 -o match:'10.0.0.1' -x \
+ "rump.route -n show -inet | grep ^192.168"
+ atf_check -s exit:0 -o ignore \
+ rump.route change -net 192.168.0.0/24 10.0.0.254
+ atf_check -s exit:0 -o match:'10.0.0.254' -x \
+ "rump.route -n show -inet | grep ^192.168"
+}
+
+route_change_gateway_cleanup()
+{
+
+ env RUMP_SERVER=unix://commsock rump.halt
+}
+
+atf_test_case route_change_ifa cleanup
+route_change_ifa_head()
+{
+
+ atf_set "descr" "Change the ifa (local address) of a route"
+ atf_set "require.progs" "rump_server"
+}
+
+route_change_ifa_body()
+{
+
+ atf_check -s exit:0 ${netserver} ${RUMP_SERVER}
+
+ atf_check -s exit:0 rump.ifconfig shmif0 create
+ atf_check -s exit:0 rump.ifconfig shmif0 linkstr bus
+ atf_check -s exit:0 rump.ifconfig shmif0 10.0.0.10/24
+ atf_check -s exit:0 rump.ifconfig shmif0 alias 10.0.0.11/24
+ atf_check -s exit:0 rump.ifconfig shmif0 up
+
+ atf_check -s exit:0 -o ignore \
+ rump.route add -net 192.168.0.0/24 10.0.0.1
+ atf_check -s exit:0 -o match:'10.0.0.1' -x \
+ "rump.route -n show -inet | grep ^192.168"
+ $DEBUG && rump.route -n show -inet
+ cat >./expect <<-EOF
+ route to: 192.168.0.1
+destination: 192.168.0.0
+ mask: 255.255.255.0
+ gateway: 10.0.0.1
+ local addr: 10.0.0.10
+ interface: shmif0
+ flags: <UP,GATEWAY,DONE,STATIC>
+ recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
+ EOF
+ rump.route -n get 192.168.0.1 > ./output
+ $DEBUG && cat ./expect ./output
+ sed -i '$d' ./output
+ atf_check -s exit:0 diff ./expect ./output
+
+ # Change the local address of the route
+ atf_check -s exit:0 -o ignore \
+ rump.route change -net 192.168.0.0/24 10.0.0.1 -ifa 10.0.0.11
+ $DEBUG && rump.route -n show -inet
+ cat >./expect <<-EOF
+ route to: 192.168.0.1
+destination: 192.168.0.0
+ mask: 255.255.255.0
+ gateway: 10.0.0.1
+ local addr: 10.0.0.11
+ interface: shmif0
+ flags: <UP,GATEWAY,DONE,STATIC>
+ recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
+ EOF
+ rump.route -n get 192.168.0.1 > ./output
+ $DEBUG && cat ./expect ./output
+ sed -i '$d' ./output
+ atf_check -s exit:0 diff ./expect ./output
+}
+
+route_change_ifa_cleanup()
+{
+
+ env RUMP_SERVER=unix://commsock rump.halt
+}
+
+atf_test_case route_change_ifp cleanup
+route_change_ifp_head()
+{
+
+ atf_set "descr" "Change a route based on an interface (ifp)"
+ atf_set "require.progs" "rump_server"
+}
+
+route_change_ifp_body()
+{
+
+ atf_check -s exit:0 ${netserver} ${RUMP_SERVER}
+
+ atf_check -s exit:0 rump.ifconfig shmif0 create
+ atf_check -s exit:0 rump.ifconfig shmif0 linkstr bus
+ atf_check -s exit:0 rump.ifconfig shmif0 10.0.0.10/24 up
+
+ atf_check -s exit:0 rump.ifconfig shmif1 create
+ atf_check -s exit:0 rump.ifconfig shmif1 linkstr bus
+ atf_check -s exit:0 rump.ifconfig shmif1 10.0.0.11/24 up
+
+ atf_check -s exit:0 -o ignore \
+ rump.route add -net 192.168.0.0/24 10.0.0.1
+ atf_check -s exit:0 -o match:'10.0.0.1' -x \
+ "rump.route -n show -inet | grep ^192.168"
+ $DEBUG && rump.route -n show -inet
+ cat >./expect <<-EOF
+ route to: 192.168.0.1
+destination: 192.168.0.0
+ mask: 255.255.255.0
+ gateway: 10.0.0.1
+ local addr: 10.0.0.10
+ interface: shmif0
+ flags: <UP,GATEWAY,DONE,STATIC>
+ recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
+ EOF
+ rump.route -n get 192.168.0.1 > ./output
+ $DEBUG && cat ./expect ./output
+ sed -i '$d' ./output
+ atf_check -s exit:0 diff ./expect ./output
+
+ # Change a route based on an interface
+ atf_check -s exit:0 -o ignore \
+ rump.route change -net 192.168.0.0/24 10.0.0.1 -ifp shmif1
+ $DEBUG && rump.route -n show -inet
+ cat >./expect <<-EOF
+ route to: 192.168.0.1
+destination: 192.168.0.0
+ mask: 255.255.255.0
+ gateway: 10.0.0.1
+ local addr: 10.0.0.11
+ interface: shmif1
+ flags: <UP,GATEWAY,DONE,STATIC>
+ recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
+ EOF
+ rump.route -n get 192.168.0.1 > ./output
+ $DEBUG && cat ./expect ./output
+ sed -i '$d' ./output
+ atf_check -s exit:0 diff ./expect ./output
+}
+
+route_change_ifp_cleanup()
+{
+
+ env RUMP_SERVER=unix://commsock rump.halt
+}
+
+atf_test_case route_change_ifp_ifa cleanup
+route_change_ifp_head()
+{
+
+ atf_set "descr" "Change a route with -ifp and -ifa"
+ atf_set "require.progs" "rump_server"
+}
+
+route_change_ifp_ifa_body()
+{
+
+ atf_check -s exit:0 ${netserver} ${RUMP_SERVER}
+
+ atf_check -s exit:0 rump.ifconfig shmif0 create
+ atf_check -s exit:0 rump.ifconfig shmif0 linkstr bus
+ atf_check -s exit:0 rump.ifconfig shmif0 10.0.0.10/24 up
+
+ atf_check -s exit:0 rump.ifconfig shmif1 create
+ atf_check -s exit:0 rump.ifconfig shmif1 linkstr bus
+ atf_check -s exit:0 rump.ifconfig shmif1 10.0.0.11/24 up
+
+ atf_check -s exit:0 -o ignore \
+ rump.route add -net 192.168.0.0/24 10.0.0.1
+ atf_check -s exit:0 -o match:'10.0.0.1' -x \
+ "rump.route -n show -inet | grep ^192.168"
+ $DEBUG && rump.route -n show -inet
+ cat >./expect <<-EOF
+ route to: 192.168.0.1
+destination: 192.168.0.0
+ mask: 255.255.255.0
+ gateway: 10.0.0.1
+ local addr: 10.0.0.10
+ interface: shmif0
+ flags: <UP,GATEWAY,DONE,STATIC>
+ recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
+ EOF
+ rump.route -n get 192.168.0.1 > ./output
+ $DEBUG && cat ./expect ./output
+ sed -i '$d' ./output
+ atf_check -s exit:0 diff ./expect ./output
+
+ # Change a route with -ifa and -ifp
+ atf_check -s exit:0 -o ignore \
+ rump.route change -net 192.168.0.0/24 -ifa 10.0.0.1 -ifp shmif1
+ $DEBUG && rump.route -n show -inet
+ cat >./expect <<-EOF
+ route to: 192.168.0.1
+destination: 192.168.0.0
+ mask: 255.255.255.0
+ gateway: 10.0.0.1
+ local addr: 10.0.0.11
+ interface: shmif1
+ flags: <UP,GATEWAY,DONE,STATIC>
+ recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
+ EOF
+ rump.route -n get 192.168.0.1 > ./output
+ $DEBUG && cat ./expect ./output
+ sed -i '$d' ./output
+ atf_check -s exit:0 diff ./expect ./output
}
-reject2blackhole_cleanup()
+route_change_ifp_ifa_cleanup()
{
env RUMP_SERVER=unix://commsock rump.halt
@@ -61,5 +296,9 @@ reject2blackhole_cleanup()
atf_init_test_cases()
{
- atf_add_test_case reject2blackhole
+ atf_add_test_case route_change_reject2blackhole
+ atf_add_test_case route_change_gateway
+ atf_add_test_case route_change_ifa
+ atf_add_test_case route_change_ifp
+ atf_add_test_case route_change_ifp_ifa
}
OpenPOWER on IntegriCloud