DHCPv6 - Dynamic Host Configuration Protocol for IPv6

What is DHCPv6?

DHCPv6 stands for Dynamic Host Configuration Protocol for IPv6. It is the version of DHCP designed to assign IPv6 addresses and configuration settings to devices on an IPv6 network.

Why is DHCPv6 useful?

  • Automatically assigns IPv6 addresses to devices

  • Provides additional configuration like DNS servers and domain names

  • Works alongside or instead of Stateless Address Autoconfiguration (SLAAC)

  • Simplifies network management in enterprise and ISP environments

How it works (in simple steps):

  • Device joins the network – It sends a DHCPv6 Solicit message to find a DHCPv6 server.

  • Server responds – The server replies with an Advertise message offering configuration.

  • Device requests configuration – It sends a Request message to accept the offer.

  • Server confirms – The server sends a Reply with the assigned IPv6 address and settings.

Where is DHCPv6 used?

  • Enterprise networks – For centralized control of IPv6 address assignments

  • ISPs – To assign IPv6 addresses to customer devices

  • Data centers – For managing large-scale IPv6 deployments

  • Dual-stack networks – Where both IPv4 and IPv6 are used

Which OSI layer does this protocol belong to?

  • DHCPv6 operates at the Application Layer (Layer 7) of the OSI model.

  • It provides network configuration services directly to devices.

  • Although it uses UDP (Layer 4) for transport (ports 546 and 547), the protocol’s logic and message handling occur at Layer 7.

  • In this section, you are going to learn

  • Terminology

  • Version Info

DHCPv6 Version

RFC

Year

Core Idea / Contribution

DHCPv6 v1

RFC 3315

2003

Initial DHCPv6 specification; supports stateful address assignment and configuration.

Stateless DHCPv6

RFC 3736

2004

Lightweight DHCPv6 for stateless address autoconfiguration (SLAAC).

Prefix Delegation

RFC 3633

2003

Allows delegation of IPv6 prefixes to routers.

Reconfigure

RFC 3315

2003

Server-initiated client reconfiguration (built-in).

Relay Agent Info

RFC 6422

2011

Defines relay agent options for DHCPv6.

Authentication

RFC 3315 + RFC 8415

2003, 2018

Defines authentication mechanisms for DHCPv6.

DHCPv6 bis

RFC 8415

2018

Consolidated and updated DHCPv6 specification (replaces RFC 3315).

Address Registration

RFC 9686

2024

Mechanism for registering self-generated IPv6 addresses using DHCPv6.

Setup

DHCPv6 Solicit

S.No

Protocol Packets

Description

Size(Bytes)

1

DHCPv6 Solicit

Sent by a client to locate available DHCPv6 servers

msg-type

Message type: 1 for Solicit

1

transaction-id

Unique ID to match requests and replies

3

Client Identifier

Uniquely identifies the client (usually includes DUID)

variable

Option Request

Specifies which options the client wants (e.g., DNS servers)

variable

Elapsed Time

Time since the client began the address acquisition process

2

Rapid Commit

Requests a 2-message exchange instead of 4

2

IA_NA (Identity Assoc.)

Requests non-temporary IPv6 address

variable

IA_TA (Temporary Addr)

Requests temporary IPv6 address

variable

IA_PD (Prefix Delegation)

Requests a delegated prefix (used in routers)

variable

User Class

Identifies the type of user or application

variable

Vendor Class

Identifies vendor-specific information

variable

DHCPv6 Advertise

S.No

Protocol Packets

Description

Size(Bytes)

2

DHCPv6 Advertise

Server response to Solicit with configuration

msg-type

Message type: 2 for Advertise

1

transaction-id

Unique ID to match the client’s Solicit message

3

Server Identifier

Uniquely identifies the server (includes DUID)

variable

Client Identifier

Copied from the Solicit message to identify the client

variable

Preference

Indicates server’s preference (higher = more preferred)

1

IA_NA (Identity Assoc.)

Offers non-temporary IPv6 address info (includes lifetimes,address)

variable

IA_TA (Temporary Addr)

Offers temporary IPv6 address info

variable

IA_PD (Prefix Delegation)

Offers delegated prefix (used by routers)

variable

DNS Recursive Name Server

Provides DNS server addresses

variable

Domain Search List

Provides domain suffixes for DNS search

variable

Authentication

Optional; used if authentication is required

variable

Vendor Class

Optional; identifies vendor-specific info

variable

Status Code

Indicates success or failure of the offer

variable

Rapid Commit

Included if server supports 2-message exchange

2

DHCPv6 Request

S.No

Protocol Packets

Description

Size(Bytes)

3

DHCPv6 Request

Client requests configuration from a server

msg-type

Message type: 3 for Request

1

transaction-id

Unique ID to match replies from the server

3

Client Identifier

Uniquely identifies the client (includes DUID)

variable

Server Identifier

Identifies the server being selected (from Advertise)

variable

Option Request

Specifies which options the client wants (e.g., DNS servers)

variable

Elapsed Time

Time since the client began the DHCP process

2

IA_NA (Identity Assoc.)

Requests non-temporary IPv6 address info (includes lifetimes, address)

variable

IA_TA (Temporary Addr)

Requests temporary IPv6 address info

variable

IA_PD (Prefix Delegation)

Requests delegated prefix (used by routers)

variable

Authentication

Optional; used if authentication is required

variable

Rapid Commit

Included if client wants to use 2-message exchange

2

User Class

Identifies the type of user or application

variable

Vendor Class

Identifies vendor-specific information

variable

Reconfigure Accept

Indicates client is willing to accept Reconfigure messages

1

DHCPv6 Confirm

S.No

Protocol Packets

Description

Size(Bytes)

4

DHCPv6 Confirm

Client verifies if its address is still valid

msg-type

Message type: 4 for Confirm

1

transaction-id

Unique ID to match replies from the server

3

Client Identifier

Uniquely identifies the client (includes DUID)

variable

Option Request

Specifies which options the client wants (e.g., DNS servers)

variable

Elapsed Time

Time since the client began the DHCP process

2

IA_NA (Identity Assoc.)

Contains the non-temporary IPv6 address info to be confirmed

variable

IA_TA (Temporary Addr)

Contains temporary IPv6 address info to be confirmed

variable

Authentication

Optional; used if authentication is required

variable

User Class

Identifies the type of user or application

variable

Vendor Class

Identifies vendor-specific information

variable

DHCPv6 Renew

S.No

Protocol Packets

Description

Size(Bytes)

5

DHCPv6 Renew

Client renews its lease with the server

msg-type

Message type: 5 for Renew

1

transaction-id

Unique ID to match replies from the server

3

Client Identifier

Uniquely identifies the client (includes DUID)

variable

Server Identifier

Identifies the server that assigned the address/prefix

variable

Elapsed Time

Time since the client began the DHCP process

2

IA_NA (Identity Assoc.)

Contains the non-temporary IPv6 address info to be renewed

variable

IA_TA (Temporary Addr)

Contains temporary IPv6 address info to be renewed

variable

IA_PD (Prefix Delegation)

Contains delegated prefix info to be renewed

variable

Authentication

Optional; used if authentication is required

variable

Option Request

Specifies which options the client wants (e.g., DNS servers)

variable

User Class

Identifies the type of user or application

variable

Vendor Class

Identifies vendor-specific information

variable

DHCPv6 Rebind

S.No

Protocol Packets

Description

Size(Bytes)

6

DHCPv6 Rebind

Client contacts any server when original is unreachable

msg-type

Message type: 6 for Rebind

1

transaction-id

Unique ID to match replies from any server

3

Client Identifier

Uniquely identifies the client (includes DUID)

variable

Elapsed Time

Time since the client began the DHCP process

2

IA_NA (Identity Assoc.)

Contains the non-temporary IPv6 address info to be rebound

variable

IA_TA (Temporary Addr)

Contains temporary IPv6 address info to be rebound

variable

IA_PD (Prefix Delegation)

Contains delegated prefix info to be rebound

variable

Authentication

Optional; used if authentication is required

variable

Option Request

Specifies which options the client wants (e.g., DNS servers)

variable

User Class

Identifies the type of user or application

variable

Vendor Class

Identifies vendor-specific information

variable

DHCPv6 Reply

S.No

Protocol Packets

Description

Size(Bytes)

7

DHCPv6 Reply

Server responds to Request, Confirm, Renew, etc

msg-type

Message type: 7 for Reply

1

transaction-id

Matches the transaction ID from the clients message

3

Client Identifier

Copied from the clients message to identify the client

variable

Server Identifier

Identifies the server sending the reply (includes DUID)

variable

IA_NA (Identity Assoc.)

Contains assigned non-temporary IPv6 address info

variable

IA_TA (Temporary Addr)

Contains assigned temporary IPv6 address info

variable

IA_PD (Prefix Delegation)

Contains delegated prefix info

variable

DNS Recursive Name Server

Provides DNS server addresses

variable

Domain Search List

Provides domain suffixes for DNS search

variable

Authentication

Optional; used if authentication is required

variable

Status Code

Indicates success or failure of the request

variable

Rapid Commit

Included if the server supports 2-message exchange

2

Vendor Class

Identifies vendor-specific information

variable

User Class

Identifies the type of user or application

variable

DHCPv6 Release

S.No

Protocol Packets

Description

Size(Bytes)

8

DHCPv6 Release

Client releases its address back to the server

msg-type

Message type: 8 for Release

1

transaction-id

Unique ID to match replies from the server

3

Client Identifier

Uniquely identifies the client (includes DUID)

variable

Server Identifier

Identifies the server that assigned the address/prefix

variable

IA_NA (Identity Assoc.)

Contains the non-temporary IPv6 address info to be released

variable

IA_TA (Temporary Addr)

Contains temporary IPv6 address info to be released

variable

IA_PD (Prefix Delegation)

Contains delegated prefix info to be released

variable

Authentication

Optional; used if authentication is required

variable

User Class

Identifies the type of user or application

variable

Vendor Class

Identifies vendor-specific information

variable

DHCPv6 Decline

S.No

Protocol Packets

Description

Size(Bytes)

9

DHCPv6 Decline

Client informs server that an address is already in use

msg-type

Message type: 9 for Decline

1

transaction-id

Unique ID to match replies from the server

3

Client Identifier

Uniquely identifies the client (includes DUID)

variable

Server Identifier

Identifies the server that assigned the address/prefix

variable

IA_NA (Identity Assoc.)

Contains the non-temporary IPv6 address info being declined

variable

IA_TA (Temporary Addr)

Contains temporary IPv6 address info being declined

variable

IA_PD (Prefix Delegation)

Contains delegated prefix info being declined

variable

Status Code

Indicates the reason for the decline (e.g., address in use)

variable

Authentication

Optional; used if authentication is required

variable

User Class

Identifies the type of user or application

variable

Vendor Class

Identifies vendor-specific information

variable

DHCPv6 Reconfigure

S.No

Protocol Packets

Description

Size(Bytes)

10

DHCPv6 Reconfigure

Server tells client to reconfigure

msg-type

Message type: 10 for Reconfigure

1

transaction-id

Unique ID to match the clients response

3

Server Identifier

Identifies the server sending the Reconfigure message (includes DUID)

variable

Client Identifier

Identifies the client being reconfigured (includes DUID)

variable

Reconfigure Message

Specifies the message type the client should send

(Renew or Information-Request)

1

Reconfigure Accept

Indicates whether the client must accept Reconfigure messages

1

Authentication

Optional; used if authentication is required

variable

DHCPv6 Information-Request

S.No

Protocol Packets

Description

Size(Bytes)

11

DHCPv6 Information-Request

Client requests config info without needing an address

msg-type

Message type: 11 for Information-Request

1

transaction-id

Unique ID to match replies from the server

3

Client Identifier

Uniquely identifies the client (includes DUID)

variable

Option Request

Specifies which options the client wants (e.g., DNS servers, domain list)

variable

Elapsed Time

Time since the client began the DHCP process

2

Authentication

Optional; used if authentication is required

variable

User Class

Identifies the type of user or application

variable

Vendor Class

Identifies vendor-specific information

variable

Reconfigure Accept

Indicates client is willing to accept Reconfigure messages

1

DHCPv6 Relay-Forward

S.No

Protocol Packets

Description

Size(Bytes)

12

DHCPv6 Relay-Forward

Relay agent forwards client messages to server

msg-type

Message type: 12 for Relay-Forward

1

hop-count

Number of relay agents that have forwarded the message

1

link-address

IPv6 address of the link where the client is located (not the relay

agent)

16

peer-address

IPv6 address of the client or previous relay agent

16

Relay Message (Option 9)

Encapsulates the original client message (e.g., Solicit, Request)

variable

Interface-ID (Option 18)

Identifies the interface on which the message was received

variable

Remote-ID (Option 37)

Identifies the remote host (e.g., MAC address or circuit ID)

variable

Vendor Class

Identifies vendor-specific information

variable

DHCPv6 Relay-Reply

S.No

Protocol Packets

Description

Size(Bytes)

13

DHCPv6 Relay-Reply

Server replies to client via relay agent

msg-type

Message type: 13 for Relay-Reply

1

hop-count

Copied from the corresponding Relay-Forward message

1

link-address

Copied from the Relay-Forward message; identifies the clients link

16

peer-address

Copied from the Relay-Forward message; identifies the client or

previous relay

16

Relay Message (Option 9)

Contains the DHCPv6 message intended for the client (e.g., Advertise, Reply)

variable

Interface-ID (Option 18)

Identifies the interface on which the message should be sent back to the client

variable

Remote-ID (Option 37)

Identifies the remote host (e.g., MAC address or circuit ID)

variable

Vendor Class

Identifies vendor-specific information

variable

S.no

Use Case

Description

1

IPv6 Address Assignment

Assigns IPv6 addresses dynamically to clients in a stateful manner.

2

Prefix Delegation

Delegates IPv6 prefixes to routers for subnetting and downstream configuration.

3

Stateless Configuration

Provides additional configuration (e.g., DNS) when addresses are assigned via SLAAC.

4

Mobile and IoT Networks

Supports dynamic address and configuration assignment in IPv6-enabled mobile and IoT environments.

5

Enterprise Network Management

Centralizes IPv6 address and configuration management in large networks.

6

Reconfiguration Support

Allows servers to notify clients to update their configuration dynamically.

7

Relay Agent Support

Enables DHCPv6 messages to be relayed across subnets for centralized management.

S.No

Feature

Description

1

IPv6 Address Assignment

Dynamically assigns IPv6 addresses to clients (stateful configuration)

2

Prefix Delegation

Delegates IPv6 prefixes to routers for subnetting and downstream configuration

3

Stateless Configuration

Provides additional info (e.g., DNS) when addresses are assigned via SLAAC

4

Lease Management

Manages address lifetimes and renewals using preferred and valid lifetimes

5

DHCPv6 Options

Supports a wide range of options for DNS, domain search, SIP servers, etc.

6

Reconfigure Support

Allows servers to notify clients to update their configuration dynamically

7

Relay Agent Support

Forwards DHCPv6 messages across subnets using relay agents

8

Authentication Support

Provides mechanisms for message authentication and integrity (optional)

9

Dual Stack Coexistence

Can operate alongside DHCPv4 in dual-stack networks

10

Support for Mobile & IoT

Efficiently supports dynamic addressing in IPv6-enabled mobile and IoT environments.

IPv6 Address Assignment - Testcases

#

Test Case

Description

Expected Result

1

Solicit Message

Client sends Solicit to All_DHCP_Relay_Agents_Servers

Server responds with Advertise

2

Advertise Message

Server replies to Solicit with Advertise

Contains server ID and options

3

Request Message

Client sends Request after Advertise

Server responds with Reply

4

Reply Message

Server replies to Request

Contains assigned IPv6 address

5

Confirm Message

Client confirms address validity

Server replies with Reply

6

Renew Message

Client renews lease

Server replies with updated lease

7

Rebind Message

Client rebinds after no response to Renew

Server replies with updated lease

8

Release Message

Client releases address

Server acknowledges release

9

Decline Message

Client declines offered address

Server marks address as unusable

10

Reconfigure Message

Server initiates config change

Client sends Information-Request

11

Information-Request

Client requests config info

Server replies with Reply

12

Rapid Commit

Client uses 2-message exchange

Server replies with Reply

13

DUID Validation

Validate client DUID format

Server accepts valid DUID

14

IA_NA Option

Request non-temporary address

Server assigns IA_NA address

15

IA_TA Option

Request temporary address

Server assigns IA_TA address

16

IA_PD Option

Request prefix delegation

Server assigns IPv6 prefix

17

Option Request Option

Client requests specific options

Server includes requested options

18

Server Preference Option

Server includes preference

Client selects highest preference

19

Elapsed Time Option

Client includes elapsed time

Server uses for retransmission logic

20

Authentication Option

Include authentication info

Server validates credentials

21

Address Assignment

Assign IPv6 address

Client receives valid address

22

Prefix Delegation

Assign IPv6 prefix

Client configures subnet

23

Stateless Configuration

Use Information-Request only

Client receives DNS, domain info

24

Stateful Configuration

Full address assignment

Client receives address and lease

25

Lease Expiry

Wait for lease to expire

Client stops using address

26

Lease Renewal Timing

Renew before T1 expires

Server renews lease

27

Lease Rebinding Timing

Rebind after T2 expires

Server renews lease

28

Multiple Servers

Multiple servers respond

Client selects one

29

Server Unreachable

No server response

Client retries or fails

30

Relay Agent Forwarding

Relay forwards client messages

Server receives forwarded messages

31

Relay Reply Handling

Relay forwards server reply

Client receives reply

32

Invalid Message Format

Send malformed DHCPv6 message

Server ignores or sends error

33

Duplicate Address Detection

Client performs DAD

Address confirmed unique

34

Address Conflict

Server assigns used address

Client sends Decline

35

Server Load Handling

High volume of clients

Server handles without failure

36

Client Reboot

Reboot client with lease

Client sends Confirm

37

Server Restart

Restart server

Clients rebind or renew

38

Interface Change

Client changes interface

Sends new Solicit

39

Link-Local Address Use

Client uses link-local source

Server accepts

40

Multicast Destination

Client sends to FF02::1:2

Server receives

41

Unicast Server Communication

Client uses known server address

Server responds

42

DNS Option

Server provides DNS info

Client configures DNS

43

Domain Search Option

Server provides domain list

Client configures search domains

44

FQDN Option

Server provides FQDN

Client registers name

45

Vendor Class Option

Client identifies vendor

Server customizes response

46

Vendor Specific Info Option

Server sends vendor data

Client processes info

47

Reconfigure Accept Option

Client accepts reconfigure

Server may initiate changes

48

Reconfigure Key Option

Server includes key info

Client validates

49

Client Retransmission

Client retries on timeout

Server eventually responds

50

Server Logging

Enable DHCPv6 logs

Logs show message flow

Prefix Delegation - Testcases

#

Test Case

Description

Expected Result

1

Solicit with IA_PD

Client sends Solicit with IA_PD option

Server responds with Advertise including IA_PD

2

Advertise with Prefix

Server includes prefix in Advertise

Client receives prefix options

3

Request with IA_PD

Client sends Request for prefix

Server responds with Reply including prefix

4

Reply with Prefix

Server assigns prefix in Reply

Client configures delegated prefix

5

Prefix Lifetime

Server includes valid lifetimes

Client honors preferred and valid lifetimes

6

Renew Prefix

Client sends Renew for prefix

Server renews prefix lease

7

Rebind Prefix

Client sends Rebind after no Renew response

Server responds with updated prefix

8

Release Prefix

Client releases delegated prefix

Server acknowledges release

9

Decline Prefix

Client declines prefix due to conflict

Server marks prefix as unusable

10

Multiple Prefixes

Server delegates multiple prefixes

Client configures all prefixes

11

Prefix Length Validation

Server assigns /56 or /64 prefix

Client accepts valid prefix length

12

Prefix Conflict Detection

Client detects prefix conflict

Client sends Decline

13

Prefix Delegation Timeout

Client does not renew in time

Prefix becomes invalid

14

Prefix Delegation Logging

Enable logs on server

Logs show prefix delegation events

15

Prefix Delegation with Relay

Relay forwards IA_PD messages

Server processes forwarded messages

16

Prefix Delegation with Authentication

Client includes authentication info

Server validates and delegates

17

Prefix Delegation with Rapid Commit

Client uses Rapid Commit

Server replies with prefix in 2 messages

18

Prefix Delegation with Stateless Mode

Client uses Information-Request only

No prefix assigned

19

Prefix Delegation with Stateful Mode

Client uses Solicit/Request

Prefix assigned

20

Prefix Delegation with DUID

Client uses unique DUID

Server identifies client correctly

21

Prefix Delegation with Option Request

Client requests DNS options

Server includes options

22

Prefix Delegation with Server Preference

Multiple servers respond

Client selects highest preference

23

Prefix Delegation with Elapsed Time

Client includes elapsed time

Server uses for retransmission

24

Prefix Delegation with Reconfigure

Server sends Reconfigure

Client sends Information-Request

25

Prefix Delegation with FQDN

Client registers FQDN

Server updates DNS

26

Prefix Delegation with Vendor Class

Client identifies vendor

Server customizes response

27

Prefix Delegation with Vendor Options

Server sends vendor-specific info

Client processes options

28

Prefix Delegation with Lease Expiry

Wait for lease to expire

Client stops using prefix

29

Prefix Delegation with Server Restart

Server restarts

Client rebinds or renews

30

Prefix Delegation with Client Reboot

Client reboots

Client sends Confirm

31

Prefix Delegation with Interface Change

Client changes interface

Client sends new Solicit

32

Prefix Delegation with Link-Local

Client uses link-local address

Server accepts

33

Prefix Delegation with Multicast

Client sends to FF02::1:2

Server receives

34

Prefix Delegation with Unicast

Client uses known server address

Server responds

35

Prefix Delegation with DNS Option

Server provides DNS info

Client configures DNS

36

Prefix Delegation with Domain Search

Server provides domain list

Client configures search domains

37

Prefix Delegation with Logging

Enable DHCPv6 logs

Logs show prefix delegation

38

Prefix Delegation with Invalid Format

Send malformed IA_PD

Server ignores or errors

39

Prefix Delegation with High Load

Many clients request prefixes

Server handles load

40

Prefix Delegation with NAT

Client behind NAT

Prefix delegation may fail

41

Prefix Delegation with VPN

Client on VPN

Prefix delegation may fail

42

Prefix Delegation with VLAN

Client on different VLAN

Prefix delegation depends on routing

43

Prefix Delegation with Wireshark

Capture DHCPv6 packets

IA_PD messages visible

44

Prefix Delegation with Nmap

Use nmap to detect DHCPv6

Prefix delegation detected

45

Prefix Delegation with Python

Use scapy or dhcp6 client

Prefix delegated

46

Prefix Delegation with Linux

Use dhclient or NetworkManager

Prefix assigned

47

Prefix Delegation with Windows

Use netsh or DHCPv6 client

Prefix assigned

48

Prefix Delegation with macOS

Use built-in DHCPv6

Prefix assigned

49

Prefix Delegation with Router

Router requests prefix

Prefix delegated and routed

50

Prefix Delegation with Subnetting

Client uses prefix for LAN

LAN devices get IPv6 addresses

Stateless Configuration - Testcases

#

Test Case

Description

Expected Result

1

Information-Request Message

Client sends Information-Request to obtain configuration parameters

Server responds with Reply containing options

2

Reply with DNS Option

Server includes DNS server addresses in Reply

Client configures DNS settings

3

Reply with Domain Search Option

Server includes domain search list

Client configures domain search list

4

No Address Assignment

Client does not request IA_NA or IA_PD

No IPv6 address assigned

5

Server Stateless Mode

Server configured for stateless operation

Only configuration parameters provided

6

Client Stateless Mode

Client only sends Information-Request

Receives configuration options

7

Multiple Clients

Multiple clients request stateless config

Server responds to all with options

8

Server Logging

Enable logging on server

Logs show Information-Request and Reply

9

Client Logging

Enable logging on client

Logs show received configuration

10

Invalid Option Request

Client requests unsupported option

Server ignores or omits option

11

Option Request Option

Client includes Option Request Option

Server includes requested options

12

Elapsed Time Option

Client includes elapsed time

Server uses for retransmission logic

13

Server Preference Option

Server includes preference value

Client may use for server selection

14

Authentication Option

Client includes authentication info

Server validates credentials

15

Rapid Commit Not Used

Client does not use Rapid Commit

Standard 2-message exchange used

16

Rapid Commit Used

Client uses Rapid Commit

Server replies immediately with Reply

17

Server Restart

Server restarts during operation

Clients retry Information-Request

18

Client Reboot

Client reboots

Sends new Information-Request

19

Interface Change

Client changes interface

Sends new Information-Request

20

Multicast Destination

Client sends to FF02::1:2

Server receives and responds

21

Unicast Server Communication

Client uses known server address

Server responds with Reply

22

Link-Local Source Address

Client uses link-local address

Server accepts and responds

23

Relay Agent Forwarding

Relay forwards Information-Request

Server processes forwarded message

24

Relay Reply Handling

Relay forwards server Reply

Client receives configuration

25

Malformed Information-Request

Client sends malformed message

Server ignores or logs error

26

Unsupported Option in Reply

Server includes unsupported option

Client ignores unknown option

27

Client Retransmission

Client retries on timeout

Server eventually responds

28

Server Timeout

Server does not respond

Client retries or fails

29

High Load on Server

Many clients send requests

Server handles without failure

30

Stateless with Stateful Server

Server supports both modes

Client receives config only

31

Stateless with Prefix Delegation

Client does not request IA_PD

No prefix assigned

32

Stateless with Address Assignment

Client does not request IA_NA

No address assigned

33

Stateless with DNS Only

Server provides only DNS option

Client configures DNS

34

Stateless with Domain Only

Server provides only domain search

Client configures domain list

35

Stateless with No Options

Server provides no options

Client receives empty Reply

36

Stateless with Logging Enabled

Enable logs on both ends

Logs show message exchange

37

Stateless with DUID Validation

Client uses valid DUID

Server accepts and responds

38

Stateless with Vendor Class Option

Client identifies vendor

Server customizes response

39

Stateless with Vendor Specific Info

Server includes vendor-specific data

Client processes info

40

Stateless with FQDN Option

Client registers FQDN

Server updates DNS

41

Stateless with Reconfigure

Server sends Reconfigure

Client sends Information-Request

42

Stateless with Reconfigure Accept

Client accepts reconfigure

Server may initiate changes

43

Stateless with NAT

Client behind NAT

Stateless config may still work

44

Stateless with VPN

Client on VPN

Stateless config may work depending on routing

45

Stateless with VLAN

Client on different VLAN

Depends on routing and multicast

46

Stateless with Wireshark

Capture DHCPv6 packets

Information-Request and Reply visible

47

Stateless with Nmap

Use nmap to detect DHCPv6

Stateless server detected

48

Stateless with Python Script

Use scapy or dhcp6 client

Configuration options received

49

Stateless with Linux Client

Use dhclient or NetworkManager

Options configured

50

Stateless with Router

Router requests config info

Receives DNS/domain options

Lease Management - Testcases

#

Test Case

Description

Expected Result

1

Lease Assignment

Client requests address lease

Server assigns lease with valid lifetime

2

Lease Renewal

Client sends Renew message before T1

Server renews lease and updates lifetime

3

Lease Rebinding

Client sends Rebind after T2

Server responds with updated lease

4

Lease Expiry

Client does not renew lease

Lease expires and address is released

5

Lease Release

Client sends Release message

Server acknowledges and frees address

6

Lease Decline

Client declines offered address

Server marks address as unusable

7

Lease Confirm

Client confirms address after reboot

Server validates and confirms lease

8

Lease with Rapid Commit

Client uses Rapid Commit option

Server assigns lease in 2-message exchange

9

Lease Lifetime Validation

Server provides preferred and valid lifetimes

Client honors lifetimes

10

Lease Logging

Enable server logs

Logs show lease assignment and expiry

11

Multiple Lease Requests

Client requests multiple IA_NA

Server assigns multiple addresses

12

Lease with IA_TA

Client requests temporary address

Server assigns temporary lease

13

Lease with IA_PD

Client requests prefix delegation

Server assigns prefix with lease

14

Lease Renewal Timing

Renew before T1 expires

Lease is renewed successfully

15

Lease Rebinding Timing

Rebind after T2 expires

Lease is updated

16

Lease with DUID

Client uses unique DUID

Server identifies and assigns lease

17

Lease with Authentication

Client includes authentication

Server validates and assigns lease

18

Lease with Option Request

Client requests specific options

Server includes options in Reply

19

Lease with Server Preference

Multiple servers respond

Client selects highest preference

20

Lease with Elapsed Time

Client includes elapsed time

Server uses for retransmission logic

21

Lease with Reconfigure

Server sends Reconfigure

Client sends Information-Request

22

Lease with Reconfigure Accept

Client accepts reconfigure

Server may initiate changes

23

Lease with FQDN

Client registers FQDN

Server updates DNS

24

Lease with Vendor Class

Client identifies vendor

Server customizes lease response

25

Lease with Vendor Options

Server includes vendor-specific data

Client processes options

26

Lease with Relay Agent

Relay forwards client messages

Server assigns lease

27

Lease with Relay Reply

Relay forwards server reply

Client receives lease

28

Lease with Multicast

Client sends to FF02::1:2

Server receives and responds

29

Lease with Unicast

Client uses known server address

Server responds with lease

30

Lease with Link-Local

Client uses link-local source

Server accepts and assigns lease

31

Lease with Logging Enabled

Enable logs on both ends

Logs show lease lifecycle

32

Lease with Invalid Format

Send malformed IA_NA

Server ignores or errors

33

Lease with High Load

Many clients request leases

Server handles load

34

Lease with NAT

Client behind NAT

Lease assignment may work

35

Lease with VPN

Client on VPN

Lease assignment may work

36

Lease with VLAN

Client on different VLAN

Depends on routing

37

Lease with Wireshark

Capture DHCPv6 packets

Lease messages visible

38

Lease with Nmap

Use nmap to detect DHCPv6

Lease assignment detected

39

Lease with Python Script

Use scapy or dhcp6 client

Lease assigned

40

Lease with Linux Client

Use dhclient or NetworkManager

Lease assigned

41

Lease with Windows Client

Use netsh or DHCPv6 client

Lease assigned

42

Lease with macOS Client

Use built-in DHCPv6

Lease assigned

43

Lease with Router

Router requests lease

Lease assigned and routed

44

Lease with Subnetting

Client uses lease for LAN

LAN devices get IPv6 addresses

45

Lease with Duplicate Address

Server assigns used address

Client sends Decline

46

Lease with Conflict Detection

Client detects conflict

Client declines lease

47

Lease with Server Restart

Server restarts

Clients rebind or renew

48

Lease with Client Reboot

Client reboots

Client sends Confirm

49

Lease with Interface Change

Client changes interface

Sends new Solicit

50

Lease with Stateless Mode

Client sends Information-Request only

No lease assigned

DHCPv6 Options - Testcases

#

Test Case

Description

Expected Result

1

Option Request Option

Client requests specific options

Server includes requested options in Reply

2

Elapsed Time Option

Client includes elapsed time since start

Server uses for retransmission logic

3

Client Identifier Option

Client sends DUID

Server identifies client uniquely

4

Server Identifier Option

Server sends DUID

Client identifies server

5

IA_NA Option

Client requests non-temporary address

Server assigns IPv6 address

6

IA_TA Option

Client requests temporary address

Server assigns temporary address

7

IA_PD Option

Client requests prefix delegation

Server assigns IPv6 prefix

8

Authentication Option

Client includes authentication info

Server validates credentials

9

Unicast Option

Server indicates unicast address

Client uses unicast for future messages

10

Status Code Option

Server includes status code

Client interprets result of request

11

Preference Option

Server includes preference value

Client selects server with highest preference

12

Interface-ID Option

Relay agent includes interface ID

Server uses to identify client interface

13

Reconfigure Message Option

Server sends Reconfigure message

Client initiates Information-Request

14

Reconfigure Accept Option

Client accepts reconfigure

Server may initiate configuration change

15

Vendor Class Option

Client identifies vendor

Server customizes response

16

Vendor Specific Information Option

Server includes vendor-specific data

Client processes vendor data

17

FQDN Option

Client registers Fully Qualified Domain Name

Server updates DNS

18

DNS Recursive Name Server Option

Server provides DNS server addresses

Client configures DNS

19

Domain Search List Option

Server provides domain search list

Client configures search domains

20

Information Refresh Time Option

Server provides refresh interval

Client uses to refresh configuration

21

Boot File URL Option

Server provides boot file URL

Client downloads boot file

22

Boot File Parameters Option

Server provides boot parameters

Client uses parameters for booting

23

NTP Server Option

Server provides NTP server addresses

Client configures time synchronization

24

Time Zone Option

Server provides time zone info

Client configures local time zone

25

Geo-Location Option

Server provides location info

Client configures location-based settings

26

Client Link-Layer Address Option

Client includes MAC address

Server uses for identification

27

Relay Message Option

Relay agent encapsulates client message

Server decapsulates and processes

28

Remote ID Option

Relay agent includes remote ID

Server uses for client identification

29

Subscriber ID Option

Relay agent includes subscriber ID

Server uses for policy decisions

30

Client FQDN Option

Client requests DNS update

Server updates DNS records

31

Client Architecture Option

Client indicates architecture type

Server provides appropriate boot file

32

Network Interface ID Option

Client includes interface ID

Server uses for configuration

33

Client Machine ID Option

Client includes machine ID

Server uses for identification

34

Client Network ID Option

Client includes network ID

Server uses for policy decisions

35

Client User Class Option

Client includes user class

Server customizes response

36

Client Capability Option

Client indicates capabilities

Server adjusts configuration

37

Client Security Capability Option

Client includes security capabilities

Server adjusts security settings

38

Client Boot File Option

Client requests boot file

Server provides boot file URL

39

Client Boot Parameters Option

Client requests boot parameters

Server provides parameters

40

Client NTP Option

Client requests NTP servers

Server provides NTP server list

41

Client Time Zone Option

Client requests time zone

Server provides time zone info

42

Client Geo-Location Option

Client requests location info

Server provides location data

43

Client Interface-ID Option

Client includes interface ID

Server uses for configuration

44

Client Remote ID Option

Client includes remote ID

Server uses for identification

45

Client Subscriber ID Option

Client includes subscriber ID

Server uses for policy decisions

46

Client Architecture Type Option

Client includes architecture type

Server provides matching boot file

47

Client Network Interface Option

Client includes network interface ID

Server uses for configuration

48

Client Machine Identifier Option

Client includes machine identifier

Server uses for identification

49

Client Network Identifier Option

Client includes network identifier

Server uses for policy decisions

50

Client User Class Identifier Option

Client includes user class identifier

Server customizes configuration

Reconfigure Support - Testcases

#

Test Case

Description

Expected Result

1

Reconfigure Message Trigger

Server sends Reconfigure message

Client receives and processes it

2

Reconfigure Accept Option Present

Client includes Reconfigure Accept option

Server allowed to send Reconfigure

3

Reconfigure Accept Option Absent

Client does not include Reconfigure Accept

Server does not send Reconfigure

4

Reconfigure for Renew

Server triggers Renew via Reconfigure

Client sends Renew message

5

Reconfigure for Information-Request

Server triggers Information-Request

Client sends Information-Request

6

Reconfigure with Authentication

Reconfigure message includes authentication

Client validates and responds

7

Reconfigure without Authentication

Reconfigure message lacks authentication

Client may ignore or log error

8

Reconfigure with Invalid Auth

Reconfigure message has invalid auth

Client rejects message

9

Reconfigure with Unknown Option

Server includes unknown option

Client ignores unknown option

10

Reconfigure with Valid Options

Server includes valid options

Client processes options

11

Reconfigure with IA_NA

Server reconfigures IA_NA

Client renews address

12

Reconfigure with IA_PD

Server reconfigures prefix delegation

Client renews prefix

13

Reconfigure with IA_TA

Server reconfigures temporary address

Client renews temporary address

14

Reconfigure with DNS Option

Server updates DNS info

Client updates DNS configuration

15

Reconfigure with Domain Option

Server updates domain search list

Client updates domain list

16

Reconfigure with NTP Option

Server updates NTP server info

Client updates time sync settings

17

Reconfigure with Vendor Option

Server updates vendor-specific info

Client processes vendor data

18

Reconfigure with FQDN Option

Server updates FQDN

Client updates DNS registration

19

Reconfigure with Rapid Commit

Server uses Rapid Commit

Client processes in 2-message exchange

20

Reconfigure with Elapsed Time

Client includes elapsed time

Server uses for retransmission logic

21

Reconfigure with Preference Option

Server includes preference

Client may prioritize server

22

Reconfigure with Status Code

Server includes status code

Client interprets result

23

Reconfigure with Relay Agent

Relay forwards Reconfigure

Client receives via relay

24

Reconfigure with Interface-ID

Relay includes interface ID

Server identifies client interface

25

Reconfigure with Remote ID

Relay includes remote ID

Server uses for client identification

26

Reconfigure with Subscriber ID

Relay includes subscriber ID

Server uses for policy

27

Reconfigure with Logging Enabled

Enable logs on server and client

Logs show Reconfigure exchange

28

Reconfigure with Invalid Format

Server sends malformed Reconfigure

Client ignores or logs error

29

Reconfigure with High Load

Server sends to many clients

Clients respond appropriately

30

Reconfigure with NAT

Client behind NAT

Reconfigure may not reach client

31

Reconfigure with VPN

Client on VPN

Reconfigure may be delayed or blocked

32

Reconfigure with VLAN

Client on different VLAN

Depends on routing and multicast

33

Reconfigure with Wireshark

Capture packets

Reconfigure visible on UDP port 546

34

Reconfigure with Nmap

Use nmap to detect DHCPv6

Reconfigure support detected

35

Reconfigure with Python Script

Use scapy or dhcp6 client

Client responds to Reconfigure

36

Reconfigure with Linux Client

Use dhclient or NetworkManager

Client processes Reconfigure

37

Reconfigure with Windows Client

Use netsh or DHCPv6 client

Client processes Reconfigure

38

Reconfigure with macOS Client

Use built-in DHCPv6

Client processes Reconfigure

39

Reconfigure with Router

Router receives Reconfigure

Router renews or updates config

40

Reconfigure with Stateless Client

Stateless client receives Reconfigure

Sends Information-Request

41

Reconfigure with Stateful Client

Stateful client receives Reconfigure

Sends Renew

42

Reconfigure with No Response

Client ignores Reconfigure

Server retries or logs

43

Reconfigure with Retry Mechanism

Server retries on no response

Client eventually responds

44

Reconfigure with Delay

Client delays response

Server waits or retries

45

Reconfigure with Duplicate Message

Server sends duplicate Reconfigure

Client handles idempotently

46

Reconfigure with Expired Lease

Client lease expired

Client may ignore Reconfigure

47

Reconfigure with Rebooted Client

Client rebooted

Sends Information-Request or Solicit

48

Reconfigure with Interface Change

Client changes interface

May not receive Reconfigure

49

Reconfigure with DUID Change

Client DUID changed

Server may not recognize client

50

Reconfigure with Server Restart

Server restarts and sends Reconfigure

Clients respond as expected

Relay Agent Support - Testcases

#

Test Case

Description

Expected Result

1

Relay Forward Message

Relay sends client message to server

Server receives and processes message

2

Relay Reply Message

Server sends reply via relay

Client receives server reply

3

Interface-ID Option

Relay includes Interface-ID

Server identifies client interface

4

Remote-ID Option

Relay includes Remote-ID

Server uses for client identification

5

Subscriber-ID Option

Relay includes Subscriber-ID

Server uses for policy decisions

6

Relay with IA_NA

Client requests address via relay

Server assigns address

7

Relay with IA_PD

Client requests prefix via relay

Server assigns prefix

8

Relay with IA_TA

Client requests temporary address via relay

Server assigns temporary address

9

Relay with Option Request

Client requests options via relay

Server includes requested options

10

Relay with Elapsed Time

Client includes elapsed time

Server uses for retransmission logic

11

Relay with Authentication

Client includes authentication info

Server validates credentials

12

Relay with Reconfigure

Server sends Reconfigure via relay

Client receives and responds

13

Relay with Rapid Commit

Client uses Rapid Commit via relay

Server replies immediately

14

Relay with Preference Option

Server includes preference

Client selects preferred server

15

Relay with Status Code

Server includes status code

Client interprets result

16

Relay with DNS Option

Server provides DNS info

Client configures DNS

17

Relay with Domain Search Option

Server provides domain list

Client configures domain search

18

Relay with Vendor Class Option

Client identifies vendor

Server customizes response

19

Relay with Vendor Specific Option

Server includes vendor-specific data

Client processes vendor data

20

Relay with FQDN Option

Client registers FQDN

Server updates DNS

21

Relay with Boot File URL

Server provides boot file URL

Client downloads boot file

22

Relay with Boot Parameters

Server provides boot parameters

Client uses for booting

23

Relay with NTP Server Option

Server provides NTP server info

Client configures time sync

24

Relay with Captive Portal Option

Server provides captive portal URI

Client redirects to portal

25

Relay with Logging Enabled

Enable logs on relay and server

Logs show message flow

26

Relay with Invalid Format

Relay sends malformed message

Server ignores or logs error

27

Relay with High Load

Many clients via relay

Server handles load

28

Relay with NAT

Relay behind NAT

Messages routed correctly

29

Relay with VPN

Relay over VPN

Messages routed correctly

30

Relay with VLAN

Relay on different VLAN

Routing and relay function properly

31

Relay with Wireshark

Capture packets

Relay messages visible

32

Relay with Nmap

Use nmap to detect DHCPv6

Relay detected

33

Relay with Python Script

Use scapy or dhcp6 client via relay

Messages relayed correctly

34

Relay with Linux Client

Use dhclient via relay

Address assigned

35

Relay with Windows Client

Use netsh via relay

Address assigned

36

Relay with macOS Client

Use built-in DHCPv6 via relay

Address assigned

37

Relay with Router

Router acts as relay

Clients receive configuration

38

Relay with Stateless Client

Stateless client via relay

Receives configuration

39

Relay with Stateful Client

Stateful client via relay

Receives address and lease

40

Relay with Rebooted Client

Client reboots and sends via relay

Server processes normally

41

Relay with Interface Change

Client changes interface

Relay forwards new Solicit

42

Relay with DUID Change

Client DUID changes

Server treats as new client

43

Relay with Server Restart

Server restarts

Relay resumes forwarding

44

Relay with Client Timeout

Client times out

Relay retries or logs

45

Relay with Duplicate Message

Relay forwards duplicate message

Server handles idempotently

46

Relay with Reconfigure Retry

Server retries Reconfigure via relay

Client eventually responds

47

Relay with Multiple Interfaces

Relay handles multiple interfaces

Server distinguishes via Interface-ID

48

Relay with Multiple Clients

Relay handles many clients

Server processes all requests

49

Relay with Option Overload

Relay includes many options

Server processes all valid options

50

Relay with Fragmented Packets

Relay handles fragmented DHCPv6 messages

Server reassembles and processes

Authentication Support - Testcases

#

Test Case

Description

Expected Result

1

Authentication Option Present

Client includes authentication option

Server validates credentials

2

Authentication Option Absent

Client omits authentication option

Server may reject or ignore

3

Valid Authentication Data

Client sends valid authentication info

Server accepts and processes

4

Invalid Authentication Data

Client sends incorrect authentication info

Server rejects message

5

Replay Attack Detection

Client reuses old authentication info

Server detects and rejects

6

Authentication with Solicit

Client sends Solicit with authentication

Server responds with Advertise

7

Authentication with Request

Client sends Request with authentication

Server responds with Reply

8

Authentication with Renew

Client sends Renew with authentication

Server renews lease

9

Authentication with Rebind

Client sends Rebind with authentication

Server rebinds lease

10

Authentication with Release

Client sends Release with authentication

Server acknowledges release

11

Authentication with Decline

Client sends Decline with authentication

Server marks address as unusable

12

Authentication with Confirm

Client sends Confirm with authentication

Server validates and confirms

13

Authentication with Reconfigure

Server sends Reconfigure with authentication

Client validates and responds

14

Authentication with Relay Agent

Relay forwards authenticated message

Server processes correctly

15

Authentication with IA_NA

Client requests IA_NA with authentication

Server assigns address

16

Authentication with IA_PD

Client requests prefix with authentication

Server assigns prefix

17

Authentication with IA_TA

Client requests temporary address with authentication

Server assigns temporary address

18

Authentication with Option Request

Client requests options with authentication

Server includes requested options

19

Authentication with Elapsed Time

Client includes elapsed time

Server uses for retransmission logic

20

Authentication with Preference

Server includes preference

Client selects preferred server

21

Authentication with Status Code

Server includes status code

Client interprets result

22

Authentication with DNS Option

Server provides DNS info

Client configures DNS

23

Authentication with Domain Option

Server provides domain list

Client configures domain search

24

Authentication with Vendor Option

Server includes vendor-specific info

Client processes vendor data

25

Authentication with FQDN Option

Client registers FQDN

Server updates DNS

26

Authentication with Boot File URL

Server provides boot file URL

Client downloads boot file

27

Authentication with NTP Option

Server provides NTP server info

Client configures time sync

28

Authentication with Captive Portal

Server provides captive portal URI

Client redirects to portal

29

Authentication with Logging Enabled

Enable logs on server and client

Logs show authentication exchange

30

Authentication with Invalid Format

Client sends malformed authentication option

Server ignores or logs error

31

Authentication with High Load

Many clients authenticate

Server handles load

32

Authentication with NAT

Client behind NAT

Authentication processed correctly

33

Authentication with VPN

Client on VPN

Authentication processed correctly

34

Authentication with VLAN

Client on different VLAN

Authentication processed correctly

35

Authentication with Wireshark

Capture packets

Authentication visible in DHCPv6 messages

36

Authentication with Nmap

Use nmap to detect DHCPv6

Authentication support detected

37

Authentication with Python Script

Use scapy or dhcp6 client

Authentication processed correctly

38

Authentication with Linux Client

Use dhclient with authentication

Server validates and assigns lease

39

Authentication with Windows Client

Use netsh with authentication

Server validates and assigns lease

40

Authentication with macOS Client

Use built-in DHCPv6 with authentication

Server validates and assigns lease

41

Authentication with Router

Router authenticates

Server assigns configuration

42

Authentication with Stateless Client

Stateless client authenticates

Server provides configuration options

43

Authentication with Stateful Client

Stateful client authenticates

Server assigns address and lease

44

Authentication with Rebooted Client

Client reboots and authenticates

Server validates and confirms

45

Authentication with Interface Change

Client changes interface

Server revalidates authentication

46

Authentication with DUID Change

Client DUID changes

Server treats as new client

47

Authentication with Server Restart

Server restarts

Authentication resumes normally

48

Authentication with Client Timeout

Client times out

Server retries or logs

49

Authentication with Duplicate Message

Client sends duplicate message

Server handles idempotently

50

Authentication with Replay Protection

Server implements replay protection

Old messages rejected

Dual Stack Coexistence - Testcases

#

Test Case

Description

Expected Result

1

Dual Stack Initialization

Enable both IPv4 and IPv6 on client

Both stacks initialize successfully

2

IPv4 DHCP Lease

Client obtains IPv4 address via DHCP

IPv4 address assigned

3

IPv6 DHCPv6 Lease

Client obtains IPv6 address via DHCPv6

IPv6 address assigned

4

IPv6 SLAAC Address

Client configures IPv6 via SLAAC

SLAAC address assigned

5

IPv4 and IPv6 Coexistence

Client uses both stacks simultaneously

Both addresses functional

6

IPv4 Lease Renewal

Client renews IPv4 lease

Lease renewed

7

IPv6 Lease Renewal

Client renews IPv6 lease

Lease renewed

8

IPv4 Lease Expiry

IPv4 lease expires

Address released

9

IPv6 Lease Expiry

IPv6 lease expires

Address released

10

IPv4 and IPv6 DNS Resolution

Client resolves DNS over both stacks

DNS works over both

11

IPv4 Preferred

Client prefers IPv4 for connections

IPv4 used by default

12

IPv6 Preferred

Client prefers IPv6 for connections

IPv6 used by default

13

IPv4-only Server

Client connects to IPv4-only server

Connection succeeds via IPv4

14

IPv6-only Server

Client connects to IPv6-only server

Connection succeeds via IPv6

15

Dual Stack Server

Client connects to dual stack server

Chooses preferred stack

16

IPv4 DHCP Server Unavailable

Only IPv6 DHCPv6 server available

Client uses IPv6 only

17

IPv6 DHCP Server Unavailable

Only IPv4 DHCP server available

Client uses IPv4 only

18

IPv4 NAT Traversal

Client behind NAT uses IPv4

NAT traversal successful

19

IPv6 NAT Traversal

Client behind NAT uses IPv6

NAT traversal not required

20

IPv4 Firewall

IPv4 traffic filtered

IPv6 still functional

21

IPv6 Firewall

IPv6 traffic filtered

IPv4 still functional

22

IPv4 DNS Option

DHCP server provides IPv4 DNS

Client configures DNS

23

IPv6 DNS Option

DHCPv6 server provides IPv6 DNS

Client configures DNS

24

IPv4 Lease Release

Client releases IPv4 lease

Server acknowledges

25

IPv6 Lease Release

Client releases IPv6 lease

Server acknowledges

26

IPv4 and IPv6 Logging

Enable logs for both stacks

Logs show dual stack activity

27

IPv4 and IPv6 Packet Capture

Capture traffic on both stacks

Packets visible for both

28

IPv4 and IPv6 Ping

Ping both IPv4 and IPv6 addresses

Both respond

29

IPv4 and IPv6 Traceroute

Run traceroute on both stacks

Paths traced correctly

30

IPv4 and IPv6 DHCP Options

Validate DHCP options for both stacks

Options received correctly

31

IPv4 and IPv6 Lease Timers

Validate lease timers

Timers function independently

32

IPv4 and IPv6 Conflict Detection

Detect address conflicts

Conflicts resolved per stack

33

IPv4 and IPv6 Reboot Recovery

Reboot client

Both stacks reinitialize

34

IPv4 and IPv6 Interface Change

Change network interface

Both stacks reconfigure

35

IPv4 and IPv6 Server Restart

Restart DHCP servers

Clients rebind or renew

36

IPv4 and IPv6 Stateless Mode

Use SLAAC and DHCP for IPv4

Stateless IPv6 and stateful IPv4

37

IPv4 and IPv6 Stateful Mode

Use DHCP for both stacks

Both addresses assigned

38

IPv4 and IPv6 with VLANs

Use VLANs for dual stack

Both stacks operate per VLAN config

39

IPv4 and IPv6 with VPN

Use VPN with dual stack

Both stacks tunnel traffic

40

IPv4 and IPv6 with Proxy

Use HTTP proxy

Proxy handles both stacks

41

IPv4 and IPv6 with DNS Suffix

Configure DNS suffix for both

Resolution works for both

42

IPv4 and IPv6 with Hostname

Hostname resolves to both A and AAAA

Client uses preferred stack

43

IPv4 and IPv6 with DHCP Failover

Simulate DHCP server failover

Clients maintain leases

44

IPv4 and IPv6 with Relay Agent

Use relay for both stacks

Messages relayed correctly

45

IPv4 and IPv6 with Authentication

Use authentication for both

Server validates both

46

IPv4 and IPv6 with Reconfigure

Server sends Reconfigure

Clients respond per stack

47

IPv4 and IPv6 with Logging

Enable detailed logging

Logs show dual stack events

48

IPv4 and IPv6 with Wireshark

Analyze traffic with Wireshark

Dual stack packets visible

49

IPv4 and IPv6 with Performance Test

Run throughput tests

Measure per-stack performance

50

IPv4 and IPv6 with Application Testing

Test apps over both stacks

Apps work on both protocols

Support for Mobile & IoT - Testcases

#

Test Case

Description

Expected Result

1

Mobile Device Solicit

Mobile device sends Solicit

Server responds with Advertise

2

IoT Device Solicit

IoT device sends Solicit

Server responds with Advertise

3

Mobile Device Request

Mobile device sends Request

Server responds with Reply

4

IoT Device Request

IoT device sends Request

Server responds with Reply

5

Mobile Device Lease Renewal

Mobile device renews lease

Server updates lease

6

IoT Device Lease Renewal

IoT device renews lease

Server updates lease

7

Mobile Device Rebind

Mobile device rebinds after T2

Server responds with updated lease

8

IoT Device Rebind

IoT device rebinds after T2

Server responds with updated lease

9

Mobile Device Roaming

Device moves to new network

Sends new Solicit

10

IoT Device Reboot

IoT device reboots

Sends Confirm or Solicit

11

Mobile Device Sleep/Wake

Device wakes from sleep

Sends Renew or Rebind

12

IoT Device Sleep/Wake

IoT device wakes from low-power mode

Sends Renew or Rebind

13

Stateless IoT Configuration

IoT device uses Information-Request

Server provides DNS and domain info

14

Mobile Device Stateless Config

Mobile device uses stateless mode

Receives configuration options

15

Low Power IoT Lease Timing

Validate long lease times

Device remains connected

16

Mobile Device Lease Expiry

Lease expires

Device stops using address

17

IoT Device Lease Expiry

Lease expires

Device stops using address

18

Mobile Device with Rapid Commit

Uses 2-message exchange

Server replies with Reply

19

IoT Device with Rapid Commit

Uses 2-message exchange

Server replies with Reply

20

Mobile Device with DUID

Sends unique DUID

Server identifies device

21

IoT Device with DUID

Sends unique DUID

Server identifies device

22

Mobile Device with IA_NA

Requests non-temporary address

Server assigns address

23

IoT Device with IA_NA

Requests non-temporary address

Server assigns address

24

Mobile Device with IA_PD

Requests prefix delegation

Server assigns prefix

25

IoT Device with IA_PD

Requests prefix delegation

Server assigns prefix

26

Mobile Device with Option Request

Requests DNS and domain options

Server includes options

27

IoT Device with Option Request

Requests minimal options

Server includes options

28

Mobile Device with Authentication

Includes authentication info

Server validates

29

IoT Device with Authentication

Includes authentication info

Server validates

30

Mobile Device with Reconfigure

Server sends Reconfigure

Device sends Renew or Info-Request

31

IoT Device with Reconfigure

Server sends Reconfigure

Device sends Info-Request

32

Mobile Device with Relay Agent

Message forwarded via relay

Server processes correctly

33

IoT Device with Relay Agent

Message forwarded via relay

Server processes correctly

34

Mobile Device with NAT

Behind NAT

DHCPv6 works with link-local

35

IoT Device with NAT

Behind NAT

DHCPv6 works with link-local

36

Mobile Device with VPN

Uses VPN

DHCPv6 may be tunneled

37

IoT Device with VPN

Uses VPN

DHCPv6 may be tunneled

38

Mobile Device with VLAN

On VLAN

DHCPv6 works if routing is correct

39

IoT Device with VLAN

On VLAN

DHCPv6 works if routing is correct

40

Mobile Device with Wireshark

Capture DHCPv6 packets

Packets visible

41

IoT Device with Wireshark

Capture DHCPv6 packets

Packets visible

42

Mobile Device with Logging

Enable logs

Logs show DHCPv6 flow

43

IoT Device with Logging

Enable logs

Logs show DHCPv6 flow

44

Mobile Device with Packet Loss

Drop some packets

Retransmission occurs

45

IoT Device with Packet Loss

Drop some packets

Retransmission occurs

46

Mobile Device with Sleep Timer

Sleeps during lease

Wakes and renews

47

IoT Device with Sleep Timer

Sleeps during lease

Wakes and renews

48

Mobile Device with Dual Stack

Uses IPv4 and IPv6

Both addresses assigned

49

IoT Device with Dual Stack

Uses IPv4 and IPv6

Both addresses assigned

50

Mobile/IoT Device with Firmware Update

Reboots after update

Sends Confirm or Solicit

  • Reference links