Commit ef711ade authored by tepelmann's avatar tepelmann
Browse files

Component variable for multiple hosts, not only one.

Added template for TC_DSLITE_B4_FRAG_BV_002.
parent b05c8a94
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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);
+4 −2
Original line number Diff line number Diff line
@@ -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
         */
@@ -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 {
+71 −9
Original line number Diff line number Diff line
@@ -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 });
                    
@@ -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();
                    
@@ -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 });
@@ -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 {
@@ -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>
@@ -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 {
+5 −1
Original line number Diff line number Diff line
@@ -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