#!/bin/sh

net1=192.168.4.0
net2=192.168.5.0
netany=0.0.0.0
sg1=192.168.2.110
sg2=192.168.2.100
hmask=255.255.255.255
nmask=255.255.255.0
anymask=0.0.0.0

ipsecdev=ipsec0

case "$1" in
	# Setup module and interface
	setup)
		# Load the module
#		depmod -a
#		modprobe ipsec
		insmod -m ipsec >/lib/modules/loadmaps/ipsec.map
		klogd -i -p
#		;;
#	attach)
		ipsec klipsdebug --all
		# Attach and configure the interface
		ipsec tncfg --attach --virtual $ipsecdev --physical eth0
		ifconfig $ipsecdev $sg1
		;;
#	detach)
#		ipsec tncfg --clear
#		ipsec tncfg --detach --virtual $ipsecdev
#		;;
	unload)
		ipsec tncfg --clear
		ifconfig ipsec0 down
		ifconfig ipsec1 down
		rmmod ipsec
		klogd -i
		;;
	# Transport mode
	tresp3desmd5)
		ipsec spi --edst $sg1 --spi 0x127 --proto esp --esp 3des-md5-96 \
			--enckey 0x663066306630663066306630663066306630663066306630 \
			--authkey 0x66306630663066306630663066306630

		route del $sg2
		route add -host $sg2 dev $ipsecdev

		ipsec eroute --add --src $sg1/$hmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x137 --proto esp
		ipsec spi --edst $sg2 --spi 0x137 --proto esp --esp 3des-md5-96 \
			--enckey 0x663066306630663066306630663066306630663066306630 \
			--authkey 0x66306630663066306630663066306631
		;;
	tresp3desmd5del)
		ipsec spi --edst $sg1 --spi 0x127 --proto esp --del

		route del $sg2
		ipsec eroute --del --src $sg1/$hmask --dst $sg2/$hmask
		ipsec spi --edst $sg2 --spi 0x137 --proto esp --del
		;;
	tresp3desahmd5)
		# return path
		ipsec spi --edst $sg1 --spi 0x125 --proto esp --esp 3des \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f
		ipsec spi --edst $sg1 --spi 0x126 --proto ah --ah hmac-md5-96 \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		# forward path
		ipsec spi --edst $sg2 --spi 0x135 --proto esp --esp 3des \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f
		ipsec spi --edst $sg2 --spi 0x136 --proto ah --ah hmac-md5-96 \
			--authkey 0x31333537393b3d3f41434547494b4d4f
		ipsec spigrp $sg2 0x135 esp \
			$sg2 0x136 ah
		ipsec eroute --add --src $sg1/$hmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x135 --proto esp
		route del $sg2
		route add -host $sg2 dev $ipsecdev
		;;
	tresp3desahmd5del)
		# return path
		ipsec spi --edst $sg1 --spi 0x125 --proto esp --del
		ipsec spi --edst $sg1 --spi 0x126 --proto ah --del

		route del $sg2
		ipsec eroute --del --src $sg1/$hmask --dst $sg2/$hmask
		ipsec spi --edst $sg2 --spi 0x135 --proto esp --del
		;;
	trahmd5)
		ipsec spi --edst $sg1 --spi 0x126 --proto ah --ah hmac-md5-96 \
			--authkey 0x66306630663031326630663066303136

		ipsec spi --edst $sg2 --spi 0x136 --proto ah --ah hmac-md5-96 \
			--authkey 0x66306630663031326630663066303137
		ipsec eroute --add --src $sg1/$hmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x136 --proto ah
		route del $sg2
		route add -host $sg2 dev $ipsecdev
		;;

	trahmd5del)
		ipsec spi --edst $sg1 --spi 0x126 --proto ah --del

		route del $sg2
		ipsec eroute --del --src $sg1/$hmask --dst $sg2/$hmask
		ipsec spi --edst $sg2 --spi 0x136 --proto ah --del
		;;
	trespdes)
		ipsec spi --edst $sg1 --spi 0x125 --proto esp --esp des \
			--enckey 0x6630663066303134

		ipsec spi --edst $sg2 --spi 0x135 --proto esp --esp des \
			--enckey 0x6630663066303135
		ipsec eroute --add --src $sg1/$hmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x135 --proto esp
		route del $sg2
		route add -host $sg2 dev $ipsecdev
		;;
	trespdesdel)
		ipsec spi --edst $sg1 --spi 0x125 --proto esp --del

		route del $sg2
		ipsec eroute --del --src $sg1/$hmask --dst $sg2/$hmask
		ipsec spi --edst $sg2 --spi 0x135 --proto esp --del
		;;

	tresp3des)
		ipsec spi --edst $sg1 --spi 0x125 --proto esp --esp 3des \
			--enckey 0x663066306630663066306630663066306630663066306630

		ipsec spi --edst $sg2 --spi 0x135 --proto esp --esp 3des \
			--enckey 0x663066306630663066306630663066306630663066306630
		ipsec eroute --add --src $sg1/$hmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x135 --proto esp
		route del $sg2
		route add -host $sg2 dev $ipsecdev

		;;
	tresp3desdel)
		ipsec spi --edst $sg1 --spi 0x125 --proto esp --del

		route del $sg2
		ipsec eroute --del --src $sg1/$hmask \
			--dst $sg2/$hmask
		ipsec spi --edst $sg2 --spi 0x135 --proto esp --del
		;;
	trtu)
		route del $sg2
		route add -host $sg2 dev $ipsecdev

		ipsec eroute --add --src $sg1/$hmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x135 --proto tun
		ipsec spi --edst $sg2 --spi 0x135 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		;;
	# Tunnel mode
	tuesp3desmd5)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp 3des-md5-96 \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp 3des-md5-96 \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp
		;;
	tuesp3desmd5del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuesp3desahmd5)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp 3des \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --ah hmac-md5-96 \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp 3des \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f
		ipsec spi --edst $sg2 --spi 0x116 --proto ah --ah hmac-md5-96 \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp \
			$sg2 0x116 ah
		;;
	tuesp3desahmd5del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuespdesmd5)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp des-md5-96 \
			--enckey 0x51535557595b5d5f \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp des-md5-96 \
			--enckey 0x01030507090b0d0f \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp
		;;
	tuespdesmd5del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuespdesahmd5)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp des \
			--enckey 0x51535557595b5d5f
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --ah hmac-md5-96 \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp des \
			--enckey 0x01030507090b0d0f
		ipsec spi --edst $sg2 --spi 0x116 --proto ah --ah hmac-md5-96 \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp \
			$sg2 0x116 ah
		;;
	tuespdesahmd5del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuesp3dessha1)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp 3des-sha1-96 \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f \
			--authkey 0x81838587898b8d8f91939597999b9d9fa1a3a5a7

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp 3des-sha1-96 \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f \
			--authkey 0x31333537393b3d3f41434547494b4d4f51535557

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp
		;;
	tuesp3dessha1del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuesp3desahsha1)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp 3des \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --ah hmac-sha1-96 \
			--authkey 0x81838587898b8d8f91939597999b9d9fa1a3a5a7

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp 3des \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f
		ipsec spi --edst $sg2 --spi 0x116 --proto ah --ah hmac-sha1-96 \
			--authkey 0x31333537393b3d3f41434547494b4d4f51535557

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp \
			$sg2 0x116 ah
		;;
	tuesp3desahsha1del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuesp3des)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp 3des \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp 3des \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp
		;;
	tuesp3desdel)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuespdes)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp des \
			--enckey 0x51535557595b5d5f

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp des \
			--enckey 0x01030507090b0d0f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp
		;;
	tuespdesdel)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuahmd5)
		# return path
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --ah hmac-md5-96 \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x116 --proto ah --ah hmac-md5-96 \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x116 ah
		;;
	tuahmd5del)
		# return path
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuahsha1)
		# return path
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --ah hmac-sha1-96 \
			--authkey 0x81838587898b8d8f91939597999b9d9fa1a3a5a7

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x116 --proto ah --ah hmac-sha1-96 \
			--authkey 0x31333537393b3d3f41434547494b4d4f51535557

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x116 ah
		;;
	tuahsha1del)
		# return path
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuespnullmd5)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp null-md5-96 \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp null-md5-96 \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp
		;;
	tuespnullmd5del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del

		route del $net2

		ipsec eroute --del --src $net1/$nmask \
			--dst $net2/$nmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	turoad)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp des-cbc \
			--enckey 0x6630663066303130
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --ah md5 \
			--authkey 0x66306630663031326630663066303130

		route del $sg2
		route add -host $sg2 dev $ipsecdev gw 192.168.2.103

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp des-cbc \
			--enckey 0x6630663066303131
		ipsec spi --edst $sg2 --spi 0x116 --proto ah --ah md5 \
			--authkey 0x66306630663031326630663066303131

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp \
			$sg2 0x116 ah
		;;
	turoaddel)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --del

		# forward path
		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del

		ipsec eroute --del --src $net1/$nmask \
			--dst $sg2/$hmask


		route del $sg2
#		route add -host $sg2 dev $ipsecdev gw 192.168.2.103

		;;
	turoad2)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp des-cbc \
			--enckey 0x6630663066303130
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --ah md5 \
			--authkey 0x66306630663031326630663066303130

		route del $net2
		route add -net $net2 dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $sg1/$hmask \
			--dst $net2/$nmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp des-cbc \
			--enckey 0x6630663066303131
		ipsec spi --edst $sg2 --spi 0x116 --proto ah --ah md5 \
			--authkey 0x66306630663031326630663066303131

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp \
			$sg2 0x116 ah
		;;
	turoad2del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --del

		# forward path
		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del

		ipsec eroute --del --src $sg1/$hmask \
			--dst $net2/$nmask

		route del $net2
#		route add -net $net2 dev $ipsecdev gw $sg2

		;;
	tuany2sg)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp 3des-md5-96 \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $netany
		route add -net $netany netmask $anymask dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $sg1/$hmask \
			--dst $netany/$anymask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp 3des-md5-96 \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp
		;;
	tuany2sgdel)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del

		route del $netany

		ipsec eroute --del --src $sg1/$hmask \
			--dst $netany/$anymask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tuany2subnet)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp 3des-md5-96 \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $netany
		route add -net $netany dev $ipsecdev gw $sg2

		# forward path
		ipsec eroute --add --src $net1/$nmask \
			--dst $netany/$anymask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp 3des-md5-96 \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp
		;;
	tuany2subnetdel)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del

		route del $netany
		route add $netany dev eth0 gw $sg2

		ipsec eroute --del --src $net1/$nmask \
			--dst $netany/$anymask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tgesp3desmd5)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp 3des-md5-96 \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $sg2
		route add -host $sg2 dev $ipsecdev

		# forward path
		ipsec eroute --add --src $sg1/$hmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp 3des-md5-96 \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp
		;;
	tgesp3desmd5del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del

		route del $sg2

		ipsec eroute --del --src $sg1/$hmask \
			--dst $sg2/$hmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tgesp3desahmd5)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp 3des \
			--enckey 0x51535557595b5d5f61636567696b6d6f71737577797b7d7f
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --ah hmac-md5-96 \
			--authkey 0x81838587898b8d8f91939597999b9d9f

		route del $sg2
		route add -host $sg2 dev $ipsecdev

		# forward path
		ipsec eroute --add --src $sg1/$hmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp 3des \
			--enckey 0x01030507090b0d0f11131517191b1d1f21232527292b2d2f
		ipsec spi --edst $sg2 --spi 0x116 --proto ah --ah hmac-md5-96 \
			--authkey 0x31333537393b3d3f41434547494b4d4f

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp \
			$sg2 0x116 ah
		;;
	tgesp3desahmd5del)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --del

		route del $sg2

		ipsec eroute --del --src $sg1/$hmask \
			--dst $sg2/$hmask

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del
		;;
	tugw)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --esp des \
			--enckey 0x6630663066303138
		#ipsec spi --edst $sg1 --spi 0x106 --proto ah --ah md5 \
		#	--authkey 0x66306630663031326630663066303138

		route del $sg2
		route add -host $sg2 dev $ipsecdev

		# forward path
		ipsec eroute --add --src $sg1/$hmask \
			--dst $sg2/$hmask \
			--edst $sg2 --spi 0x113 --proto tun

		ipsec spi --edst $sg2 --spi 0x113 --proto tun --ip4 \
			--src $sg1 --dst $sg2
		ipsec spi --edst $sg2 --spi 0x115 --proto esp --esp des \
			--enckey 0x6630663066303139
		#ipsec spi --edst $sg2 --spi 0x116 --proto ah --ah md5 \
		#	--authkey 0x66306630663031326630663066303139

		ipsec spigrp $sg2 0x113 tun \
			$sg2 0x115 esp \
		#	$sg2 0x116 ah
		;;
	tugwdel)
		# return path
		ipsec spi --edst $sg1 --spi 0x105 --proto esp --del
		ipsec spi --edst $sg1 --spi 0x106 --proto ah --del

		# forward path
		ipsec spi --edst $sg2 --spi 0x113 --proto tun --del

		ipsec eroute --del --src $sg1/$hmask \
			--dst $sg2/$hmask

		route del $sg2
#		route add -host $sg2 dev $ipsecdev

		;;
	proc)
		cat /proc/net/ipsec_*
		;;
esac
