Loading ttcn/AtsDSlite/AtsDSLite_Functions.ttcn3 +8 −3 Original line number Diff line number Diff line Loading @@ -52,14 +52,19 @@ module AtsDSLite_Functions { * @verdict Unchanged */ function f_cf01Up_B4() runs on DSLiteComponent { var integer v_hosts; var integer v_host; // Connect port if (vc_aftrComponent != null) { connect(vc_aftrComponent:aftrPort, self:aftrPort); } if (vc_hostComponent != null) { connect(vc_hostComponent:ipv6Port, self:ipv6HostPort); connect(vc_hostComponent:ipv4Port, self:ipv4HostPort); if (vc_hostComponents != null) { v_hosts := lengthof(vc_hostComponents); for (v_host:=0; v_host<v_hosts; v_host:=v_host + 1) { connect(vc_hostComponents[v_host]:ipv6Port, self:ipv6HostPort); connect(vc_hostComponents[v_host]:ipv4Port, self:ipv4HostPort); } } if (vc_dhcpv6Component != null) { connect(vc_dhcpv6Component:dhcpv6Port, self:dhcpv6Port); Loading ttcn/AtsDSlite/AtsDSLite_Interfaces.ttcn3 +4 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ module AtsDSLite_Interfaces { * @member ipv6HostPort * @member ipv4HostPort * @member vc_aftrComponent * @member vc_hostComponent * @member vc_hostComponents * @member vc_dhcpv6Component * @member vc_dnsComponent */ Loading @@ -71,13 +71,15 @@ module AtsDSLite_Interfaces { /** AFTR component reference */ var AFTRComponent vc_aftrComponent := null; /** Host component reference */ var HostComponent vc_hostComponent := null; var HostComponents vc_hostComponents := null; /** DHCPv6 component reference */ var DHCPv6Component vc_dhcpv6Component := null; /** DNS component reference */ var DNSComponent vc_dnsComponent := null; } // End of component DSLiteComponent type record of HostComponent HostComponents; } // End of group mtcDesc group componentDesc { Loading ttcn/AtsDSlite/AtsDSLite_TestCases.ttcn3 +71 −9 Original line number Diff line number Diff line Loading @@ -362,14 +362,14 @@ module AtsDSLite_TestCases { // Test component configuration vc_dnsComponent := DNSComponent.create(c_COMP_DNS); vc_hostComponent := HostComponent.create(c_COMP_HOST); vc_hostComponents[0] := HostComponent.create(c_COMP_HOST); f_cf01Up_B4(); // Test adapter configuration // Start all components vc_dnsComponent.start(f_TC_DSLITE_B4_GWA_BV_003_dns()); vc_hostComponent.start(f_TC_DSLITE_B4_GWA_BV_003_host()); vc_hostComponents[0].start(f_TC_DSLITE_B4_GWA_BV_003_host()); f_serverSyncNClientsAndStop(2, { c_prDone, c_initDone, c_tbDone, c_poDone }); Loading Loading @@ -532,14 +532,13 @@ module AtsDSLite_TestCases { // Local variables var integer v_host; var HostComponent v_hostComponents[PX_HOST_NUM]; // Test control // Test component configuration vc_aftrComponent := AFTRComponent.create(c_COMP_AFTR); for (v_host := 0; v_host < PX_HOST_NUM; v_host := v_host + 1) { v_hostComponents[v_host] := HostComponent.create(c_COMP_HOST); vc_hostComponents[v_host] := HostComponent.create(c_COMP_HOST); } // End of 'for' statement f_cf01Up_B4(); Loading @@ -548,7 +547,7 @@ module AtsDSLite_TestCases { // Start all components vc_aftrComponent.start(f_TC_DSLITE_B4_BF_BV_001_aftr()); for (v_host := 0; v_host < PX_HOST_NUM; v_host := v_host + 1) { v_hostComponents[v_host].start(f_TC_DSLITE_B4_BF_BV_001_host(v_host)); vc_hostComponents[v_host].start(f_TC_DSLITE_B4_BF_BV_001_host(v_host)); } // End of 'for' statement f_serverSyncNClientsAndStop(PX_HOST_NUM + 1, { c_prDone, c_tbDone, c_poDone }); Loading Loading @@ -630,8 +629,8 @@ module AtsDSLite_TestCases { * PICS Selection: none * Initial conditions: * with { * the physical MTU (Phy-MTU) size being equal or greater than the IPv4 or IPv6 packet between all devices and, * the DS-lite Tunnel MTU (DS-MTU) being lower than the encapsulated softwired packet * the physical MTU (Phy-MTU) size being equal or greater than the IPv4 or IPv6 packet between all devices * and the DS-lite Tunnel MTU (DS-MTU) being lower than the encapsulated softwired packet * } * Expected behaviour: * ensure that { Loading @@ -644,8 +643,8 @@ module AtsDSLite_TestCases { * with a packet size greater than the DS-MTU * } * then { * the IUT fragments that packet before it encapsulates it in IPv6 and, * the IUT forwards correctly formatted fragmented packets to the AFTR * the IUT fragments that packet before it encapsulates it in IPv6 * and the IUT forwards correctly formatted fragmented packets to the AFTR * } * } * </pre> Loading Loading @@ -685,6 +684,69 @@ module AtsDSLite_TestCases { } // End of group f_TC_DSLITE_B4_FRAG_BV_001 /** * @desc Check that the IUT fragments an HTML IPv4 packet when DF bit is set * @verdict pass on success, inconc on timeout, fail otherwise * <pre> * PICS Selection: none * Initial conditions: * with { * the physical MTU (Phy-MTU) size being equal or greater than the IPv4 or IPv6 packet between all devices * and the DS-lite Tunnel MTU (DS-MTU) being lower than the encapsulated softwired packet * } * Expected behaviour: * ensure that { * when { * the IUT receives an HTML IPv4 packet * containing source address * indicating a private IPv4 address * containing the DF bit * indicating the value 1 * with a packet size greater than the DS-MTU * } * then { * the IUT encapsulates it in an IPv6 packet * and the IUT fragments that packet IPv6 packet * and the IUT forwards correctly formatted fragmented packets to the AFTR * } * } * </pre> * * @version 0.0.1 * @reference RFC791 [1], RFC815 [2] * @see ETSI TS xxx xxx-x V0.0.1.5a-draft (2014-01) TP/DSLITE/B4/FRAG/BV/002 */ testcase TC_DSLITE_B4_FRAG_BV_002() runs on DSLiteComponent system TestAdapter { // Local variables // Test control // Test component configuration // vc_dhcpv6Component := DHCPv6Component.create(c_COMP_DHCP); f_cf01Up_B4(); // Test adapter configuration // Start all components f_serverSyncNClientsAndStop(1, { c_prDone, c_tbDone, c_poDone }); // Test Body // Clause 'when': action("the IUT in its initial state"); // Clause 'then': Nothing to do, refer to a_default // Postamble f_down(); } // End of testcase TC_DSLITE_B4_FRAG_BV_002 group f_TC_DSLITE_B4_FRAG_BV_002 { } // End of group f_TC_DSLITE_B4_FRAG_BV_002 } // End of group validBehaviour group invalidBehaviour { Loading ttcn/AtsDSlite/AtsDSLite_TestControl.ttcn3 +5 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,11 @@ module AtsDSLite_TestControl { */ execute(TC_DSLITE_B4_FRAG_BV_001()); /** * @desc Check that the IUT fragments an HTML IPv4 packet when DF bit is set * @reference RFC791 [1], RFC815 [2] */ execute(TC_DSLITE_B4_FRAG_BV_002()); /** * @desc Check that the IUT supports the functionality of DS-lite 1:1 NAT mapping Loading Loading
ttcn/AtsDSlite/AtsDSLite_Functions.ttcn3 +8 −3 Original line number Diff line number Diff line Loading @@ -52,14 +52,19 @@ module AtsDSLite_Functions { * @verdict Unchanged */ function f_cf01Up_B4() runs on DSLiteComponent { var integer v_hosts; var integer v_host; // Connect port if (vc_aftrComponent != null) { connect(vc_aftrComponent:aftrPort, self:aftrPort); } if (vc_hostComponent != null) { connect(vc_hostComponent:ipv6Port, self:ipv6HostPort); connect(vc_hostComponent:ipv4Port, self:ipv4HostPort); if (vc_hostComponents != null) { v_hosts := lengthof(vc_hostComponents); for (v_host:=0; v_host<v_hosts; v_host:=v_host + 1) { connect(vc_hostComponents[v_host]:ipv6Port, self:ipv6HostPort); connect(vc_hostComponents[v_host]:ipv4Port, self:ipv4HostPort); } } if (vc_dhcpv6Component != null) { connect(vc_dhcpv6Component:dhcpv6Port, self:dhcpv6Port); Loading
ttcn/AtsDSlite/AtsDSLite_Interfaces.ttcn3 +4 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ module AtsDSLite_Interfaces { * @member ipv6HostPort * @member ipv4HostPort * @member vc_aftrComponent * @member vc_hostComponent * @member vc_hostComponents * @member vc_dhcpv6Component * @member vc_dnsComponent */ Loading @@ -71,13 +71,15 @@ module AtsDSLite_Interfaces { /** AFTR component reference */ var AFTRComponent vc_aftrComponent := null; /** Host component reference */ var HostComponent vc_hostComponent := null; var HostComponents vc_hostComponents := null; /** DHCPv6 component reference */ var DHCPv6Component vc_dhcpv6Component := null; /** DNS component reference */ var DNSComponent vc_dnsComponent := null; } // End of component DSLiteComponent type record of HostComponent HostComponents; } // End of group mtcDesc group componentDesc { Loading
ttcn/AtsDSlite/AtsDSLite_TestCases.ttcn3 +71 −9 Original line number Diff line number Diff line Loading @@ -362,14 +362,14 @@ module AtsDSLite_TestCases { // Test component configuration vc_dnsComponent := DNSComponent.create(c_COMP_DNS); vc_hostComponent := HostComponent.create(c_COMP_HOST); vc_hostComponents[0] := HostComponent.create(c_COMP_HOST); f_cf01Up_B4(); // Test adapter configuration // Start all components vc_dnsComponent.start(f_TC_DSLITE_B4_GWA_BV_003_dns()); vc_hostComponent.start(f_TC_DSLITE_B4_GWA_BV_003_host()); vc_hostComponents[0].start(f_TC_DSLITE_B4_GWA_BV_003_host()); f_serverSyncNClientsAndStop(2, { c_prDone, c_initDone, c_tbDone, c_poDone }); Loading Loading @@ -532,14 +532,13 @@ module AtsDSLite_TestCases { // Local variables var integer v_host; var HostComponent v_hostComponents[PX_HOST_NUM]; // Test control // Test component configuration vc_aftrComponent := AFTRComponent.create(c_COMP_AFTR); for (v_host := 0; v_host < PX_HOST_NUM; v_host := v_host + 1) { v_hostComponents[v_host] := HostComponent.create(c_COMP_HOST); vc_hostComponents[v_host] := HostComponent.create(c_COMP_HOST); } // End of 'for' statement f_cf01Up_B4(); Loading @@ -548,7 +547,7 @@ module AtsDSLite_TestCases { // Start all components vc_aftrComponent.start(f_TC_DSLITE_B4_BF_BV_001_aftr()); for (v_host := 0; v_host < PX_HOST_NUM; v_host := v_host + 1) { v_hostComponents[v_host].start(f_TC_DSLITE_B4_BF_BV_001_host(v_host)); vc_hostComponents[v_host].start(f_TC_DSLITE_B4_BF_BV_001_host(v_host)); } // End of 'for' statement f_serverSyncNClientsAndStop(PX_HOST_NUM + 1, { c_prDone, c_tbDone, c_poDone }); Loading Loading @@ -630,8 +629,8 @@ module AtsDSLite_TestCases { * PICS Selection: none * Initial conditions: * with { * the physical MTU (Phy-MTU) size being equal or greater than the IPv4 or IPv6 packet between all devices and, * the DS-lite Tunnel MTU (DS-MTU) being lower than the encapsulated softwired packet * the physical MTU (Phy-MTU) size being equal or greater than the IPv4 or IPv6 packet between all devices * and the DS-lite Tunnel MTU (DS-MTU) being lower than the encapsulated softwired packet * } * Expected behaviour: * ensure that { Loading @@ -644,8 +643,8 @@ module AtsDSLite_TestCases { * with a packet size greater than the DS-MTU * } * then { * the IUT fragments that packet before it encapsulates it in IPv6 and, * the IUT forwards correctly formatted fragmented packets to the AFTR * the IUT fragments that packet before it encapsulates it in IPv6 * and the IUT forwards correctly formatted fragmented packets to the AFTR * } * } * </pre> Loading Loading @@ -685,6 +684,69 @@ module AtsDSLite_TestCases { } // End of group f_TC_DSLITE_B4_FRAG_BV_001 /** * @desc Check that the IUT fragments an HTML IPv4 packet when DF bit is set * @verdict pass on success, inconc on timeout, fail otherwise * <pre> * PICS Selection: none * Initial conditions: * with { * the physical MTU (Phy-MTU) size being equal or greater than the IPv4 or IPv6 packet between all devices * and the DS-lite Tunnel MTU (DS-MTU) being lower than the encapsulated softwired packet * } * Expected behaviour: * ensure that { * when { * the IUT receives an HTML IPv4 packet * containing source address * indicating a private IPv4 address * containing the DF bit * indicating the value 1 * with a packet size greater than the DS-MTU * } * then { * the IUT encapsulates it in an IPv6 packet * and the IUT fragments that packet IPv6 packet * and the IUT forwards correctly formatted fragmented packets to the AFTR * } * } * </pre> * * @version 0.0.1 * @reference RFC791 [1], RFC815 [2] * @see ETSI TS xxx xxx-x V0.0.1.5a-draft (2014-01) TP/DSLITE/B4/FRAG/BV/002 */ testcase TC_DSLITE_B4_FRAG_BV_002() runs on DSLiteComponent system TestAdapter { // Local variables // Test control // Test component configuration // vc_dhcpv6Component := DHCPv6Component.create(c_COMP_DHCP); f_cf01Up_B4(); // Test adapter configuration // Start all components f_serverSyncNClientsAndStop(1, { c_prDone, c_tbDone, c_poDone }); // Test Body // Clause 'when': action("the IUT in its initial state"); // Clause 'then': Nothing to do, refer to a_default // Postamble f_down(); } // End of testcase TC_DSLITE_B4_FRAG_BV_002 group f_TC_DSLITE_B4_FRAG_BV_002 { } // End of group f_TC_DSLITE_B4_FRAG_BV_002 } // End of group validBehaviour group invalidBehaviour { Loading
ttcn/AtsDSlite/AtsDSLite_TestControl.ttcn3 +5 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,11 @@ module AtsDSLite_TestControl { */ execute(TC_DSLITE_B4_FRAG_BV_001()); /** * @desc Check that the IUT fragments an HTML IPv4 packet when DF bit is set * @reference RFC791 [1], RFC815 [2] */ execute(TC_DSLITE_B4_FRAG_BV_002()); /** * @desc Check that the IUT supports the functionality of DS-lite 1:1 NAT mapping Loading