NAME

  RRAdvertisedStatusCode.seq - Requesting Router has received advertise message with Status Code option NoPrefixAvail


TARGET

  Router for DHCP client


SYNOPSIS

  RRAdvertisedStatusCode.seq [-tooloption ...] -pkt RRAdvertisedStatusCode.def -tooloption : v6eval tool option


TOPOLOGY

   TN           TN1
    |            |        ISP site
  --+----+-------+------- Link0   
         |
        NUT     Host
         |       |        Customer site
  -------+-------+------- Link1 3ffe:501:fffc:XXXX::/64
TN Link-local fe80::200:ff:fe00:a0a0
Ether 00:00:00:00:a0:a0
Delegate Prefix 3ffe:501:fffc::
Prefix Length 48
TN1 (other server) Link-local fe80::200:ff:fe00:a1a1
Ether 00:00:00:00:a1:a1
Delegate Prefix 3ffe:501:fffc::
Prefix Length 48
Host Link-local fe80::200:ff:fe00:101
ether 00:00:00:00:01:01


INITIALIZATION

  1. NUT sets up Prefix Delegation.

Tester as Server          Target as Client        Tester as Host
    |                           |                           |
    |<--------------------------|                           |
    |   DHCP Solicit message    |                           |
    |                           |                           |

1. Wait DHCP Solicit message
Addresse
Solicit messages
Src NUT link-local address
Dst All_DHCP_Relay_Agents_and_Servers

All_DHCP_Relay_Agents_and_Servers FF02::1:2
UDP Ports
Clients listen for DHCP messages on UDP port 546 Server listen for DHCP messages on UDP port 547
DHCP Message
DHCP Solicit message
msg-type SOLICIT(1)
transaction-id The transaction ID for this message exchange
options
Client Identifier Option (MUST)
IA_PD Option (MUST)
  Code 33 (TBD)
  IAID The unique identifier which client specified
  T1 ANY
  T2 ANY
Elapsed Time Option (MUST)
  elapsed-time ANY
Option Request Option (Optional)


TEST PROCEDURE

Tester as Server          Target as Client        Tester as Host
    |                           |                           |
    |-------------------------->|                           |
    |   DHCP Advertise message  |                           |
    |   w/ Status Code option   |                           |
    |   NoPrefixAvail           |                           |
    |                           |                           |
    |<--------------------------|                           |
    |   Judgment #1             |                           |
    |   DHCP Solicit message    |                           |
    |                           |                           |
    |-------------------------->|                           |
    |   DHCP Advertise message  |                           |
    |   from other server       |                           |
    |                           |                           |
    |<--------------------------|                           |
    |   Judgment #2             |                           |
    |   DHCP Request message    |                           |
    |   to other server         |                           |
    |                           |                           |
    |-------------------------->|                           |
    |   DHCP Reply message      |                           |
    |   from other server       |                           |
    |                           |                           |
    v                           v                           v

1. Send DHCP Advertise message with Status Code option NoPrefixAvail 2. Wait DHCP Solicit message again 3. Send DHCP Advertise message from other server 4. Wait DHCP Request message sending to other server 5. Send DHCP Reply message from other server
Addresses
Solicit, Request messages
Src NUT link-local address
Dst All_DHCP_Relay_Agents_and_Servers

All_DHCP_Relay_Agents_and_Servers FF02::1:2
Advertise message
Src fe80::200:ff:fe00:a0a0
Dst NUT link-local address

Advertise, Reply message from other server
Src fe80::200:ff:fe00:a1a1
Dst NUT link-local address
UDP Ports
Clients listen for DHCP messages on UDP port 546 Server listen for DHCP messages on UDP port 547
DHCP Messages
DHCP Advertise message with Status Code option including NoPrefixAvail
msg-type ADVERTISE(2)
transaction-id The same transaction ID previous message
options
Client Identifier Option
Server Identifier Option
  DUID Contents type 1 Link-layer address plus time
  hardware type 1 Ether
  time Time which the server included
  link-layer address 00:00:00:00:a0:a0
Status Code Option
  status-code 6 NoPrefixAvail (TBD)
  status-message 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56

DHCP Solicit message
Same above
DHCP Advertise message from other server
msg-type ADVERTISE(2)
transaction-id The same transaction ID previous message
options
Client Identifier Option
Server Identifier Option
  DUID Contents type 1 Link-layer address plus time
  hardware type 1 Ether
  time Time which the server included
  link-layer address 00:00:00:00:a1:a1
Preference Option
  pref-value 255
IA_PD Option
  Code 33 (TBD)
  IAID Unique identifier which client specified
  T1 300
  T2 480
  IA_PD Prefix Option
    Code 34 (TBD)
    preferred-lifetime 600
    valid-lifetime 1200
    prefix-length 48
    IPv6 prefix 3ffe:501:fffc::

DHCP Request message to other server
msg-type REQUEST(3)
transaction-id The transaction ID for this message exchange
options
Client Identifier Option (MUST)
Server Identifier Option (MUST)
  DUID Contents type 1 Link-layer address plus time
  hardware type 1 Ether
  time Time which the server included
  link-layer address 00:00:00:00:a1:a1
IA_PD Option (MUST)
  Code 33 (TBD)
  IAID Unique identifier which client specified
  T1 ANY
  T2 ANY
  IA_PD Prefix Option (Optional)
    Code 34 (TBD)
    preferred-lifetime ANY
    valid-lifetime ANY
    prefix-length 48
    IPv6 prefix 3ffe:501:fffc::
Elapsed Time Option (MUST)
  elapsed-time ANY
Option Request Option (Optional)

DHCP Reply message from other server
msg-type REPLY(7)
transaction-id The same transaction ID previous message
options
Client Identifier Option
Server Identifier Option
  DUID Contents type 1 Link-layer address plus time
  hardware type 1 Ether
  time Time which the server included
  link-layer address 00:00:00:00:a1:a1
IA_PD Option
  Code 33 (TBD)
  IAID Unique identifier which client specified
  T1 300
  T2 480
  IA_PD Prefix Option
    Code 34 (TBD)
    preferred-lifetime 600
    valid-lifetime 1200
    prefix-length 48
    IPv6 prefix 3ffe:501:fffc::


JUDGEMENT


  1. NUT ignore DHCP Advertise message with Status Code option NoPrefixAvail. DHCP Solicit message is recieved again.

  2. DHCP Request message is recieved sending to other server.


TERMINATION

  N/A


REFERENCE

draft-ietf-dhc-dhcpv6-opt-prefix-delegation-01.txt

10. Delegating Router Solicitation
10.1 Requesting router behaviour
The requesting router creates and transmits a Solicit message as described in sections "Creation of Solicit Messages" and "Transmission of Solicit Messages" of the DHCP specification [6]. The requesting router creates an IA_PD and assigns it an IAID. The requesting router MUST include the IA_PD option in the Solicit message.
The requesting router processes any received Advertise messages as described in section "Receipt of Advertise Messages" in the DHCP specification [6]. The requesting router MAY choose to consider the presence of advertised prefixes in its decision about which delegating router to respond to.
The requesting router MUST ignore any Advertise message that includes a Status Code option containing the value NoPrefixAvail, with the exception that the requesting router MAY display the associated status message to the user.
15. IANA Considerations
IANA is requested to assign option codes to these options from the option-code space as defined in section "DHCPv6 Options" of the DHCPv6 specification [6].
IANA is requested to assign a status code to the NoPrefixAvail status code from the status-code space as defined in section "Status Codes" of the DHCPv6 specification [6].

draft-ietf-dhc-dhcpv6-28.txt
17. DHCP Server Solicitation
17.1. Client Behavior
17.1.3. Receipt of Advertise Messages
The client MUST ignore any Advertise message that includes a Status Code option containing the value NoAddrsAvail, with the exception that the client MAY display the associated status message to the user.
Upon receipt of one or more valid Advertise messages, the client selects one or more Advertise messages based upon the following criteria.
- Those Advertise messages with the highest server preference value are preferred over all other Advertise messages.
- Within a group of Advertise messages with the same server preference value, a client MAY select those servers whose Advertise messages advertise information of interest to the client. For example, the client may choose a server that returned an advertisement with configuration options of interest to the client.
- The client MAY choose a less-preferred server if that server has a better set of advertised parameters, such as the available addresses advertised in IAs.
Once a client has selected Advertise message(s), the client will typically store information about each server, such as server preference value, addresses advertised, when the advertisement was received, and so on.
If the client needs to select an alternate server in the case that a chosen server does not respond, the client chooses the next server according to the criteria given above.
A. Appearance of Options in Message Types
The following table indicates with a "*" the options are allowed in each DHCP message type:
Client Server IA_NA Option Pref Time Relay Auth. Server ID ID IA_TA Request Msg. Unica. Solicit * * * * * Advert. * * * * * * Request * * * * * * Reply * * * * * * *
Status Rap. User Vendor Vendor Inter. Recon. Recon. Code Comm. Class Class Spec. ID Msg. Accept Solicit * * * * * Advert. * * * * * Request * * * * Reply * * * * * *


SEE ALSO

  perldoc V6evalTool