| #!/bin/sh |
| |
| . lib/generic.sh |
| |
| TUNNEL_NAME="tunnel_test_ip" |
| KMODS="ip6_gre ip6_tunnel ip_gre ip_tunnel gre" |
| |
| # unload kernel modules to remove dummy interfaces only if they were not in use beforehand |
| kmods_remove= |
| # note that checkbashism reports command -v, but dash supports it and it's POSIX 2008 compliant |
| if command -v lsmod >/dev/null 2>&1 && command -v rmmod >/dev/null 2>&1; then |
| for i in $KMODS; do |
| lsmod | grep -q "^$i" || kmods_remove="$kmods_remove $i"; |
| done |
| fi |
| |
| ts_log "[Testing add/del tunnels]" |
| |
| ts_ip "$0" "Add GRE tunnel over IPv4" tunnel add name $TUNNEL_NAME mode gre local 1.1.1.1 remote 2.2.2.2 |
| ts_ip "$0" "Del GRE tunnel over IPv4" tunnel del $TUNNEL_NAME |
| |
| ts_ip "$0" "Add GRE tunnel over IPv6" tunnel add name $TUNNEL_NAME mode ip6gre local dead:beef::1 remote dead:beef::2 |
| ts_ip "$0" "Del GRE tunnel over IPv6" tunnel del $TUNNEL_NAME |
| |
| for mod in $kmods_remove; do |
| sudo rmmod "$mod" |
| done |