//
// $Copyright$
//
// $Name:  $
//
// $Id: RTU_A_2SA_DspiDip.def,v 1.1.1.1 2000/09/28 00:14:46 sekiya Exp $
//

#include "./RTU_A_common.def"
//======================================================================
//
// Echo Request from Host1(Net6) to Host1(Net1) on Net0/Net1
//

FEM_icmpX_echo_request(
	echo_request_from_host1_net6_to_host1_net1_on_net0,
	hether_router2nut,
	{
		_SRC(vX(IPSEC_HOST1_NET6_ADDR));
		_DST(vX(IPSEC_HOST1_NET1_ADDR));
	},
	{
		payload = IPSEC_ECHO_DATA;
	}
)

FEM_icmpX_echo_request(
	echo_request_from_host1_net6_to_host1_net1_on_net1,
	hether_nut2host1,
	{
		_SRC(vX(IPSEC_HOST1_NET6_ADDR));
		_DST(vX(IPSEC_HOST1_NET1_ADDR));
	},
	{
		payload = IPSEC_ECHO_DATA;
	}
)


//======================================================================
//
// Echo Reply from Host1(Net1) to Host1(Net6) on Net0/Net1
//

FEM_icmpX_echo_reply(
	echo_reply_from_host1_net1_to_host1_net6_on_net1,
	hether_host12nut,
	{
		_SRC(vX(IPSEC_HOST1_NET1_ADDR));
		_DST(vX(IPSEC_HOST1_NET6_ADDR));
	},
	{
		payload = IPSEC_ECHO_DATA;
	}
)

FEM_icmpX_echo_reply(
	echo_reply_from_host1_net1_to_host1_net6_on_net0,
	hether_nut2router,
	{
		_SRC(vX(IPSEC_HOST1_NET1_ADDR));
		_DST(vX(IPSEC_HOST1_NET6_ADDR));
	},
	{
		payload = IPSEC_ECHO_DATA;
	}
)

//======================================================================
//
// AH/ESP definition
//
Hdr_AH ah_from_sg2 {
	SPI = 0x2000;
	SequenceNumber = 1;
	algorithm = aalgo_hmacmd5_foo;
}

Hdr_AH ah_to_sg2 {
	SPI = 0x2000;
	SequenceNumber = any; #1;
	algorithm = aalgo_hmacmd5_foo;
}

//======================================================================
//
// AH Tunnel from SG2_NET2 (Echo Request from HOST1_NET6 to HOST1_NET1)
//

FEM_hdr_ipvX_exth(
	ahtun_from_sg2_net2_echo_request_from_host1_net6_to_host1_net1_on_net0 ,
	hether_router2nut,
	{
		_SRC(vX(IPSEC_SG2_NET2_ADDR));
		_DST(vX(IPSEC_NUT_NET0_ADDR));
	},
	{
		header = _HDR_IPVX_NAME(ahtun_from_sg2_net2_echo_request_from_host1_net6_to_host1_net1_on_net0);
		exthdr = ah_from_sg2;
		upper = _PACKET_IPVX_NAME(echo_request_from_host1_net6_to_host1_net1_on_net0);
	}
)

//======================================================================
//
// AH Tunnel to SG2_NET2 (Echo Reply from HOST1_NET1 to HOST1_NET6)
//

FEM_hdr_ipvX_exth(
	ahtun_to_sg2_net2_echo_reply_from_host1_net1_to_host1_net6_on_net0 ,
	hether_nut2router,
	{
		_SRC(vX(IPSEC_NUT_NET0_ADDR));
		_DST(vX(IPSEC_SG2_NET2_ADDR));
	},
	{
		header = _HDR_IPVX_NAME(ahtun_to_sg2_net2_echo_reply_from_host1_net1_to_host1_net6_on_net0);
		exthdr = ah_to_sg2;
		upper  = _PACKET_IPVX_NAME(echo_reply_from_host1_net1_to_host1_net6_on_net0);
	}
)

//end
