// // $Name: V6PC_IKE_1_0_1 $ // // $TAHI: ct/ike/ike_common.def,v 1.57.2.2 2005/11/22 01:59:39 ozoe Exp $ // #ifndef IKE_COMMON_DEF #define IKE_COMMON_DEF #include "./ike_addr.def" //====================================================================== // // IKE common parametor // #ifndef NEXTPAYLOAD #define NEXTPAYLOAD any #endif #ifndef ISAKMP_EXCHANGE_TYPE #define ISAKMP_EXCHANGE_TYPE 1 #endif #ifndef ISAKMP_DOI #define ISAKMP_DOI 1 #endif #ifndef ISAKMP_SITUATION #define ISAKMP_SITUATION 1 #endif #ifndef PROPOSALNUMBER #define PROPOSALNUMBER any #endif #ifndef PROTOCOLID #define PROTOCOLID any #endif #ifndef NUMOFTRANSFORMS #define NUMOFTRANSFORMS any #endif #ifndef ISAKMP_TRANSFORM_IDENTIFIERS #define ISAKMP_TRANSFORM_IDENTIFIERS 1 #endif #ifndef ISAKMP_ENCRYPTION_ALGORITHM_VALUE #define ISAKMP_ENCRYPTION_ALGORITHM_VALUE 5 #endif #ifndef ISAKMP_HASH_ALGORITHM #define ISAKMP_HASH_ALGORITHM "sha1" #endif #ifndef ISAKMP_HASH_ALGORITHM_CLASS #define ISAKMP_HASH_ALGORITHM_CLASS "hmacsha1" #endif #ifndef ISAKMP_HASH_ALGORITHM_VALUE #define ISAKMP_HASH_ALGORITHM_VALUE 2 #endif #ifndef ISAKMP_AUTHENTICATION_METHOD_VALUE #define ISAKMP_AUTHENTICATION_METHOD_VALUE 1 #endif #ifndef ISAKMP_GROUP_DESCRIPTION_VALUE #define ISAKMP_GROUP_DESCRIPTION_VALUE 2 #endif #ifndef ISAKMP_LIFE_TYPE_VALUE #define ISAKMP_LIFE_TYPE_VALUE 1 #endif #ifndef ISAKMP_LIFE_DURATION_VALUE #define ISAKMP_LIFE_DURATION_VALUE "" #endif #ifndef ISAKMP_LIFE_DURATION_VALUE_TV #define ISAKMP_LIFE_DURATION_VALUE_TV 28800 #endif #ifndef ISAKMP_PRF_VALUE #define ISAKMP_PRF_VALUE any #endif #ifndef ID_DER_ASN1_DN #define ID_DER_ASN1_DN any #endif #ifndef CERT_ENCODING #define CERT_ENCODING 0 #endif //#ifdef DSS_SUPPORT #ifndef CERT_FILE #define CERT_FILE file("TNcert.der") #endif //#endif DSS_SUPPORT #ifndef CERT_TYPE #define CERT_TYPE 0 #endif #ifndef CERT_AUTHORITY #define CERT_AUTHORITY any #endif #ifndef SIGNATURE_DATA #define SIGNATURE_DATA any #endif #ifndef ID_TYPE_VALUE #define ID_TYPE_VALUE 5 #endif #ifndef ID_TYPE_VALUE_SEND #define ID_TYPE_VALUE_SEND 6 #endif #ifndef ID_TYPE_VALUE_RECV #define ID_TYPE_VALUE_RECV 6 #endif #ifndef ID_FQDN_VALUE_SEND #define ID_FQDN_VALUE_SEND "host1.foo.com" #endif #ifndef ID_FQDN_VALUE_RECV #define ID_FQDN_VALUE_RECV "host2.bar.com" #endif #ifndef ID_V6ADDR_VALUE_SEND #define ID_V6ADDR_VALUE_SEND "::1" #endif #ifndef ID_V6ADDR_VALUE_RECV #define ID_V6ADDR_VALUE_RECV "::1" #endif #ifndef ID_V6ADDR_VALUE_SEND1 #define ID_V6ADDR_VALUE_SEND1 "::1" #endif #ifndef ID_V6ADDR_VALUE_SEND2 #define ID_V6ADDR_VALUE_SEND2 "::1" #endif #ifndef ID_V6ADDR_VALUE_RECV1 #define ID_V6ADDR_VALUE_RECV1 "::1" #endif #ifndef ID_V6ADDR_VALUE_RECV2 #define ID_V6ADDR_VALUE_RECV2 "::1" #endif #ifndef KEY_EXCHANGE_DATA #define KEY_EXCHANGE_DATA "0" #endif #ifndef IPPROTO_TCP #define IPPROTO_TCP 6 #endif #ifndef IPPROTO_UDP #define IPPROTO_UDP 17 #endif #ifndef IPPROTO_ICMPv6 #define IPPROTO_ICMPv6 58 #endif #ifndef IPPROTO_SEND #define IPPROTO_SEND 0 #endif #ifndef IPPROTO_RECV #define IPPROTO_RECV 0 #endif #ifndef PORT_ISAKMP #define PORT_ISAKMP 500 #endif #ifndef PORT_ANY #define PORT_ANY 0 #endif #ifndef SKEYID #define SKEYID "0" #endif #ifndef SKEYID_A #define SKEYID_A "0" #endif #ifndef SKEYID_E #define SKEYID_E "0" #endif #ifndef G_XR #define G_XR "0" #endif #ifndef G_XI #define G_XI "0" #endif #ifndef IV_VALUE #define IV_VALUE "0" #endif #ifndef IV_VALUE #define IV_VALUE "0" #endif #ifndef RESPONDER_COOKIE #define RESPONDER_COOKIE "0" #endif #ifndef INITIATOR_COOKIE #define INITIATOR_COOKIE "0" #endif #ifndef NONCE_NEXTPAYLOAD #define NONCE_NEXTPAYLOAD any #endif #ifndef RESPONDER_NONCE_DATA #define RESPONDER_NONCE_DATA "" #endif #ifndef INITIATOR_NONCE_DATA #define INITIATOR_NONCE_DATA "" #endif #ifndef IPSECDOI_NEXTPAYLOAD #define IPSECDOI_NEXTPAYLOAD any #endif #ifndef IPSECDOI_EXCHANGE_TYPE #define IPSECDOI_EXCHANGE_TYPE 32 #endif #ifndef IPSECDOI_MESSAGE_ID #define IPSECDOI_MESSAGE_ID any #endif #ifndef IPSECDOI_PROPOSAL_NUM #define IPSECDOI_PROPOSAL_NUM any #endif #ifndef IPSECDOI_PROPOSAL_NUM_1 #define IPSECDOI_PROPOSAL_NUM_1 any #endif #ifndef IPSECDOI_PROPOSAL_NUM_2 #define IPSECDOI_PROPOSAL_NUM_2 any #endif #ifndef IPSECDOI_PROTOCOL_ID #define IPSECDOI_PROTOCOL_ID any #endif #ifndef IPSECDOI_PROTOCOL_ID_1 #define IPSECDOI_PROTOCOL_ID_1 any #endif #ifndef IPSECDOI_PROTOCOL_ID_2 #define IPSECDOI_PROTOCOL_ID_2 any #endif #ifndef IPSECDOI_NUMOFTRANSFORMS #define IPSECDOI_NUMOFTRANSFORMS any #endif #ifndef IPSECDOI_NUMOFTRANSFORMS_1 #define IPSECDOI_NUMOFTRANSFORMS_1 any #endif #ifndef IPSECDOI_NUMOFTRANSFORMS_2 #define IPSECDOI_NUMOFTRANSFORMS_2 any #endif #ifndef SPI_VALUE #define SPI_VALUE any #endif #ifndef IPSECDOI_TRANSFORM_NUM #define IPSECDOI_TRANSFORM_NUM any #endif #ifndef IPSECDOI_TRANSFORM_NUM_P1_T1 #define IPSECDOI_TRANSFORM_NUM_P1_T1 any #endif #ifndef IPSECDOI_TRANSFORM_NUM_P1_T2 #define IPSECDOI_TRANSFORM_NUM_P1_T2 any #endif #ifndef IPSECDOI_TRANSFORM_NUM_P2_T1 #define IPSECDOI_TRANSFORM_NUM_P2_T1 any #endif #ifndef IPSECDOI_TRANSFORM_NUM_P2_T2 #define IPSECDOI_TRANSFORM_NUM_P2_T2 any #endif #ifndef IPSECDOI_TRANSFORM_ID #define IPSECDOI_TRANSFORM_ID any #endif #ifndef IPSECDOI_TRANSFORM_ID_P1_T1 #define IPSECDOI_TRANSFORM_ID_P1_T1 any #endif #ifndef IPSECDOI_TRANSFORM_ID_P1_T2 #define IPSECDOI_TRANSFORM_ID_P1_T2 any #endif #ifndef IPSECDOI_TRANSFORM_ID_P2_T1 #define IPSECDOI_TRANSFORM_ID_P2_T1 any #endif #ifndef IPSECDOI_TRANSFORM_ID_P2_T2 #define IPSECDOI_TRANSFORM_ID_P2_T2 any #endif #ifndef IPSECDOI_SA_LIFE_TYPE_VALUE #define IPSECDOI_SA_LIFE_TYPE_VALUE any #endif #ifndef IPSECDOI_SA_LIFE_TYPE_VALUE_P1_T1 #define IPSECDOI_SA_LIFE_TYPE_VALUE_P1_T1 any #endif #ifndef IPSECDOI_SA_LIFE_TYPE_VALUE_P1_T2 #define IPSECDOI_SA_LIFE_TYPE_VALUE_P1_T2 any #endif #ifndef IPSECDOI_SA_LIFE_TYPE_VALUE_P2_T1 #define IPSECDOI_SA_LIFE_TYPE_VALUE_P2_T1 any #endif #ifndef IPSECDOI_SA_LIFE_TYPE_VALUE_P2_T2 #define IPSECDOI_SA_LIFE_TYPE_VALUE_P2_T2 any #endif #ifndef IPSECDOI_SA_LIFE_DURATION_VALUE #define IPSECDOI_SA_LIFE_DURATION_VALUE any #endif #ifndef IPSECDOI_SA_LIFE_DURATION_VALUE_P1_T1 #define IPSECDOI_SA_LIFE_DURATION_VALUE_P1_T1 any #endif #ifndef IPSECDOI_SA_LIFE_DURATION_VALUE_P1_T2 #define IPSECDOI_SA_LIFE_DURATION_VALUE_P1_T2 any #endif #ifndef IPSECDOI_SA_LIFE_DURATION_VALUE_P2_T1 #define IPSECDOI_SA_LIFE_DURATION_VALUE_P2_T1 any #endif #ifndef IPSECDOI_SA_LIFE_DURATION_VALUE_P2_T2 #define IPSECDOI_SA_LIFE_DURATION_VALUE_P2_T2 any #endif #ifndef IPSECDOI_GROUP_DESCRIPTION_VALUE #define IPSECDOI_GROUP_DESCRIPTION_VALUE any #endif #ifndef IPSECDOI_ENCAPSULATION_MODE_VALUE #define IPSECDOI_ENCAPSULATION_MODE_VALUE any #endif #ifndef IPSECDOI_ENCAPSULATION_MODE_VALUE_P1_T1 #define IPSECDOI_ENCAPSULATION_MODE_VALUE_P1_T1 any #endif #ifndef IPSECDOI_ENCAPSULATION_MODE_VALUE_P1_T2 #define IPSECDOI_ENCAPSULATION_MODE_VALUE_P1_T2 any #endif #ifndef IPSECDOI_ENCAPSULATION_MODE_VALUE_P2_T1 #define IPSECDOI_ENCAPSULATION_MODE_VALUE_P2_T1 any #endif #ifndef IPSECDOI_ENCAPSULATION_MODE_VALUE_P2_T2 #define IPSECDOI_ENCAPSULATION_MODE_VALUE_P2_T2 any #endif #ifndef IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE #define IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE any #endif #ifndef IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE_P1_T1 #define IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE_P1_T1 any #endif #ifndef IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE_P1_T2 #define IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE_P1_T2 any #endif #ifndef IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE_P2_T1 #define IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE_P2_T1 any #endif #ifndef IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE_P2_T2 #define IPSECDOI_AUTHENTICATION_ALGORITHM_VALUE_P2_T2 any #endif //====================================================================== // // Hdr_Ether // //_HETHER_define(_HETHER_tnA112allnodes, ether(A11_MAC_ADDR), // v62ethermulti(v6(_ALLNODES_MCAST_ADDR))) //_HETHER_define(_HETHER_nut2tnA11solnode, nutether(), // _ETHER_SOLNODE_MCAST(v6(_LLOCAL0A0N_UCAST_ADDR))) _HETHER_define(_HETHER_tnA112allnodes, ether(A11_MAC_ADDR), v62ethermulti(v6(_ALLNODES_MCAST_ADDR))) _HETHER_define(_HETHER_nut2tnA11solnode, nutether(), _ETHER_SOLNODE_MCAST(v6(IKE_TN_NET0_ROUTER1_LINK_ADDR))) _HETHER_define(_HETHER_tnA112nut, ether(A11_MAC_ADDR), nutether()) _HETHER_define(_HETHER_nut2tnA11, nutether(), ether(A11_MAC_ADDR)) _TLLOPT_define(_TLLOPT_tnA11, ether(A11_MAC_ADDR)) #ifdef SECURITY_GATEWAY_TEST #define LINK1_DEVICE "Link1" _HETHER_define(_HETHER_tnA1N2allnodes, ether(A1N_MAC_ADDR), v62ethermulti(v6(_ALLNODES_MCAST_ADDR))) _HETHER_define(_HETHER_nut2tnA1Nsolnode, nutether(LINK1_DEVICE), _ETHER_SOLNODE_MCAST(v6(_LLOCAL0A1N_UCAST_ADDR))) _HETHER_define(_HETHER_tnA1N2nut, ether(A1N_MAC_ADDR), nutether(LINK1_DEVICE)) _HETHER_define(_HETHER_nut2tnA1N, nutether(LINK1_DEVICE), ether(A1N_MAC_ADDR)) _TLLOPT_define(_TLLOPT_tnA1N, ether(A1N_MAC_ADDR)) #endif //SECURITY_GATEWAY_TEST //====================================================================== // // RA // FEM_icmp6_ra( ra_to_nut, _HETHER_tnA112allnodes, { HopLimit = 255; _SRC(v6(IKE_TN_NET0_ROUTER1_LINK_ADDR)); _DST(v6(_ALLNODES_MCAST_ADDR)); }, { CurHopLimit=64; LifeTime = 65520; option = opt_mtu_1500; option = opt_prefixinformation_router; } ) Opt_ICMPv6_MTU opt_mtu_1500 { MTU = 1500; } Opt_ICMPv6_Prefix opt_prefixinformation_router { LFlag = 1; AFlag = 1; ValidLifetime = 2592000; PreferredLifetime = 604800; Prefix = v6(IKE_NET0_PREFIX); } //====================================================================== // // RS // FEM_icmp6_rs( rs_from_nut, _HETHER_nut2allrouters, { _SRC(nutv6()); _DST(v6(_ALLROUTERS_MCAST_ADDR)); HopLimit=255; }, { } ) FEM_icmp6_rs( rs_from_nut_wsll, _HETHER_nut2allrouters, { _SRC(nutv6()); _DST(v6(_ALLROUTERS_MCAST_ADDR)); HopLimit=255; }, { option=_SLLOPT_nut; } ) #if (MANUAL_ADDR_CONF) #define NET0HOST1ADDRESS v6(IKE_NUT_NET0_HOST1_ADDR) #else #define NET0HOST1ADDRESS v6merge(IKE_NET0_PREFIX, IKE_NET0_PREFIX_LEN, nutv6()) #endif //(MANUAL_ADDR_CONF) //====================================================================== // // NS // FEM_icmp6_ns( ns_multi, _HETHER_nut2tnA11solnode, { HopLimit = 255; _SRC(oneof(nutv6(), NET0HOST1ADDRESS)); _DST(_IPV6_SOLNODE_MCAST(v6(IKE_TN_NET0_ROUTER1_ADDR))); }, { TargetAddress = v6(IKE_TN_NET0_ROUTER1_ADDR); option = _SLLOPT_nut; } ) FEM_icmp6_ns( ns_multi_llt, _HETHER_nut2tnA11solnode, { HopLimit = 255; _SRC(oneof(nutv6(), NET0HOST1ADDRESS)); _DST(_IPV6_SOLNODE_MCAST(v6(IKE_TN_NET0_ROUTER1_ADDR))); }, { TargetAddress = v6(IKE_TN_NET0_ROUTER1_LINK_ADDR); option = _SLLOPT_nut; } ) FEM_icmp6_ns( ns_uni, _HETHER_nut2tnA11, { HopLimit = 255; _SRC(oneof(nutv6(), NET0HOST1ADDRESS)); _DST(v6(IKE_TN_NET0_ROUTER1_ADDR)); }, { TargetAddress = v6(IKE_TN_NET0_ROUTER1_ADDR); } ) FEM_icmp6_ns( ns_uni_sll, _HETHER_nut2tnA11, { HopLimit = 255; _SRC(oneof(nutv6(), NET0HOST1ADDRESS)); _DST(v6(IKE_TN_NET0_ROUTER1_ADDR)); }, { TargetAddress = v6(IKE_TN_NET0_ROUTER1_ADDR); option = _SLLOPT_nut; } ) FEM_icmp6_ns( ns_uni_tll_sll, _HETHER_nut2tnA11, { HopLimit = 255; _SRC(nutv6()); _DST(v6(IKE_TN_NET0_ROUTER1_LINK_ADDR)); }, { TargetAddress = v6(IKE_TN_NET0_ROUTER1_LINK_ADDR); option = _SLLOPT_nut; } ) //====================================================================== // // NA // FEM_icmp6_na( na, _HETHER_tnA112nut, { HopLimit = 255; _SRC(v6(IKE_TN_NET0_ROUTER1_ADDR)); _DST(NET0HOST1ADDRESS); }, { RFlag = 1; SFlag = 1; OFlag = 1; TargetAddress = v6(IKE_TN_NET0_ROUTER1_ADDR); option = _TLLOPT_tnA11; } ) FEM_icmp6_na( na_llt, _HETHER_tnA112nut, { HopLimit = 255; _SRC(v6(IKE_TN_NET0_ROUTER1_ADDR)); _DST(NET0HOST1ADDRESS); }, { RFlag = 1; SFlag = 1; OFlag = 1; TargetAddress = v6(IKE_TN_NET0_ROUTER1_LINK_ADDR); option = _TLLOPT_tnA11; } ) FEM_icmp6_na( na_ll_llt, _HETHER_tnA112nut, { HopLimit = 255; _SRC(v6(IKE_TN_NET0_ROUTER1_LINK_ADDR)); _DST(nutv6()); }, { RFlag = 1; SFlag = 1; OFlag = 1; TargetAddress = v6(IKE_TN_NET0_ROUTER1_LINK_ADDR); option = _TLLOPT_tnA11; } ) //====================================================================== // // NS for Router // FEM_icmp6_ns( router_ns_multi, _HETHER_nut2tnA11solnode, { HopLimit = 255; _SRC(oneof(nutv6(), v6(IKE_NUT_NET2_SGW1_ADDR))); _DST(_IPV6_SOLNODE_MCAST(v6(IKE_TN_NET2_ROUTER2_ADDR))); }, { TargetAddress = v6(IKE_TN_NET2_ROUTER2_ADDR); option = _SLLOPT_nut; } ) FEM_icmp6_ns( router_ns_multi_llt, _HETHER_nut2tnA11solnode, { HopLimit = 255; _SRC(oneof(nutv6(), v6(IKE_NUT_NET2_SGW1_ADDR))); _DST(_IPV6_SOLNODE_MCAST(v6(IKE_TN_NET2_ROUTER2_ADDR))); }, { TargetAddress = v6(IKE_TN_NET2_ROUTER2_LINK_ADDR); option = _SLLOPT_nut; } ) FEM_icmp6_ns( router_ns_uni, _HETHER_nut2tnA11, { HopLimit = 255; _SRC(oneof(nutv6(), v6(IKE_NUT_NET2_SGW1_ADDR))); _DST(v6(IKE_TN_NET2_ROUTER2_ADDR)); }, { TargetAddress = v6(IKE_TN_NET2_ROUTER2_ADDR); } ) FEM_icmp6_ns( router_ns_uni_sll, _HETHER_nut2tnA11, { HopLimit = 255; _SRC(oneof(nutv6(), v6(IKE_NUT_NET2_SGW1_ADDR))); _DST(v6(IKE_TN_NET2_ROUTER2_ADDR)); }, { TargetAddress = v6(IKE_TN_NET2_ROUTER2_ADDR); option = _SLLOPT_nut; } ) FEM_icmp6_ns( router_ns_uni_tll_sll, _HETHER_nut2tnA11, { HopLimit = 255; _SRC(nutv6()); _DST(v6(IKE_TN_NET2_ROUTER2_LINK_ADDR)); }, { TargetAddress = v6(IKE_TN_NET2_ROUTER2_LINK_ADDR); option = _SLLOPT_nut; } ) #ifdef SECURITY_GATEWAY_TEST // // Other side // ////////////// FEM_icmp6_ns( router_ns_multi_link1, _HETHER_nut2tnA1Nsolnode, { HopLimit = 255; _SRC(oneof(nutv6(LINK1_DEVICE), v6(IKE_NUT_NET1_SGW1_ADDR))); _DST(_IPV6_SOLNODE_MCAST(v6(IKE_TN_NET1_ROUTER1_ADDR))); }, { TargetAddress = v6(IKE_TN_NET1_ROUTER1_ADDR); option = _SLLOPT_nut; } ) FEM_icmp6_ns( router_ns_multi_llt_link1, _HETHER_nut2tnA1Nsolnode, { HopLimit = 255; _SRC(oneof(nutv6(LINK1_DEVICE), v6(IKE_NUT_NET1_SGW1_ADDR))); _DST(_IPV6_SOLNODE_MCAST(v6(IKE_TN_NET1_ROUTER1_ADDR))); }, { TargetAddress = v6(IKE_TN_NET1_ROUTER1_LINK_ADDR); option = _SLLOPT_nut; } ) FEM_icmp6_ns( router_ns_uni_link1, _HETHER_nut2tnA1N, { HopLimit = 255; _SRC(oneof(nutv6(LINK1_DEVICE), v6(IKE_NUT_NET1_SGW1_ADDR))); _DST(v6(IKE_TN_NET1_ROUTER1_ADDR)); }, { TargetAddress = v6(IKE_TN_NET1_ROUTER1_ADDR); } ) FEM_icmp6_ns( router_ns_uni_sll_link1, _HETHER_nut2tnA1N, { HopLimit = 255; _SRC(oneof(nutv6(LINK1_DEVICE), v6(IKE_NUT_NET1_SGW1_ADDR))); _DST(v6(IKE_TN_NET1_ROUTER1_ADDR)); }, { TargetAddress = v6(IKE_TN_NET1_ROUTER1_ADDR); option = _SLLOPT_nut; } ) FEM_icmp6_ns( router_ns_uni_tll_sll_link1, _HETHER_nut2tnA1N, { HopLimit = 255; _SRC(nutv6(LINK1_DEVICE)); _DST(v6(IKE_TN_NET1_ROUTER1_LINK_ADDR)); }, { TargetAddress = v6(IKE_TN_NET1_ROUTER1_LINK_ADDR); option = _SLLOPT_nut; } ) #endif // SECURITY_GATEWAY_TEST //====================================================================== // // NA for Router // FEM_icmp6_na( router_na, _HETHER_tnA112nut, { HopLimit = 255; _SRC(v6(IKE_TN_NET2_ROUTER2_ADDR)); _DST(v6(IKE_NUT_NET2_SGW1_ADDR)); }, { RFlag = 1; SFlag = 1; OFlag = 1; TargetAddress = v6(IKE_TN_NET2_ROUTER2_ADDR); option = _TLLOPT_tnA11; } ) FEM_icmp6_na( router_na_llt, _HETHER_tnA112nut, { HopLimit = 255; _SRC(v6(IKE_TN_NET2_ROUTER2_ADDR)); _DST(v6(IKE_NUT_NET2_SGW1_ADDR)); }, { RFlag = 1; SFlag = 1; OFlag = 1; TargetAddress = v6(IKE_TN_NET2_ROUTER2_LINK_ADDR); option = _TLLOPT_tnA11; } ) FEM_icmp6_na( router_na_ll_llt, _HETHER_tnA112nut, { HopLimit = 255; _SRC(v6(IKE_TN_NET2_ROUTER2_LINK_ADDR)); _DST(nutv6()); }, { RFlag = 1; SFlag = 1; OFlag = 1; TargetAddress = v6(IKE_TN_NET2_ROUTER2_LINK_ADDR); option = _TLLOPT_tnA11; } ) #ifdef SECURITY_GATEWAY_TEST // // Other side // ////////////// FEM_icmp6_na( router_na_link1, _HETHER_tnA1N2nut, { HopLimit = 255; _SRC(v6(IKE_TN_NET1_ROUTER1_ADDR)); _DST(v6(IKE_NUT_NET1_SGW1_ADDR)); }, { RFlag = 1; SFlag = 1; OFlag = 1; TargetAddress = v6(IKE_TN_NET1_ROUTER1_ADDR); option = _TLLOPT_tnA1N; } ) FEM_icmp6_na( router_na_llt_link1, _HETHER_tnA1N2nut, { HopLimit = 255; _SRC(v6(IKE_TN_NET1_ROUTER1_ADDR)); _DST(v6(IKE_NUT_NET1_SGW1_ADDR)); }, { RFlag = 1; SFlag = 1; OFlag = 1; TargetAddress = v6(IKE_TN_NET1_ROUTER1_LINK_ADDR); option = _TLLOPT_tnA1N; } ) FEM_icmp6_na( router_na_ll_llt_link1, _HETHER_tnA1N2nut, { HopLimit = 255; _SRC(v6(IKE_TN_NET1_ROUTER1_LINK_ADDR)); _DST(nutv6(LINK1_DEVICE)); }, { RFlag = 1; SFlag = 1; OFlag = 1; TargetAddress = v6(IKE_TN_NET1_ROUTER1_LINK_ADDR); option = _TLLOPT_tnA1N; } ) #endif // SECURITY_GATEWAY_TEST //====================================================================== // // Echo Request from Router // FEM_icmp6_echo_request( echo_request_from_router, _HETHER_tnA112nut, { _SRC(v6(IKE_TN_NET0_ROUTER1_ADDR)); _DST(NET0HOST1ADDRESS); }, { payload = echo_data8; } ) //====================================================================== // // Echo Reply to Router // FEM_icmp6_echo_reply( echo_reply_to_router, _HETHER_nut2tnA11, { _SRC(NET0HOST1ADDRESS); _DST(v6(IKE_TN_NET0_ROUTER1_ADDR)); }, { payload = echo_data8; } ) //====================================================================== // // Default Payload Data ("EchoData") // Payload echo_data8 { data = { 0x45, 0x63, 0x68, 0x6f, 0x44, 0x61, 0x74, 0x61}; } #ifdef PACKET_IPSEC_TCP #include "ike_common_tcp.def" #else #include "ike_common_icmp.def" #endif // PACKET_IPSEC_TCP #endif