NAME

Client_transmit_Release_02 - Creation and Transmission of Release Messages (fail) #2


TARGET

Host


TOPOLOGY

           CLIENT0       NUT        SERVER0
              |           |           |
Link0 --------+-----------+-----------+-----+
                                            |
                                          RELAY0
                                            |
                                            +-------+--------------+-------Link1
                                                    |              |
                                                 CLIENT1         SERVER1
Link0 3ffe:501:ffff:100::/64      
Link1 3ffe:501:ffff:101::/64      
CLIENT0 3ffe:501:ffff:100:200:ff:fe00:a6a6 fe80::200:ff:fe00:a6a6 00:00:00:00:a6:a6  
CLIENT1 3ffe:501:ffff:101:200:ff:fe00:a7a7 fe80::200:ff:fe00:a7a7 00:00:00:00:a7:a7  
SERVER0 3ffe:501:ffff:100:200:ff:fe00:a2a2 fe80::200:ff:fe00:a2a2 00:00:00:00:a2:a2  
SERVER1 3ffe:501:ffff:101:200:ff:fe00:a3a3 fe80::200:ff:fe00:a3a3 00:00:00:00:a3:a3  
RELAY0 (Link0) 3ffe:501:ffff:100:200:ff:fe00:a4a4 fe80::200:ff:fe00:a4a4 00:00:00:00:a4:a4  
RELAY0 (Link1) 3ffe:501:ffff:101:200:ff:fe00:a5a5 fe80::200:ff:fe00:a5a5 00:00:00:00:a5:a5  


TEST PROCEDURE

Creation and Transmission of Release Messages #1

       NUT    SERVER0
        |       | 
        |       | initialize NUT (as a DHCPv6 Client)
        |       | 
        | ----> | Solicit (*1)
        | <---- | Advertise 
        |       | 
        | ----> | Request (*2)
        | <---- | Reply (IA_NA, valid lifetime=60)
        |       | 
        | <---- | Echo Request
        | ----> | Echo Reply (to assigned address) (*3)
        |       | 
        |       | (turn down network interface)
        | ----> | Release (*4)
        | <---- | Reply (IA_NA, with Status Code Option: UnspecFail)
        |       | 
        1. initialize NUT as a dhcpv6 server
        2. SERVER0 receives Solicit Message from NUT
        3. SERVER0 sends Advertise Message to NUT
        4. SERVER0 receives Request Message from NUT
        5. SERVER0 sends Reply Message to NUT
        6. SERVER0 sends Echo Request
        7. SERVER0 receives Echo Reply
        8. Turn down Network Interface
        9. SERVER0 receives Release Message from NUT
        10. SERVER0 sends Reply Message to NUT


JUDGEMENT

(*1) PASS: SERVER0 receives Solicit Message  (not checking the options in Solicit Message)
(*2) PASS: SERVER0 receives Request Message  (not checking the options in Request Message)
(*3) PASS: SERVER0 receives Echo Reply
(*4) PASS: SERVER0 receives Release Message


REFERENCE

<draft-ietf-dhc-dhcpv6-28.txt>
18.1.6. Creation and Transmission of Release Messages
   To release one or more addresses, a client sends a Release message to
   the server.
   The client sets the "msg-type" field to RELEASE. The client generates
   a transaction ID and places this value in the "transaction-id" field.
   The client places the identifier of the server that allocated the
   address(es) in a Server Identifier option.
   The client MUST include a Client Identifier option to identify itself
   to the server.  The client includes options containing the IAs for
   the addresses it is releasing in the "options" field.  The addresses
   to be released MUST be included in the IAs.  Any addresses for the
   IAs the client wishes to continue to use MUST NOT be in added to the
   IAs.
   The client MUST NOT use any of the addresses it is releasing as
   the source address in the Release message or in any subsequently
   transmitted message.
   Because Release messages may be lost, the client should retransmit
   the Release if no Reply is received.  However, there are scenarios
   where the client may not wish to wait for the normal retransmission
   timeout before giving up (e.g., on power down).  Implementations
   SHOULD retransmit one or more times, but MAY choose to terminate the
   retransmission procedure early.
   The client transmits the message according to section 14, using the
   following parameters:
      IRT   REL_TIMEOUT
      MRT   0
      MRC   REL_MAX_MRC
      MRD   0
   The client MUST stop using all of the addresses being released as
   soon as the client begins the Release message exchange process.  If
   addresses are released but the Reply from a DHCP server is lost,
   the client will retransmit the Release message, and the server may
   respond with a Reply indicating a status of NoBinding.  Therefore,
   the client does not treat a Reply message with a status of NoBinding
   in a Release message exchange as if it indicates an error.
   Note that if the client fails to release the addresses, each address
   assigned to the IA will be reclaimed by the server when the valid
   lifetime of that address expires.