Loading ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Testcases.ttcn +676 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ module AtsIpv6_Transitioning_Testcases { import from LibIpv6_Interface_Templates all; import from LibIpv6_ExternalFunctions all; import from LibIpv6_CommonRfcs_TypesAndValues all; import from LibIpv6_CommonRfcs_Templates all; import from LibIpv6_Rfc2463Icmpv6_TypesAndValues all; import from LibIpv6_Rfc2463Icmpv6_Templates all; import from LibIpv6_Rfc792Icmpv4_TypesAndValues all; Loading Loading @@ -1112,6 +1113,85 @@ group iPv4toIPv6 { } // end group TRANS_3020_01 group TRANS_3021_01 { /* * @desc 'Test that IPv4 with unexpired source route option is discarded' * Uses test configuration 3. */ testcase TC_TRANS_3021_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3020_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3020_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3021_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3021_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // send IPv4 packet with unexpired source header option is sent f_TP_ipv4TranslatePacketSourceOption_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3021_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3021_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //check that no IPv6 packet is received f_TP_ipv4DiscardPacket_6(p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3021_01_IPv6 } // end group TRANS_3021_01 group TRANS_3037_01 { /* Loading Loading @@ -3430,12 +3510,607 @@ group iPv4toIPv6 { } // end f_TC_TRANS_3070_01_IPv6 } // end group TRANS_3051_01 } // end group TRANS_3070_01 } // end group iPv4toIPv6 group iPv6toIPv4 { group TRANS_3075_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packet without fragmentation header' * Uses test configuration 3. */ testcase TC_TRANS_3075_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3075_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3075_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3075_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3075_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3075_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3075_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_6(p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3075_01_IPv6 } // end group TRANS_3075_01 group TRANS_3087_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packet without IPv4-translated source address' * Uses test configuration 3. */ testcase TC_TRANS_3087_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3087_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3087_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3087_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3087_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketZeroSourceAddress_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3087_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3087_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet f_TP_ipv6TranslatePacketWrongSourceAddress_6(p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3087_01_IPv6 } // end group TRANS_3087_01 group TRANS_3089_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3089_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3089_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3089_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3089_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3089_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3089_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3089_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with hop-by-hop header option f_TP_ipv6TranslatePacketHeaders_6( c_hopHdr, m_extHdrList_1Elem ( m_extHdr_hbhOptHeader ( c_icmpHdr, c_optLen0, m_hbhOptList_1Elem ( m_hbhOpt_padNSize6 ) ) ), p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3089_01_IPv6 } // end group TRANS_3089_01 group TRANS_3090_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3090_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3090_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3090_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3090_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3090_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3090_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3090_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with destination header option f_TP_ipv6TranslatePacketHeaders_6( c_dstHdr, m_extHdrList_1Elem ( m_extHdr_dstOptHeader ( c_icmpHdr, c_optLen0, m_dstOptList_1Elem ( m_dstOpt_generalOption ( int2oct ( PX_SKIP_OVER_DESTINATION_OPTION, 1 ) & c_optHdrOptSize6_noTypeField ) ) ) ), p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3090_01_IPv6 } // end group TRANS_3090_01 group TRANS_3091_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3091_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3091_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3091_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3091_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3091_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3091_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3091_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with routing header option f_TP_ipv6TranslatePacketHeaders_6( c_routeHdr, m_extHdrList_1Elem ( m_extHdr_routingHeader ( c_icmpHdr, c_routeHdrLen2, c_routeHdrType0, c_routeHdrSegmentsLeft0, m_routingHeaderData_ipv6AddressList_1Elem ( p_cfMsg.paramsRt01.gla ) ) ), p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3091_01_IPv6 } // end group TRANS_3091_01 group TRANS_3093_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3093_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3093_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3093_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3093_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3093_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv4DiscardPacket_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3093_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3093_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with routing header option f_TP_ipv6DiscardPacketHeaders_6( p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3093_01_IPv6 } // end group TRANS_3093_01 group TRANS_3095_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3095_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3095_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3095_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3091_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3095_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3095_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3095_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with fragment header option f_TP_ipv6TranslatePacketHeaders_6( c_fragHdr, m_extHdrList_1Elem ( m_extHdr_fragmentHeader ( c_icmpHdr, c_fragOffset0, c_moreFragments, c_fragmentId1 ) ), p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3095_01_IPv6 } // end group TRANS_3095_01 } // end group iPv6toIPv4 } // end group rFC2765 } //end module AtsIpv6_Transitioning_Testcases ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Tp_Functions.ttcn +208 −2 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Testcases.ttcn +676 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ module AtsIpv6_Transitioning_Testcases { import from LibIpv6_Interface_Templates all; import from LibIpv6_ExternalFunctions all; import from LibIpv6_CommonRfcs_TypesAndValues all; import from LibIpv6_CommonRfcs_Templates all; import from LibIpv6_Rfc2463Icmpv6_TypesAndValues all; import from LibIpv6_Rfc2463Icmpv6_Templates all; import from LibIpv6_Rfc792Icmpv4_TypesAndValues all; Loading Loading @@ -1112,6 +1113,85 @@ group iPv4toIPv6 { } // end group TRANS_3020_01 group TRANS_3021_01 { /* * @desc 'Test that IPv4 with unexpired source route option is discarded' * Uses test configuration 3. */ testcase TC_TRANS_3021_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3020_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3020_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3021_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3021_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // send IPv4 packet with unexpired source header option is sent f_TP_ipv4TranslatePacketSourceOption_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3021_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3021_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //check that no IPv6 packet is received f_TP_ipv4DiscardPacket_6(p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3021_01_IPv6 } // end group TRANS_3021_01 group TRANS_3037_01 { /* Loading Loading @@ -3430,12 +3510,607 @@ group iPv4toIPv6 { } // end f_TC_TRANS_3070_01_IPv6 } // end group TRANS_3051_01 } // end group TRANS_3070_01 } // end group iPv4toIPv6 group iPv6toIPv4 { group TRANS_3075_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packet without fragmentation header' * Uses test configuration 3. */ testcase TC_TRANS_3075_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3075_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3075_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3075_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3075_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3075_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3075_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_6(p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3075_01_IPv6 } // end group TRANS_3075_01 group TRANS_3087_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packet without IPv4-translated source address' * Uses test configuration 3. */ testcase TC_TRANS_3087_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3087_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3087_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3087_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3087_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketZeroSourceAddress_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3087_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3087_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet f_TP_ipv6TranslatePacketWrongSourceAddress_6(p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3087_01_IPv6 } // end group TRANS_3087_01 group TRANS_3089_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3089_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3089_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3089_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3089_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3089_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3089_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3089_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with hop-by-hop header option f_TP_ipv6TranslatePacketHeaders_6( c_hopHdr, m_extHdrList_1Elem ( m_extHdr_hbhOptHeader ( c_icmpHdr, c_optLen0, m_hbhOptList_1Elem ( m_hbhOpt_padNSize6 ) ) ), p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3089_01_IPv6 } // end group TRANS_3089_01 group TRANS_3090_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3090_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3090_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3090_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3090_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3090_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3090_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3090_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with destination header option f_TP_ipv6TranslatePacketHeaders_6( c_dstHdr, m_extHdrList_1Elem ( m_extHdr_dstOptHeader ( c_icmpHdr, c_optLen0, m_dstOptList_1Elem ( m_dstOpt_generalOption ( int2oct ( PX_SKIP_OVER_DESTINATION_OPTION, 1 ) & c_optHdrOptSize6_noTypeField ) ) ) ), p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3090_01_IPv6 } // end group TRANS_3090_01 group TRANS_3091_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3091_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3091_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3091_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3091_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3091_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketNoFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3091_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3091_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with routing header option f_TP_ipv6TranslatePacketHeaders_6( c_routeHdr, m_extHdrList_1Elem ( m_extHdr_routingHeader ( c_icmpHdr, c_routeHdrLen2, c_routeHdrType0, c_routeHdrSegmentsLeft0, m_routingHeaderData_ipv6AddressList_1Elem ( p_cfMsg.paramsRt01.gla ) ) ), p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3091_01_IPv6 } // end group TRANS_3091_01 group TRANS_3093_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3093_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3093_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3093_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3093_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3093_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv4DiscardPacket_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3093_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3093_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with routing header option f_TP_ipv6DiscardPacketHeaders_6( p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3093_01_IPv6 } // end group TRANS_3093_01 group TRANS_3095_01 { /* * @desc 'Test 6to4 packet translation for IPv6 packets headers that are not translatable' * Uses test configuration 3. */ testcase TC_TRANS_3095_01() runs on Ipv6Node system NodeTestAdapter { //Variables var Ipv6Node v_iPv4, v_iPv6; var CfMessage v_cfMsgIPv4, v_cfMsgIPv6; //Configuration f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6); //Start v_iPv4.start(f_TC_TRANS_3095_01_IPv4(v_cfMsgIPv4)); v_iPv6.start(f_TC_TRANS_3095_01_IPv6(v_cfMsgIPv6)); //Synchronization f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); f_cfTwoPtcsDown(v_iPv4, v_iPv6); } // end TC_TRANS_3091_01 /* * @desc Testcase function for IPv4 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3095_01_IPv4 (CfMessage p_cfMsg) runs on Ipv6Node { activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut)); //Preamble f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); // test body // receive translated IPv4 packet f_TP_ipv6TranslatePacketFragmentationHeader_4( p_cfMsg.paramsRt01, p_cfMsg.paramsHs02 ); // postamble f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut); deactivate; f_cfPtcDown_4(); } // end f_TC_TRANS_3095_01_IPv4 /* * @desc Testcase function for IPv6 interface of SIIT * @param p_cfMsg Configuration message for Test Adapter */ function f_TC_TRANS_3095_01_IPv6 (CfMessage p_cfMsg) runs on Ipv6Node { //default activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut)); // preamble f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); //Test body //send IPv6 packet with fragment header option f_TP_ipv6TranslatePacketHeaders_6( c_fragHdr, m_extHdrList_1Elem ( m_extHdr_fragmentHeader ( c_icmpHdr, c_fragOffset0, c_moreFragments, c_fragmentId1 ) ), p_cfMsg.paramsHs02, p_cfMsg.paramsRt01); //Postamble f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut); deactivate; } // end f_TC_TRANS_3095_01_IPv6 } // end group TRANS_3095_01 } // end group iPv6toIPv4 } // end group rFC2765 } //end module AtsIpv6_Transitioning_Testcases
ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Tp_Functions.ttcn +208 −2 File changed.Preview size limit exceeded, changes collapsed. Show changes