Loading ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Testcases.ttcn +65 −0 Changes for ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Testcases.ttcn: 65 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ module AtsIpv6_Transitioning_Testcases { import from AtsIpv6_Common_Functions all; group ipv6PrefixAllocation { /* Loading Loading @@ -180,6 +181,70 @@ group encapsulationInIpv4 { } // end group TRANS_0009_02 /* * @desc 'Test Dont fragment bit in an encapsulating IPv4 header' * Uses test configuration Trans01. */ testcase TC_TRANS_0012_01() runs on Ipv6Node system NodeTestAdapter { //Variables var CfMessage v_cfMsg_4; var FncRetCode v_ret := e_error; //Configuration f_cfTrans01Up(v_cfMsg_4); activate(a_tn_nut_4(v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut)); //Preamble f_PR_tn_nut_4(v_cfMsg_4, e_cleanGla, v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut); // test body f_TP_dontFragmentBitInEncapsulatingIpv4Hdr(v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut); // postamble f_PO_tn_nut_4(v_cfMsg_4, c_cleanOnlyLla, v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut); deactivate; f_cfPtcDown_4(); }//end TC_TRANS_0012_01 }//end encapsulationInIpv4 group sixTo4SiteCommunication { /* * @desc 'Test 6to4 relay router advertisement of 2002::/16 prefix' * Uses test configuration Trans01. */ testcase TC_TRANS_0018_01() runs on Ipv6Node system NodeTestAdapter { //Variables var CfMessage v_cfMsg_6; var FncRetCode v_ret := e_error; //Configuration f_cfTrans02Up(v_cfMsg_6); activate(a_tn_nut(v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut)); //Preamble f_PR_tn_nut(v_cfMsg_6, e_cleanGla, v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut); // test body f_TP_ipv6PrefixAllocation(v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut); // postamble f_PO_tn_nut(v_cfMsg_6, c_cleanOnlyLla, v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut); deactivate; f_cfPtcDown_4(); }//end TC_TRANS_0018_01 }//end sixTo4SiteCommunication } //end module AtsIpv6_Transitioning_Testcases ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Tp_Functions.ttcn +84 −8 Changes for ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Tp_Functions.ttcn: 84 added lines, 8 removed lines. Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import from LibIpv6_MultiRfcs_Functions all; import from LibIpv6_Rfc792Icmpv4_Functions all; import from LibIpv6_Rfc792Icmpv4_Templates all; import from LibIpv6_CommonTrans_Functions all; //AtsIpv6 import from AtsIpv6_TestSystem all; import from AtsIpv6_TestConfiguration all ; Loading @@ -48,6 +49,11 @@ import from AtsIpv6_Common_Functions all; /* * @desc Check for correct prefix allocation * @param p_paramsTn Address Information of Testing Node (6to4Router) * @param p_paramsIut Address Information of IUT */ function f_TP_ipv6PrefixAllocation( template Ipv6NodeParams p_paramsTn, template Ipv6NodeParams p_paramsIut Loading @@ -55,12 +61,14 @@ runs on Ipv6Node { var FncRetCode v_ret; var Ipv4Packet v_receivedIpv4Packet; v_ret := f_ipv4withTunneledIpv6EchoProcUp( p_paramsTn.ipv4Addr, p_paramsIut.ipv4Addr, p_paramsTn.gla, p_paramsIut.gla p_paramsIut.gla, v_receivedIpv4Packet ); if (v_ret == e_success) { Loading @@ -74,6 +82,11 @@ }//end f_TP_ipv6PrefixAllocation /* * @desc Check for correct encapsulation * @param p_paramsTn Address Information of Testing Node (6to4Router) * @param p_paramsIut Address Information of IUT */ function f_TP_encapsulationInIpv4( template Ipv6NodeParams p_paramsTn, template Ipv6NodeParams p_paramsIut Loading @@ -81,12 +94,14 @@ runs on Ipv6Node { var FncRetCode v_ret; var Ipv4Packet v_receivedIpv4Packet; v_ret := f_ipv4withTunneledIpv6EchoProcUp( p_paramsTn.ipv4Addr, p_paramsIut.ipv4Addr, p_paramsTn.gla, p_paramsIut.gla p_paramsIut.gla, v_receivedIpv4Packet ); if (v_ret == e_success) { Loading @@ -102,9 +117,42 @@ }//end f_TP_encapsulationInIpv4 /* * @desc Reply to Ping. Ping was sent from netB * @param p_paramsTn Address Information of Testing Node (6to4RelayRouter) * @param p_paramsHs Address Information of Test Host behind the Testing Node * @desc Check for dont fragment bit * @param p_paramsTn Address Information of Testing Node (6to4Router) * @param p_paramsIut Address Information of IUT */ function f_TP_dontFragmentBitInEncapsulatingIpv4Hdr( template Ipv6NodeParams p_paramsTn, template Ipv6NodeParams p_paramsIut ) runs on Ipv6Node { var FncRetCode v_ret; var Ipv4Packet v_receivedIpv4Packet; v_ret := f_ipv4withTunneledIpv6EchoProcUp( p_paramsTn.ipv4Addr, p_paramsIut.ipv4Addr, p_paramsTn.gla, p_paramsIut.gla, v_receivedIpv4Packet ); if (v_ret == e_success and v_receivedIpv4Packet.ipv4Hdr.doNotFragFlag == c_doNotFragFlag0) { log("**** f_TP_dontFragmentBitInEncapsulatingIpv4Hdr: IUT sent IPv4Packet containing 'dont fragment bit' set to 0 ****"); } f_selfOrClientSyncAndVerdict(c_tbDone, v_ret); }//end f_TP_dontFragmentBitInEncapsulatingIpv4Hdr /* * @desc Ping is received for IPv6 native address of test node 1 (relay router, net A) and it is repied. * Ping was sent from 6to4 domain (netB). * @param p_paramsRelayRt01 Address Information of Test Node 1 (6to4RelayRouter) * @param p_paramsHs02 Address Information of Test Node 2(host within the IUT's 6to4 domain) * @param p_paramsIut Address Information of IUT */ function f_TP_ipv6RouteHasNextHopAddrOf6to4Relay_4( template Ipv6NodeParams p_paramsRelayRt01, Loading @@ -127,9 +175,10 @@ }//end f_TP_ipv6RouteHasNextHopAddrOf6to4Relay /* * @desc Ping procedure from netB with node within the domain of the 6to4RelayRouter (netC) * @param p_paramsTn Address Information of Testing Node * @param p_paramsHs Address Information of Node within the domain of the 6to4RelayRouter * @desc Test node 2 is within the IUTs 6to4 domain (netB) and pings IPv6 native address of Test Node 1. * Test node 1 is a Relay Router (netC). * @param p_paramsHs02 Address Information of Testing Node * @param p_paramsRelayRt01 Address Information of Node within the domain of the 6to4RelayRouter */ function f_TP_ipv6RouteHasNextHopAddrOf6to4Relay_6( template Ipv6NodeParams p_paramsHs02, Loading @@ -151,4 +200,31 @@ }//end f_TP_ipv6RouteHasNextHopAddrOf6to4Relay /* * @desc Receive 6to4 Router Advertisments * @param p_paramsTn Address Information of Testing Node (6to4Router) * @param p_paramsIut Address Information of IUT */ function f_TP_receive6to4RtAdv( template Ipv6NodeParams p_paramsIut ) runs on Ipv6Node { var FncRetCode v_ret; var Ipv4Packet v_receivedIpv4Packet; var RouterAdvertisement v_receivedRtAdv; v_ret := f_receive6to4RtAdv( p_paramsIut.lla ); if (v_ret == e_success and f_createPrefix64 (p_paramsIut.gla) == v_receivedRtAdv.ipv6Payload.rtAdvOptions.prefixInfoList[0].prefix){ log("**** f_TP_receive6to4RtAdv: IUT advertises prefix as configured by test operator ****"); } f_selfOrClientSyncAndVerdict(c_tbDone, v_ret); }//end f_TP_receive6to4RtAdv } // end module AtsIpv6_Transitioning_Tp_Functions Loading
ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Testcases.ttcn +65 −0 Changes for ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Testcases.ttcn: 65 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ module AtsIpv6_Transitioning_Testcases { import from AtsIpv6_Common_Functions all; group ipv6PrefixAllocation { /* Loading Loading @@ -180,6 +181,70 @@ group encapsulationInIpv4 { } // end group TRANS_0009_02 /* * @desc 'Test Dont fragment bit in an encapsulating IPv4 header' * Uses test configuration Trans01. */ testcase TC_TRANS_0012_01() runs on Ipv6Node system NodeTestAdapter { //Variables var CfMessage v_cfMsg_4; var FncRetCode v_ret := e_error; //Configuration f_cfTrans01Up(v_cfMsg_4); activate(a_tn_nut_4(v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut)); //Preamble f_PR_tn_nut_4(v_cfMsg_4, e_cleanGla, v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut); // test body f_TP_dontFragmentBitInEncapsulatingIpv4Hdr(v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut); // postamble f_PO_tn_nut_4(v_cfMsg_4, c_cleanOnlyLla, v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut); deactivate; f_cfPtcDown_4(); }//end TC_TRANS_0012_01 }//end encapsulationInIpv4 group sixTo4SiteCommunication { /* * @desc 'Test 6to4 relay router advertisement of 2002::/16 prefix' * Uses test configuration Trans01. */ testcase TC_TRANS_0018_01() runs on Ipv6Node system NodeTestAdapter { //Variables var CfMessage v_cfMsg_6; var FncRetCode v_ret := e_error; //Configuration f_cfTrans02Up(v_cfMsg_6); activate(a_tn_nut(v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut)); //Preamble f_PR_tn_nut(v_cfMsg_6, e_cleanGla, v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut); // test body f_TP_ipv6PrefixAllocation(v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut); // postamble f_PO_tn_nut(v_cfMsg_6, c_cleanOnlyLla, v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut); deactivate; f_cfPtcDown_4(); }//end TC_TRANS_0018_01 }//end sixTo4SiteCommunication } //end module AtsIpv6_Transitioning_Testcases
ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Tp_Functions.ttcn +84 −8 Changes for ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Tp_Functions.ttcn: 84 added lines, 8 removed lines. Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import from LibIpv6_MultiRfcs_Functions all; import from LibIpv6_Rfc792Icmpv4_Functions all; import from LibIpv6_Rfc792Icmpv4_Templates all; import from LibIpv6_CommonTrans_Functions all; //AtsIpv6 import from AtsIpv6_TestSystem all; import from AtsIpv6_TestConfiguration all ; Loading @@ -48,6 +49,11 @@ import from AtsIpv6_Common_Functions all; /* * @desc Check for correct prefix allocation * @param p_paramsTn Address Information of Testing Node (6to4Router) * @param p_paramsIut Address Information of IUT */ function f_TP_ipv6PrefixAllocation( template Ipv6NodeParams p_paramsTn, template Ipv6NodeParams p_paramsIut Loading @@ -55,12 +61,14 @@ runs on Ipv6Node { var FncRetCode v_ret; var Ipv4Packet v_receivedIpv4Packet; v_ret := f_ipv4withTunneledIpv6EchoProcUp( p_paramsTn.ipv4Addr, p_paramsIut.ipv4Addr, p_paramsTn.gla, p_paramsIut.gla p_paramsIut.gla, v_receivedIpv4Packet ); if (v_ret == e_success) { Loading @@ -74,6 +82,11 @@ }//end f_TP_ipv6PrefixAllocation /* * @desc Check for correct encapsulation * @param p_paramsTn Address Information of Testing Node (6to4Router) * @param p_paramsIut Address Information of IUT */ function f_TP_encapsulationInIpv4( template Ipv6NodeParams p_paramsTn, template Ipv6NodeParams p_paramsIut Loading @@ -81,12 +94,14 @@ runs on Ipv6Node { var FncRetCode v_ret; var Ipv4Packet v_receivedIpv4Packet; v_ret := f_ipv4withTunneledIpv6EchoProcUp( p_paramsTn.ipv4Addr, p_paramsIut.ipv4Addr, p_paramsTn.gla, p_paramsIut.gla p_paramsIut.gla, v_receivedIpv4Packet ); if (v_ret == e_success) { Loading @@ -102,9 +117,42 @@ }//end f_TP_encapsulationInIpv4 /* * @desc Reply to Ping. Ping was sent from netB * @param p_paramsTn Address Information of Testing Node (6to4RelayRouter) * @param p_paramsHs Address Information of Test Host behind the Testing Node * @desc Check for dont fragment bit * @param p_paramsTn Address Information of Testing Node (6to4Router) * @param p_paramsIut Address Information of IUT */ function f_TP_dontFragmentBitInEncapsulatingIpv4Hdr( template Ipv6NodeParams p_paramsTn, template Ipv6NodeParams p_paramsIut ) runs on Ipv6Node { var FncRetCode v_ret; var Ipv4Packet v_receivedIpv4Packet; v_ret := f_ipv4withTunneledIpv6EchoProcUp( p_paramsTn.ipv4Addr, p_paramsIut.ipv4Addr, p_paramsTn.gla, p_paramsIut.gla, v_receivedIpv4Packet ); if (v_ret == e_success and v_receivedIpv4Packet.ipv4Hdr.doNotFragFlag == c_doNotFragFlag0) { log("**** f_TP_dontFragmentBitInEncapsulatingIpv4Hdr: IUT sent IPv4Packet containing 'dont fragment bit' set to 0 ****"); } f_selfOrClientSyncAndVerdict(c_tbDone, v_ret); }//end f_TP_dontFragmentBitInEncapsulatingIpv4Hdr /* * @desc Ping is received for IPv6 native address of test node 1 (relay router, net A) and it is repied. * Ping was sent from 6to4 domain (netB). * @param p_paramsRelayRt01 Address Information of Test Node 1 (6to4RelayRouter) * @param p_paramsHs02 Address Information of Test Node 2(host within the IUT's 6to4 domain) * @param p_paramsIut Address Information of IUT */ function f_TP_ipv6RouteHasNextHopAddrOf6to4Relay_4( template Ipv6NodeParams p_paramsRelayRt01, Loading @@ -127,9 +175,10 @@ }//end f_TP_ipv6RouteHasNextHopAddrOf6to4Relay /* * @desc Ping procedure from netB with node within the domain of the 6to4RelayRouter (netC) * @param p_paramsTn Address Information of Testing Node * @param p_paramsHs Address Information of Node within the domain of the 6to4RelayRouter * @desc Test node 2 is within the IUTs 6to4 domain (netB) and pings IPv6 native address of Test Node 1. * Test node 1 is a Relay Router (netC). * @param p_paramsHs02 Address Information of Testing Node * @param p_paramsRelayRt01 Address Information of Node within the domain of the 6to4RelayRouter */ function f_TP_ipv6RouteHasNextHopAddrOf6to4Relay_6( template Ipv6NodeParams p_paramsHs02, Loading @@ -151,4 +200,31 @@ }//end f_TP_ipv6RouteHasNextHopAddrOf6to4Relay /* * @desc Receive 6to4 Router Advertisments * @param p_paramsTn Address Information of Testing Node (6to4Router) * @param p_paramsIut Address Information of IUT */ function f_TP_receive6to4RtAdv( template Ipv6NodeParams p_paramsIut ) runs on Ipv6Node { var FncRetCode v_ret; var Ipv4Packet v_receivedIpv4Packet; var RouterAdvertisement v_receivedRtAdv; v_ret := f_receive6to4RtAdv( p_paramsIut.lla ); if (v_ret == e_success and f_createPrefix64 (p_paramsIut.gla) == v_receivedRtAdv.ipv6Payload.rtAdvOptions.prefixInfoList[0].prefix){ log("**** f_TP_receive6to4RtAdv: IUT advertises prefix as configured by test operator ****"); } f_selfOrClientSyncAndVerdict(c_tbDone, v_ret); }//end f_TP_receive6to4RtAdv } // end module AtsIpv6_Transitioning_Tp_Functions