Loading ttcn/AtsCommon/AtsCommon_DNS_CommonRfcs_TypesAndValues.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ } // end data group auxilary { group auxiliary { /** * @desc A unsigned 32bit timestamp Loading @@ -199,6 +199,6 @@ */ type charstring DomainName; } // end auxilary } // end auxiliary } // end AtsCommon_DNS_CommonRfcs_TypesAndValues ttcn/AtsDSlite/AtsDSLite_Functions.ttcn3 +64 −4 Original line number Diff line number Diff line Loading @@ -13,6 +13,10 @@ module AtsDSLite_Functions { const c_prDone, c_tbDone, c_poDone; }; import from LibCommon_VerdictControl { type FncRetCode; }; // LibIpv6 import from LibIpv6_Interface_Templates all; Loading @@ -27,7 +31,8 @@ module AtsDSLite_Functions { type DSLiteComponent, TestAdapter, AFTRComponent, HostComponent, DHCPv6Component, DNSComponent; DHCPv6Component, DNSComponent, InterCompDataMsg; }; import from AtsCommon_DNS_CommonRfcs_TypesAndValues all; Loading Loading @@ -124,6 +129,8 @@ module AtsDSLite_Functions { // Connect synchronisation ports f_connect4SelfOrClientSync(); activate(a_dhcpDefault()); } // End of function f_preamble_dhcpv6 /** Loading Loading @@ -286,6 +293,59 @@ module AtsDSLite_Functions { } } // End of altstep a_default altstep a_dhcpDefault() runs on DHCPv6Component { [] dhcpv6Port.receive(DHCPv6Msg:?) { // Ignore these DHCPv6 messages if (tc_ac.running) { tc_ac.stop; tc_ac.start; } repeat; } } // End of altstep a_dhcpDefault } // End of group globalSteps group auxiliary { function f_getDHCPv6RetrievedIpv6Address(DHCPv6Msg p_dhcpv6Msg, out InterCompDataMsg.ipv6Address p_ipv6Address) return FncRetCode { var FncRetCode v_result := e_error; var integer i; var integer v_optionsLength := lengthof(p_dhcpv6Msg.options); for (i:=0; i<v_optionsLength; i:=i + 1) { //TODO } return v_result; } function f_getDHCPv6RetrievedAftrName(DHCPv6Msg p_dhcpv6Msg, out InterCompDataMsg.aftrName p_aftrName) return FncRetCode { var FncRetCode v_result := e_error; var integer i; var integer v_optionsLength := lengthof(p_dhcpv6Msg.options); for (i:=0; i<v_optionsLength; i:=i + 1) { //TODO } return v_result; } function f_getDHCPv6RetrievedDomainSearchList(DHCPv6Msg p_dhcpv6Msg, out InterCompDataMsg.domainSearchList p_dsl) return FncRetCode { var FncRetCode v_result := e_error; var integer i; var integer v_optionsLength := lengthof(p_dhcpv6Msg.options); for (i:=0; i<v_optionsLength; i:=i + 1) { //TODO } return v_result; } } // End of group auxiliary } // End of module AtsDSLite_Functions ttcn/AtsDSlite/AtsDSLite_Interfaces.ttcn3 +8 −8 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ module AtsDSLite_Interfaces { }; import from LibIpv6_CommonRfcsDhcp_TypesAndValues { type DHCPv6Msg DHCPv6Msg, DomainName, DomainNameList }; import from LibIpv6_Rfc6334Dhcp_TypesAndValues { type AFTRNameOption Loading Loading @@ -65,7 +65,7 @@ module AtsDSLite_Interfaces { /** DHCPv6 port for DHCPv6Msg message exchanges */ port DHCPv6Port dhcpv6Port; /** DNSv4 port for DNSv4Msg message exchanges */ port DNSv4Port dnsPort; port DNSPort dnsPort; /** AFTR port */ port Ipv6Port aftrPort; /** Host IPv6 port to simulate IPv6 client */ Loading Loading @@ -96,9 +96,9 @@ module AtsDSLite_Interfaces { /** * @desc */ type port DNSv4Port message { type port DNSPort message { inout DnsMsg } // End of port DNSv4Port } // End of port DNSPort /** * @desc Port for inter-component data exchanges Loading @@ -114,9 +114,9 @@ module AtsDSLite_Interfaces { * @member vc_dnsIPv6AddressThe DNS IPv6 address */ type record InterCompDataMsg { Ipv6Address aftrIPv6Address, AFTRNameOption aftrNameOption, Ipv6Address dnsIPv6Address Ipv6Address ipv6Address, DomainName aftrName, DomainNameList domainSearchList } // End of type InterCompDataMsg /** Loading Loading @@ -188,7 +188,7 @@ module AtsDSLite_Interfaces { */ type component DNSComponent extends SelfSyncComp { /** IPv4 message port */ port DNSv4Port dnsPort; port DNSPort dnsPort; port InterCompDataPort dataPort; Loading ttcn/AtsDSlite/AtsDSLite_Templates.ttcn3 +18 −17 Original line number Diff line number Diff line Loading @@ -13,6 +13,10 @@ module AtsDSLite_Templates { type OptionRequestOption }; import from LibIpv6_Rfc3646Dhcp_TypesAndValues { type DomainSearchListOption }; import from LibIpv6_Rfc6334Dhcp_TypesAndValues { type AFTRNameOption }; Loading Loading @@ -50,11 +54,11 @@ module AtsDSLite_Templates { } // End of template mw_dhcpv6_dummy /** * @desc Genercic receive DHCP Client/Sollicit message * @desc Genercic receive DHCP Client/Request message * @reference http://tools.ietf.org/html/rfc3315#section-6 */ template (present) DHCPv6Msg mdw_dhcpv6_Sollicit_dummy modifies mw_dhcpv6_dummy := { msgType := e_SOLICIT template (present) DHCPv6Msg mdw_dhcpv6_Request_dummy modifies mw_dhcpv6_dummy := { msgType := e_REQUEST } // End of template mdw_dhcpv6_Sollicit_dummy /** Loading @@ -75,7 +79,7 @@ module AtsDSLite_Templates { */ template (present) DHCPv6Options mw_dhcpv6_options_dummy := { { ia_address := ? ia_na := ? }, { optionRequest := ? Loading Loading @@ -111,13 +115,13 @@ module AtsDSLite_Templates { group dhcpv6MessagesRecvTemplates { /** * @desc Receive DHCP Client/Sollicit message to check DHCPv6 options values * @desc Receive DHCP Client/Request message to check DHCPv6 options values * @param p_options Expected DHCPv6 options * @reference http://tools.ietf.org/html/rfc3315#section-6 */ template (present) DHCPv6Msg mdw_dhcpv6_Sollicit_options( template (present) DHCPv6Msg mdw_dhcpv6_Request_options( in template (present) DHCPv6Options p_options ) modifies mw_dhcpv6_dummy := { ) modifies mdw_dhcpv6_Request_dummy := { options := p_options } // End of template mdw_dhcpv6_Sollicit_options Loading @@ -127,7 +131,7 @@ module AtsDSLite_Templates { */ template (present) DHCPv6Msg mdw_dhcpv6_reply_ipv6Address( in template (present) DHCPv6Options p_options ) modifies mw_dhcpv6_dummy := { ) modifies mdw_dhcpv6_reply_dummy := { options := p_options } // End of template mdw_dhcpv6_reply_dummy Loading @@ -152,27 +156,24 @@ module AtsDSLite_Templates { /** * @desc Genercic receive DHCPv6 AFTR-name option */ template (present) OptionRequestOption mw_dhcpv6_optionRequestOption_aftrName template (present) OptionRequestOption mdw_dhcpv6_optionRequestOption_aftrName modifies mw_dhcpv6_optionRequestOption_dummy := { requestedOptionCodes := superset(e_OPTION_AFTR_NAME) } // End of template mw_dhcpv6_optionRequestOption_aftrName /** * @desc Receive template for DHCPv6 options 'ORO' * @param p_optionRequest * @desc Receive template including at least the DHCPv6 options 'e_OPTION_AFTR_NAME' and 'OPTION_DOMAIN_LIST' * @param p_domainSearchListOption * @reference */ template (present) DHCPv6Options mdw_dhcpv6_reply_options( in template (present) DHCPv6OptionRaw p_rawOption template (present) DHCPv6Options mw_dhcpv6_aftr_dsl_options( in template (present) DomainSearchListOption p_domainSearchListOption ) := { { ia_address := ? }, { aftrName := ? }, { raw := p_rawOption domainSearchList := p_domainSearchListOption }, * } // End of template mdw_dhcpv6_options_optionRequest Loading ttcn/AtsDSlite/AtsDSLite_TestCases.ttcn3 +27 −24 Original line number Diff line number Diff line Loading @@ -106,16 +106,16 @@ module AtsDSLite_TestCases { // Clause 'Initial conditions' f_preamble_dhcpv6(); f_selfOrClientSyncAndVerdict(c_prDone, e_success); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test Body // Clause 'when': the IUT sends a DHCPv6 Request to DHCPv6 Server tc_ac.start; alt { [] dhcpv6Port.receive( mdw_dhcpv6_Sollicit_options( // Await Sollicit DHCPv6 Request to DHCPv6 Server mdw_dhcpv6_Request_options( // Await Sollicit DHCPv6 Request to DHCPv6 Server mdw_dhcpv6_options_optionRequest( // containing the Option field mw_dhcpv6_optionRequestOption_aftrName // indicating the AFTR-name DHCPv6 Option (value 64) mdw_dhcpv6_optionRequestOption_aftrName // indicating the AFTR-name DHCPv6 Option (value 64) ))) { tc_ac.stop; // Nothing to do Loading Loading @@ -180,14 +180,14 @@ module AtsDSLite_TestCases { vc_dhcpv6Component.start(f_TC_DSLITE_B4_GWA_BV_002_dhcpv6()); vc_dnsComponent.start(f_TC_DSLITE_B4_GWA_BV_002_dns()); f_serverSyncNClientsAndStop(2, { c_prDone, c_tbDone, c_poDone }); // Test Body // Clause 'when': action("the IUT goes online"); // Clause 'then': Nothing to do, refer to a_default f_serverSyncNClientsAndStop(2, { c_prDone, c_tbDone, c_poDone }); // Postamble f_cf01Down_B4(); Loading @@ -211,18 +211,18 @@ module AtsDSLite_TestCases { tc_ac.start; alt { [] dhcpv6Port.receive( mdw_dhcpv6_Sollicit_options( // Await Sollicit DHCPv6 Request to DHCPv6 Server mdw_dhcpv6_Request_options( // Await DHCPv6 Request to DHCPv6 Server mdw_dhcpv6_options_optionRequest( // containing the Option field mw_dhcpv6_optionRequestOption_aftrName // indicating the AFTR-name DHCPv6 Option (value 64) mdw_dhcpv6_optionRequestOption_aftrName // indicating the AFTR-name DHCPv6 Option (value 64) ))) { tc_ac.stop; // Nothing to do f_selfOrClientSyncAndVerdict(c_prDone, e_success); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_prDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); log("*** " & __SCOPE__ & ": INCONC: Message was not received in time. ***"); } } // End of 'altstep' statement Loading @@ -232,25 +232,28 @@ module AtsDSLite_TestCases { alt { [] dhcpv6Port.receive( // Await Reply DHCPv6 message to store IPv6 addresses mdw_dhcpv6_reply_ipv6Address( mdw_dhcpv6_reply_options(? // TODO mw_dhcpv6_aftr_dsl_options(? // TODO ))) -> value v_dhcpMsg { tc_ac.stop; // Prepare data to be sent to the DSN component v_data.aftrIPv6Address := v_dhcpMsg.options[0].ia_address.ipv6Address; // FIXME To be checke v_data.aftrNameOption := v_dhcpMsg.options[0].aftrName; // TODO v_data.dnsIPv6Address := // Send data to the DSN component dataPort.send(v_data); // Prepare data to be sent to the DNS component if (f_getDHCPv6RetrievedIpv6Address(v_dhcpMsg, v_data.ipv6Address)==e_error) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); log("*** " & __SCOPE__ & ": FAIL: Message was not received in time. ***"); } [] dhcpv6Port.receive(DHCPv6Msg:?) { // Ingmore these DHCPv6 messages repeat; f_getDHCPv6RetrievedAftrName(v_dhcpMsg, v_data.aftrName); f_getDHCPv6RetrievedDomainSearchList(v_dhcpMsg, v_data.domainSearchList); // Send data to the DNS component dataPort.send(v_data); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); log("*** " & __SCOPE__ & ": INCONC: Message was not received in time. ***"); } } // End of 'altstep' statement f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Successfully received DHCPv6 Reply from the DHCPv6 Server. ***"); // Postamble f_postamble_dhcpv6(); f_selfOrClientSyncAndVerdict(c_poDone, e_success); Loading @@ -273,7 +276,7 @@ module AtsDSLite_TestCases { // Clause 'Initial conditions' f_preamble_dns(); f_selfOrClientSyncAndVerdict(c_prDone, e_success); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test Body // Clause 'then': the IUT sends a DNS query Loading Loading @@ -380,7 +383,7 @@ module AtsDSLite_TestCases { tc_ac.stop; // TODO f_selfOrClientSyncAndVerdict(c_prDone, e_success); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_prDone, e_timeout); Loading Loading
ttcn/AtsCommon/AtsCommon_DNS_CommonRfcs_TypesAndValues.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ } // end data group auxilary { group auxiliary { /** * @desc A unsigned 32bit timestamp Loading @@ -199,6 +199,6 @@ */ type charstring DomainName; } // end auxilary } // end auxiliary } // end AtsCommon_DNS_CommonRfcs_TypesAndValues
ttcn/AtsDSlite/AtsDSLite_Functions.ttcn3 +64 −4 Original line number Diff line number Diff line Loading @@ -13,6 +13,10 @@ module AtsDSLite_Functions { const c_prDone, c_tbDone, c_poDone; }; import from LibCommon_VerdictControl { type FncRetCode; }; // LibIpv6 import from LibIpv6_Interface_Templates all; Loading @@ -27,7 +31,8 @@ module AtsDSLite_Functions { type DSLiteComponent, TestAdapter, AFTRComponent, HostComponent, DHCPv6Component, DNSComponent; DHCPv6Component, DNSComponent, InterCompDataMsg; }; import from AtsCommon_DNS_CommonRfcs_TypesAndValues all; Loading Loading @@ -124,6 +129,8 @@ module AtsDSLite_Functions { // Connect synchronisation ports f_connect4SelfOrClientSync(); activate(a_dhcpDefault()); } // End of function f_preamble_dhcpv6 /** Loading Loading @@ -286,6 +293,59 @@ module AtsDSLite_Functions { } } // End of altstep a_default altstep a_dhcpDefault() runs on DHCPv6Component { [] dhcpv6Port.receive(DHCPv6Msg:?) { // Ignore these DHCPv6 messages if (tc_ac.running) { tc_ac.stop; tc_ac.start; } repeat; } } // End of altstep a_dhcpDefault } // End of group globalSteps group auxiliary { function f_getDHCPv6RetrievedIpv6Address(DHCPv6Msg p_dhcpv6Msg, out InterCompDataMsg.ipv6Address p_ipv6Address) return FncRetCode { var FncRetCode v_result := e_error; var integer i; var integer v_optionsLength := lengthof(p_dhcpv6Msg.options); for (i:=0; i<v_optionsLength; i:=i + 1) { //TODO } return v_result; } function f_getDHCPv6RetrievedAftrName(DHCPv6Msg p_dhcpv6Msg, out InterCompDataMsg.aftrName p_aftrName) return FncRetCode { var FncRetCode v_result := e_error; var integer i; var integer v_optionsLength := lengthof(p_dhcpv6Msg.options); for (i:=0; i<v_optionsLength; i:=i + 1) { //TODO } return v_result; } function f_getDHCPv6RetrievedDomainSearchList(DHCPv6Msg p_dhcpv6Msg, out InterCompDataMsg.domainSearchList p_dsl) return FncRetCode { var FncRetCode v_result := e_error; var integer i; var integer v_optionsLength := lengthof(p_dhcpv6Msg.options); for (i:=0; i<v_optionsLength; i:=i + 1) { //TODO } return v_result; } } // End of group auxiliary } // End of module AtsDSLite_Functions
ttcn/AtsDSlite/AtsDSLite_Interfaces.ttcn3 +8 −8 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ module AtsDSLite_Interfaces { }; import from LibIpv6_CommonRfcsDhcp_TypesAndValues { type DHCPv6Msg DHCPv6Msg, DomainName, DomainNameList }; import from LibIpv6_Rfc6334Dhcp_TypesAndValues { type AFTRNameOption Loading Loading @@ -65,7 +65,7 @@ module AtsDSLite_Interfaces { /** DHCPv6 port for DHCPv6Msg message exchanges */ port DHCPv6Port dhcpv6Port; /** DNSv4 port for DNSv4Msg message exchanges */ port DNSv4Port dnsPort; port DNSPort dnsPort; /** AFTR port */ port Ipv6Port aftrPort; /** Host IPv6 port to simulate IPv6 client */ Loading Loading @@ -96,9 +96,9 @@ module AtsDSLite_Interfaces { /** * @desc */ type port DNSv4Port message { type port DNSPort message { inout DnsMsg } // End of port DNSv4Port } // End of port DNSPort /** * @desc Port for inter-component data exchanges Loading @@ -114,9 +114,9 @@ module AtsDSLite_Interfaces { * @member vc_dnsIPv6AddressThe DNS IPv6 address */ type record InterCompDataMsg { Ipv6Address aftrIPv6Address, AFTRNameOption aftrNameOption, Ipv6Address dnsIPv6Address Ipv6Address ipv6Address, DomainName aftrName, DomainNameList domainSearchList } // End of type InterCompDataMsg /** Loading Loading @@ -188,7 +188,7 @@ module AtsDSLite_Interfaces { */ type component DNSComponent extends SelfSyncComp { /** IPv4 message port */ port DNSv4Port dnsPort; port DNSPort dnsPort; port InterCompDataPort dataPort; Loading
ttcn/AtsDSlite/AtsDSLite_Templates.ttcn3 +18 −17 Original line number Diff line number Diff line Loading @@ -13,6 +13,10 @@ module AtsDSLite_Templates { type OptionRequestOption }; import from LibIpv6_Rfc3646Dhcp_TypesAndValues { type DomainSearchListOption }; import from LibIpv6_Rfc6334Dhcp_TypesAndValues { type AFTRNameOption }; Loading Loading @@ -50,11 +54,11 @@ module AtsDSLite_Templates { } // End of template mw_dhcpv6_dummy /** * @desc Genercic receive DHCP Client/Sollicit message * @desc Genercic receive DHCP Client/Request message * @reference http://tools.ietf.org/html/rfc3315#section-6 */ template (present) DHCPv6Msg mdw_dhcpv6_Sollicit_dummy modifies mw_dhcpv6_dummy := { msgType := e_SOLICIT template (present) DHCPv6Msg mdw_dhcpv6_Request_dummy modifies mw_dhcpv6_dummy := { msgType := e_REQUEST } // End of template mdw_dhcpv6_Sollicit_dummy /** Loading @@ -75,7 +79,7 @@ module AtsDSLite_Templates { */ template (present) DHCPv6Options mw_dhcpv6_options_dummy := { { ia_address := ? ia_na := ? }, { optionRequest := ? Loading Loading @@ -111,13 +115,13 @@ module AtsDSLite_Templates { group dhcpv6MessagesRecvTemplates { /** * @desc Receive DHCP Client/Sollicit message to check DHCPv6 options values * @desc Receive DHCP Client/Request message to check DHCPv6 options values * @param p_options Expected DHCPv6 options * @reference http://tools.ietf.org/html/rfc3315#section-6 */ template (present) DHCPv6Msg mdw_dhcpv6_Sollicit_options( template (present) DHCPv6Msg mdw_dhcpv6_Request_options( in template (present) DHCPv6Options p_options ) modifies mw_dhcpv6_dummy := { ) modifies mdw_dhcpv6_Request_dummy := { options := p_options } // End of template mdw_dhcpv6_Sollicit_options Loading @@ -127,7 +131,7 @@ module AtsDSLite_Templates { */ template (present) DHCPv6Msg mdw_dhcpv6_reply_ipv6Address( in template (present) DHCPv6Options p_options ) modifies mw_dhcpv6_dummy := { ) modifies mdw_dhcpv6_reply_dummy := { options := p_options } // End of template mdw_dhcpv6_reply_dummy Loading @@ -152,27 +156,24 @@ module AtsDSLite_Templates { /** * @desc Genercic receive DHCPv6 AFTR-name option */ template (present) OptionRequestOption mw_dhcpv6_optionRequestOption_aftrName template (present) OptionRequestOption mdw_dhcpv6_optionRequestOption_aftrName modifies mw_dhcpv6_optionRequestOption_dummy := { requestedOptionCodes := superset(e_OPTION_AFTR_NAME) } // End of template mw_dhcpv6_optionRequestOption_aftrName /** * @desc Receive template for DHCPv6 options 'ORO' * @param p_optionRequest * @desc Receive template including at least the DHCPv6 options 'e_OPTION_AFTR_NAME' and 'OPTION_DOMAIN_LIST' * @param p_domainSearchListOption * @reference */ template (present) DHCPv6Options mdw_dhcpv6_reply_options( in template (present) DHCPv6OptionRaw p_rawOption template (present) DHCPv6Options mw_dhcpv6_aftr_dsl_options( in template (present) DomainSearchListOption p_domainSearchListOption ) := { { ia_address := ? }, { aftrName := ? }, { raw := p_rawOption domainSearchList := p_domainSearchListOption }, * } // End of template mdw_dhcpv6_options_optionRequest Loading
ttcn/AtsDSlite/AtsDSLite_TestCases.ttcn3 +27 −24 Original line number Diff line number Diff line Loading @@ -106,16 +106,16 @@ module AtsDSLite_TestCases { // Clause 'Initial conditions' f_preamble_dhcpv6(); f_selfOrClientSyncAndVerdict(c_prDone, e_success); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test Body // Clause 'when': the IUT sends a DHCPv6 Request to DHCPv6 Server tc_ac.start; alt { [] dhcpv6Port.receive( mdw_dhcpv6_Sollicit_options( // Await Sollicit DHCPv6 Request to DHCPv6 Server mdw_dhcpv6_Request_options( // Await Sollicit DHCPv6 Request to DHCPv6 Server mdw_dhcpv6_options_optionRequest( // containing the Option field mw_dhcpv6_optionRequestOption_aftrName // indicating the AFTR-name DHCPv6 Option (value 64) mdw_dhcpv6_optionRequestOption_aftrName // indicating the AFTR-name DHCPv6 Option (value 64) ))) { tc_ac.stop; // Nothing to do Loading Loading @@ -180,14 +180,14 @@ module AtsDSLite_TestCases { vc_dhcpv6Component.start(f_TC_DSLITE_B4_GWA_BV_002_dhcpv6()); vc_dnsComponent.start(f_TC_DSLITE_B4_GWA_BV_002_dns()); f_serverSyncNClientsAndStop(2, { c_prDone, c_tbDone, c_poDone }); // Test Body // Clause 'when': action("the IUT goes online"); // Clause 'then': Nothing to do, refer to a_default f_serverSyncNClientsAndStop(2, { c_prDone, c_tbDone, c_poDone }); // Postamble f_cf01Down_B4(); Loading @@ -211,18 +211,18 @@ module AtsDSLite_TestCases { tc_ac.start; alt { [] dhcpv6Port.receive( mdw_dhcpv6_Sollicit_options( // Await Sollicit DHCPv6 Request to DHCPv6 Server mdw_dhcpv6_Request_options( // Await DHCPv6 Request to DHCPv6 Server mdw_dhcpv6_options_optionRequest( // containing the Option field mw_dhcpv6_optionRequestOption_aftrName // indicating the AFTR-name DHCPv6 Option (value 64) mdw_dhcpv6_optionRequestOption_aftrName // indicating the AFTR-name DHCPv6 Option (value 64) ))) { tc_ac.stop; // Nothing to do f_selfOrClientSyncAndVerdict(c_prDone, e_success); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_prDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); log("*** " & __SCOPE__ & ": INCONC: Message was not received in time. ***"); } } // End of 'altstep' statement Loading @@ -232,25 +232,28 @@ module AtsDSLite_TestCases { alt { [] dhcpv6Port.receive( // Await Reply DHCPv6 message to store IPv6 addresses mdw_dhcpv6_reply_ipv6Address( mdw_dhcpv6_reply_options(? // TODO mw_dhcpv6_aftr_dsl_options(? // TODO ))) -> value v_dhcpMsg { tc_ac.stop; // Prepare data to be sent to the DSN component v_data.aftrIPv6Address := v_dhcpMsg.options[0].ia_address.ipv6Address; // FIXME To be checke v_data.aftrNameOption := v_dhcpMsg.options[0].aftrName; // TODO v_data.dnsIPv6Address := // Send data to the DSN component dataPort.send(v_data); // Prepare data to be sent to the DNS component if (f_getDHCPv6RetrievedIpv6Address(v_dhcpMsg, v_data.ipv6Address)==e_error) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); log("*** " & __SCOPE__ & ": FAIL: Message was not received in time. ***"); } [] dhcpv6Port.receive(DHCPv6Msg:?) { // Ingmore these DHCPv6 messages repeat; f_getDHCPv6RetrievedAftrName(v_dhcpMsg, v_data.aftrName); f_getDHCPv6RetrievedDomainSearchList(v_dhcpMsg, v_data.domainSearchList); // Send data to the DNS component dataPort.send(v_data); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); log("*** " & __SCOPE__ & ": INCONC: Message was not received in time. ***"); } } // End of 'altstep' statement f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Successfully received DHCPv6 Reply from the DHCPv6 Server. ***"); // Postamble f_postamble_dhcpv6(); f_selfOrClientSyncAndVerdict(c_poDone, e_success); Loading @@ -273,7 +276,7 @@ module AtsDSLite_TestCases { // Clause 'Initial conditions' f_preamble_dns(); f_selfOrClientSyncAndVerdict(c_prDone, e_success); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test Body // Clause 'then': the IUT sends a DNS query Loading Loading @@ -380,7 +383,7 @@ module AtsDSLite_TestCases { tc_ac.stop; // TODO f_selfOrClientSyncAndVerdict(c_prDone, e_success); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_prDone, e_timeout); Loading