Loading ttcn/AtsDSlite/AtsDSLite_Functions.ttcn3 +46 −3 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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 Loading @@ -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 Loading Loading @@ -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 Loading ttcn/AtsDSlite/AtsDSLite_Interfaces.ttcn3 +42 −11 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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 Loading @@ -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; Loading @@ -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; Loading @@ -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 /** Loading @@ -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 */ Loading ttcn/AtsDSlite/AtsDSLite_Templates.ttcn3 +63 −3 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 { Loading Loading @@ -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 }, Loading @@ -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 ttcn/AtsDSlite/AtsDSLite_TestCases.ttcn3 +248 −22 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
ttcn/AtsDSlite/AtsDSLite_Functions.ttcn3 +46 −3 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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 Loading @@ -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 Loading Loading @@ -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 Loading
ttcn/AtsDSlite/AtsDSLite_Interfaces.ttcn3 +42 −11 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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 Loading @@ -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; Loading @@ -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; Loading @@ -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 /** Loading @@ -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 */ Loading
ttcn/AtsDSlite/AtsDSLite_Templates.ttcn3 +63 −3 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 { Loading Loading @@ -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 }, Loading @@ -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
ttcn/AtsDSlite/AtsDSLite_TestCases.ttcn3 +248 −22 File changed.Preview size limit exceeded, changes collapsed. Show changes