12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #!/bin/sh
- . ./testlib.sh
- # Skip this test if we aren't root or if "ip netns" does not exist
- test "`id -u`" = "0" || exit 77
- ip netns list || exit 77
- # Initialize two nodes
- $tinc $c1 <<EOF
- init foo
- set Mode switch
- set Interface ping.test1
- set Port 32573
- set Address localhost
- EOF
- cat >$d1/tinc-up <<EOF
- #!/bin/sh
- ip netns add ping.test1
- ip link set dev \$INTERFACE netns ping.test1
- ip netns exec ping.test1 ip addr add 192.168.1.1/24 dev \$INTERFACE
- ip netns exec ping.test1 ip link set \$INTERFACE up
- EOF
- $tinc $c2 <<EOF
- init bar
- set Mode switch
- set Interface ping.test2
- set Port 32574
- EOF
- cat >$d2/tinc-up <<EOF
- #!/bin/sh
- ip netns add ping.test2
- ip link set dev \$INTERFACE netns ping.test2
- ip netns exec ping.test2 ip addr add 192.168.1.2/24 dev \$INTERFACE
- ip netns exec ping.test2 ip link set \$INTERFACE up
- EOF
- # Exchange configuration files
- $tinc $c1 export | $tinc $c2 exchange | $tinc $c1 import
- # Start tinc
- $tinc $c1 start $r1
- $tinc $c2 start $r2
- sleep 1
- # The nodes should not be able to ping each other if there is no connection
- ip netns exec ping.test1 ping -W1 -c3 192.168.1.2 && exit 1
- # After connecting they should be
- $tinc $c2 add ConnectTo foo
- sleep 1
- ip netns exec ping.test1 ping -W1 -c3 192.168.1.2
- # Clean up
- $tinc $c2 stop
- $tinc $c1 stop
- ip netns del ping.test2
- ip netns del ping.test1
|