Commit b6723fd4 authored by garciay's avatar garciay
Browse files

Development of B4/GWA test cases

parent 4d4665e1
Loading
Loading
Loading
Loading
+46 −3
Original line number Diff line number Diff line
@@ -53,6 +53,9 @@ module AtsDSLite_Functions {
            if (vc_dnsComponent != null) { 
                connect(vc_dnsComponent:dnsPort, self:dnsPort);
            }
            if ((vc_dhcpv6Component != null) and (vc_dnsComponent != null)) { 
                connect(vc_dhcpv6Component:dataPort, vc_dnsComponent:dataPort);
            }
            
            // Map ports
            map(self:ipPort, system:ipPort);
@@ -90,6 +93,28 @@ module AtsDSLite_Functions {
    
    group preambleFunctions {
        
        /**
         * @desc Preamble processing for AFTRComponent
         * @verdict Unchanged
         * @see AFTRComponent
         */
        function f_preamble_aftr() runs on AFTRComponent {
            // Connect synchronisation ports
            f_connect4SelfOrClientSync();
            
        } // End of function f_preamble_aftr
        
        /**
         * @desc Preamble processing for HostComponent
         * @verdict Unchanged
         * @see HostComponent
         */
        function f_preamble_host() runs on HostComponent {
            // Connect synchronisation ports
            f_connect4SelfOrClientSync();
            
        } // End of function f_preamble_host
        
        /**
         * @desc Preamble processing for DHCPv6Component
         * @verdict Unchanged
@@ -116,6 +141,24 @@ module AtsDSLite_Functions {
    
    group postambleFunctions {
        
        /**
         * @desc Postamble processing for AFTRComponent
         * @verdict Unchanged
         * @see AFTRComponent
         */
        function f_postamble_aftr() runs on AFTRComponent {
            // Nothing to do
        } // End of function f_postamble_aftr
        
        /**
         * @desc Postamble processing for HostComponent
         * @verdict Unchanged
         * @see HostComponent
         */
        function f_postamble_host() runs on HostComponent {
            // Nothing to do
        } // End of function f_postamble_host
        
        /**
         * @desc Postamble processing for DHCPv6Component
         * @verdict Unchanged
@@ -216,7 +259,7 @@ module AtsDSLite_Functions {
            }
            [] ipPort.receive { // Unsupported IPv6 messages
                tc_ac.stop;
                log("*** " & __SCOPE__ & "INFO: Received an unexpected IPv6 message, process it as an error ***");
                log("*** " & __SCOPE__ & "ERROR: Received an unexpected IPv6 message, process it as an error ***");
                f_selfOrClientSyncAndVerdict("error", e_error);
            }
            [] ipv4Port.receive  { // Unsolicited messages
+42 −11
Original line number Diff line number Diff line
@@ -29,6 +29,14 @@ module AtsDSLite_Interfaces {
        type 
            DHCPv6Msg 
    };
    import from LibIpv6_Rfc6334Dhcp_TypesAndValues {
        type AFTRNameOption
    };
    
    // DS-Lite
    import from AtsCommon_DNS_CommonRfcs_TypesAndValues {
        type DnsMsg
    };
    
    group systemDesc {
        
@@ -83,14 +91,33 @@ module AtsDSLite_Interfaces {
         */
        type port DHCPv6Port message {
            inout DHCPv6Msg
        } // End of type DHCPv6Port
        } // End of port DHCPv6Port
        
        /**
         * @desc 
         */
        type port DNSv4Port message {
            inout all// TODO DNS_MSG
        } // End of type DNSPort
            inout DnsMsg
        } // End of port DNSv4Port
        
        /**
         * @desc Port for inter-component data exchanges
         */
        type port InterCompDataPort message {
            inout InterCompDataMsg
        } // End of port InterCompDataPort
        
        /**
         * @desc Message description for inter-component data exchanges
         * @member vc_aftrIPv6Address The AFTR IPv6 address
         * @member vc_aftrNameOption The AFTR-name option
         * @member vc_dnsIPv6AddressThe DNS IPv6 address
         */
        type record InterCompDataMsg {
            Ipv6Address     aftrIPv6Address,
            AFTRNameOption  aftrNameOption,
            Ipv6Address     dnsIPv6Address
        } // End of type InterCompDataMsg
        
        /**
         * @desc 
@@ -101,9 +128,9 @@ module AtsDSLite_Interfaces {
         * @member tc_twait
         */
        type component HostComponent extends SelfSyncComp {
            /** IPv6 port */
            /** IPv6 message port */
            port Ipv6Port ipv6Port;   
            /** IPv4 message */
            /** IPv4 message port */
            port Ipv4Port ipv4Port;   
            /** Timer used for expected received message */
            timer tc_ac:= PX_TAC;
@@ -121,6 +148,7 @@ module AtsDSLite_Interfaces {
         * @member tc_twait
         */
        type component AFTRComponent extends SelfSyncComp {
            /** IPv6 message port */
            port Ipv6Port aftrPort;
            /** Timer used for expected received message */
            timer tc_ac:= PX_TAC;
@@ -140,16 +168,15 @@ module AtsDSLite_Interfaces {
        type component DHCPv6Component extends SelfSyncComp {
            /** DHCPv6 port */
            port DHCPv6Port dhcpv6Port;
            
            port InterCompDataPort dataPort;
            
            /** Timer used for expected received message */
            timer tc_ac:= PX_TAC;
            /** Timer used for unexpected received message */
            timer tc_noac:= PX_TNOAC;
            /** Timer used for receive meceige */
            timer tc_wait:= PX_TWAIT;
            /** The AFTR IPv6 address */
            var Ipv6Address vc_aftrIPv6Address := c_16ZeroBytes;
            /** The DNS IPv6 address */
            var Ipv6Address vc_dnsIPv6Address := c_16ZeroBytes;
        } // End of component DHCPv6Component
        
        /**
@@ -160,7 +187,11 @@ module AtsDSLite_Interfaces {
         * @member tc_twait
         */
        type component DNSComponent extends SelfSyncComp {
            /** IPv4 message port */
            port DNSv4Port dnsPort;
            
            port InterCompDataPort dataPort;
            
            /** Timer used for expected received message */
            timer tc_ac:= PX_TAC;
            /** Timer used for unexpected received message */
+63 −3
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ module AtsDSLite_Templates {
    import from LibIpv6_CommonRfcsDhcp_TypesAndValues {
        type 
            DHCPv6Msg, MsgType, 
            DHCPv6Options, DHCPv6Option
            DHCPv6Options, DHCPv6Option, DHCPv6OptionRaw
    };
    import from LibIpv6_Rfc3315Dhcp_TypesAndValues {
        type
@@ -24,6 +24,11 @@ module AtsDSLite_Templates {
        template mw_ipHdr_nextHdr 
    };
    
    // DS-Lite
    import from AtsCommon_DNS_CommonRfcs_TypesAndValues {
        type DnsMsg, DnsHeader, DnsData
    };
    
    group dhcpv6MessageTemplates {
        
        group dhcpv6DummySendTemplates {
@@ -137,7 +142,7 @@ module AtsDSLite_Templates {
             */
            template (present) DHCPv6Options mdw_dhcpv6_options_optionRequest(
                                                                              in template (present) OptionRequestOption p_optionRequest
            ) modifies mw_dhcpv6_options_dummy := {
            ) := {
                {
                    optionRequest := p_optionRequest
                },
@@ -152,10 +157,65 @@ module AtsDSLite_Templates {
                requestedOptionCodes    := superset(e_OPTION_AFTR_NAME)
            } // End of template mw_dhcpv6_optionRequestOption_aftrName
            
            
            /**
             * @desc Receive template for DHCPv6 options 'ORO'
             * @param p_optionRequest
             * @reference 
             */
            template (present) DHCPv6Options mdw_dhcpv6_reply_options(
                                                                      in template (present) DHCPv6OptionRaw p_rawOption
            ) := {
                {
                    ia_address      := ?
                },
                {
                    aftrName        := ?
                },
                {
                    raw := p_rawOption
                },
                *
            } // End of template mdw_dhcpv6_options_optionRequest
            
        } // End of group dhcpv6OptionsRecvTemplates
        
    } // End of group dhcpv6Templates
    
    group dnsMessageTemplates {
        
        group dnsDummySendTemplates {
            
        } // End of group dnsDummySendTemplates
        
        group dnsMessagesDummyRecvTemplates {
            
            /**
             * @desc Genercic receive DNS message
             * @reference 
             */
            template (present) DnsMsg mw_dns_dummy := {
                header  := mw_dnsHeader_dummy,
                data    := mw_dnsData_dummy
            } // End of template mw_dns_dummy
            
            template (present) DnsHeader mw_dnsHeader_dummy := {
                transactionId     := ?,
                flags             := ?,
                questionsCount    := ?,
                answerRRs         := ?,
                nameServerRRs     := ?,
                additionalRRs     := ?
            } // End of template mw_dnsHeader_dummy
            
            template (present) DnsData mw_dnsData_dummy := {
                questions       := *,
                answerRRs       := *,
                authorityRRs    := *,
                additionalRRs   := *
            } //  // End of template mw_dnsData_dummy
            
        } // End of group dnsMessagesDummyRecvTemplates
        
    } // End of group dnsMessageTemplates
    
} // End of module AtsDSLite_Templates
+248 −22

File changed.

Preview size limit exceeded, changes collapsed.