Commit b5b00856 authored by garciay's avatar garciay
Browse files

Session Week #34:

- Enhance TCs for Path Management
- Terminate TPs implementation for Tunnel Management
- Enhance TCs for Tunnel Management
- Start TPs implementation for CS Fallback and Srvcc 
parent 28ae4a62
Loading
Loading
Loading
Loading
+144 −12
Original line number Diff line number Diff line
@@ -90,6 +90,49 @@ module LibGtpv2C_Configuration {
            vc_teidGreCounter := 0;
        } // End of function f_cf02_S11Up_MME 
        
        /**
         * @desc This configuration features:
         *       - Port mapping
         *       - Sync port connection
         *       - Component setup:
         *           - one MME node (IUT)
         *           - two S1-MME node (UT)
         *           - varaibles initialisation
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 3: Test configuration CF_MME_2ENB
         */
        function f_cf03_S11Up_MME() runs on Gtpv2CComponent {
            
            // Create components
            vc_sgw := Gtpv2CComponent.create; 
            if (PICS_SUPPORT_S1_MME_TRIGGERS) {
                vc_s1mme := Gtpv2CComponent.create; 
                vc_s1mmeh := Gtpv2CComponent.create;
            }
            
            // Map ports
            map(vc_sgw:acPort, system:acPort);
            map(vc_sgw:s11Port, system:s11Port);
            if (PICS_SUPPORT_S1_MME_TRIGGERS) {
                map(vc_s1mme:s1MmePort, system:s1MmePort);
                map(vc_s1mmeh:s1MmehPort, system:s1MmehPort);
            }
            
            // Connect sync ports
            f_connect4SelfOrClientSync();
            
            // Activate sync default for MTC
            activate(a_mtc_shutdown());
            if (PICS_SUPPORT_S1_MME_TRIGGERS) {
                activate(a_s1mme_default());
                activate(a_s1mmeh_default());
            }
            
            vc_sequenceNumber := 0;
            vc_restartCounter := 0;
            vc_teidGreCounter := 0;
        } // End of function f_cf03_S11Up_MME 
        
        /**
         * @desc Copmenent shutdown
         * @verdict Unchanged
@@ -129,7 +172,7 @@ module LibGtpv2C_Configuration {
            unmap(vc_sgw:acPort, system:acPort);
            unmap(vc_sgw:s11Port, system:s11Port);
            if (PICS_SUPPORT_S1_MME_TRIGGERS) {
                unmap(vc_s1mme:s1MmePort, system:s11Port);
                unmap(vc_s1mme:s1MmePort, system:s1MmePort);
            }
            
            // Terminate components
@@ -138,8 +181,37 @@ module LibGtpv2C_Configuration {
                vc_s1mme.done; 
            }
            
        } // End of function f_cf02_S11Down_MME 
        
        } // End of function f_cf01_S11Down_MME 
        /**
         * @desc Copmenent shutdown
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 3: Test configuration CF_MME_2ENB
         */
        function f_cf03_S11Down_MME() runs on Gtpv2CComponent {
            
             // De-activate all
             deactivate;
             
            // Disconnect sync ports
            f_disconnect4SelfOrClientSync();
            
            // Unmap ports
            unmap(vc_sgw:acPort, system:acPort);
            unmap(vc_sgw:s11Port, system:s11Port);
            if (PICS_SUPPORT_S1_MME_TRIGGERS) {
                unmap(vc_s1mme:s1MmePort, system:s1MmePort);
                unmap(vc_s1mmeh:s1MmehPort, system:s1MmehPort);
            }
            
            // Terminate components
            vc_sgw.done; 
            if (PICS_SUPPORT_S1_MME_TRIGGERS) {
                vc_s1mme.done; 
                vc_s1mmeh.done; 
            }
            
        } // End of function f_cf03_S11Down_MME 
        
        /**
         * @desc This configuration features:
@@ -149,7 +221,7 @@ module LibGtpv2C_Configuration {
         *           - one MME node (IUT)
         *           - varaibles initialisation
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 3: Test configuration CF_SGW
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 4: Test configuration CF_SGW
         */
        function f_cf01_S11Up_SGW() runs on Gtpv2CComponent {
            
@@ -180,7 +252,7 @@ module LibGtpv2C_Configuration {
         *           - one S5 node (UT)
         *           - varaibles initialisation
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 4: Test configuration CF_SGW_PGW
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 5: Test configuration CF_SGW_PGW
         */
        function f_cf02_S11Up_SGW() runs on Gtpv2CComponent {
            
@@ -215,7 +287,7 @@ module LibGtpv2C_Configuration {
         *           - one S5 node (UT)
         *           - varaibles initialisation
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 5: Test configuration CF_SGW_PGW_SGSN
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 6: Test configuration CF_SGW_PGW_SGSN
         */
        function f_cf03_S11Up_SGW() runs on Gtpv2CComponent {
            
@@ -243,10 +315,44 @@ module LibGtpv2C_Configuration {
            vc_teidGreCounter := 0;
        } // End of function f_cf03_S11Up_SGW 
        
        /**
         * @desc This configuration features:
         *       - Port mapping
         *       - Sync port connection
         *       - Component setup:
         *           - one MME node (IUT)
         *           - one S4 node (UT)
         *           - varaibles initialisation
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 7: Test configuration CF_SGW_SGSN
         */
        function f_cf04_S11Up_SGW() runs on Gtpv2CComponent {
            
            // Create components
            vc_mme := Gtpv2CComponent.create; 
            vc_s4 := Gtpv2CComponent.create; 
            
            // Map ports
            map(vc_mme:acPort, system:acPort);
            map(vc_mme:s11Port, system:s11Port);
            map(vc_s4:s4Port, system:s4Port);
            
            // Connect sync ports
            f_connect4SelfOrClientSync();
            
            // Activate sync default for MTC
            activate(a_mtc_shutdown());
            activate(a_s4_default());
            
            vc_sequenceNumber := 0;
            vc_restartCounter := 0;
            vc_teidGreCounter := 0;
        } // End of function f_cf04_S11Up_SGW 
        
        /**
         * @desc Copmenent shutdown
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 3: Test configuration CF_SGW
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 4: Test configuration CF_SGW
         */
        function f_cf01_S11Down_SGW() runs on Gtpv2CComponent {
            
@@ -268,7 +374,7 @@ module LibGtpv2C_Configuration {
        /**
         * @desc Copmenent shutdown
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 3: Test configuration CF_SGW
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 5: Test configuration CF_SGW
         */
        function f_cf02_S11Down_SGW() runs on Gtpv2CComponent {
            
@@ -292,7 +398,7 @@ module LibGtpv2C_Configuration {
        /**
         * @desc Copmenent shutdown
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 3: Test configuration CF_SGW
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 6: Test configuration CF_SGW
         */
        function f_cf03_S11Down_SGW() runs on Gtpv2CComponent {
            
@@ -315,6 +421,30 @@ module LibGtpv2C_Configuration {
            
        } // End of function f_cf03_S11Down_SGW 
        
        /**
         * @desc Copmenent shutdown
         * @verdict Unchanged
         * @reference ETSI TS 103 202-3 V0.0.2 (2015-06) Figure 7: Test configuration CF_SGW
         */
        function f_cf04_S11Down_SGW() runs on Gtpv2CComponent {
            
             // De-activate all
             deactivate;
             
            // Disconnect sync ports
            f_disconnect4SelfOrClientSync();
            
            // Unmap ports
            unmap(vc_mme:acPort, system:acPort);
            unmap(vc_mme:s11Port, system:s11Port);
            unmap(vc_s4:s4Port, system:s4Port);
            
            // Terminate components
            vc_mme.done;
            vc_s4.done;
            
        } // End of function f_cf04_S11Down_SGW 
        
        /**
         * @desc Shutdown alstep in case the sync delf server is requesting shutdown
         * @verdict Unchanged
@@ -431,8 +561,10 @@ module LibGtpv2C_Configuration {
                
            } // End of group ieCreateSessionResponse 
            
            function f_extract_digit(bitstring p_value, integer p_index) return Bit4 {
                return (p_value >> (p_index - 1) * 4) and4b '1111'B;
            function f_extract_digit(Bit12 p_value, integer p_index) return Bit4 {
                var Bit12 v_result := (p_value >> (p_index - 1) * 4) and4b '000000001111'B;
                var Bit4 v_result4bits := int2bit(bit2int(v_result), 4);
                return v_result4bits;
            } // End of function f_extract_digit
            
        } // End of group extractInformationElementFunctions 
Loading