Commit b9e76bc3 authored by tepelmann's avatar tepelmann
Browse files

Further adaptation of TC_464XLAT_CLAT_B4_BF_BV_001.

parent 6548f4b4
Loading
Loading
Loading
Loading
+34 −3
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ module Ats464XLat_TestCases {
    import from LibCommon_VerdictControl all;
    
    // LibIPv6
    import from LibIpv6_CommonRfcs_TypesAndValues all;
    import from LibIpv6_CommonRfcsDhcp_TypesAndValues all;
    
    // Ats464XLat
@@ -100,6 +101,7 @@ module Ats464XLat_TestCases {
                        
                        // Local variables
                        var DHCPv6Msg   v_dhcpMsg;
                        var Ipv6Address v_ia_naAddress;
                         
                        // Preamble
                        // Clause 'Initial conditions'
@@ -112,13 +114,12 @@ module Ats464XLat_TestCases {
                        tc_ac.start;
                        alt {
                            [] dhcpv6Port.receive(
                                mdw_dhcpv6_Request_options(                    // Await Sollicit DHCPv6 Request to DHCPv6 Server
                                mdw_dhcpv6_Request_options(                    // Await Solicit DHCPv6 Request to DHCPv6 Server
                                    mw_dhcpv6_options_optionRequest(           //     containing the Option field
                                        ?
                            ))) { 
                                tc_ac.stop;
                                // Nothing to do
                                f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                                log("*** " & __SCOPE__ & ": PASS: Solicit DHCPv6 Request was sent by the IUT. ***");
                            }
                            [] tc_ac.timeout {
@@ -127,6 +128,36 @@ module Ats464XLat_TestCases {
                            }
                        } // End of 'altstep' statement
                        
                        // Clause 'when': the IUT adds the LSN GW IPv6 address to the default route configuration
                        tc_ac.start;
                        alt { 
                            [] dhcpv6Port.receive(                              // Await Reply DHCPv6 message to store IPv6 addresses
                                mdw_dhcpv6_reply_ipv6Address(
                                    mw_dhcpv6_options_dummy
                            )) -> value v_dhcpMsg {
                                tc_ac.stop;
                                // Prepare data to be sent to the DNS component
                                if (f_getDHCPv6RetrievedIpv6Address(v_dhcpMsg, v_ia_naAddress)==e_error) {
                                    f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                                    log("*** " & __SCOPE__ & ": FAIL: Message did not include IA_NA option. ***");
                                }
                            }
                            [] dhcpv6Port.receive(DHCPv6Msg:?) { // Skip unprocessed DHCPv6 message
                                // Do not re-start timer
                                log("*** " & __SCOPE__ & ": INFO: Skip unprocessed DHCPv6 message. ***");
                                repeat;
                            }
                            [] tc_ac.timeout {
                                f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                                log("*** " & __SCOPE__ & ": INCONC: Message was not received in time. ***");
                            }
                        } // End of 'altstep' statement
                        
                        //TODO check the default route configuration using v_ia_naAddress
                        
                        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);