Customers may see that dhcpv6 layer2 liveness detection does not work. This article clarifies that liveness detection will work only on the EUI-64 link local client because it is the expected behavior.
For more information about this feature, refer to DHCP Liveness Detection.
In the following example, dhcpv6 layer2 liveness detection is seen not to work. Both dhcpv6 server and dhcpv6 relay agent report this issue.
Example
user@mx# show system services dhcp-local-server
dhcpv6 {
group v6 {
liveness-detection {
method {
layer2-liveness-detection {
transmit-interval 300;
}
}
}
}
}
user@mx> show dhcpv6 server binding detail
Session Id: 142
Client IPv6 Address: 2004::16/128
Lease Expires: 2020-11-27 10:33:57 CST
Lease Expires in: 86375 seconds
Preferred Lease Expires: 2020-11-27 10:33:57 CST
Preferred Lease Expires in: 86375 seconds
Client DUID: LL_TIME0x1-0x5fbf1415-00:10:94:03:01:01
State: BOUND(DHCPV6_LOCAL_SERVER_STATE_BOUND)
Lease Start: 2020-11-26 10:33:57 CST
Last Packet Received: 2020-11-26 10:33:58 CST
Incoming Client Interface: xe-0/2/0.3221225543
Client Interface Vlan Id: 101
Demux Interface: demux0.3221225544
Client Pool Name: dhcpv6
Client Profile Name: jw-demux
Client Id Length: 14
Client Id: /0x00010001/0x5fbf1415/0x00109403/0x0101
Liveness Detection State: UP
Liveness Detection Method: Layer2-liveness-detection
When the link local client is non-EUI-64, as in the following example, dhcpv6 layer2 liveness detection does not work.
user@mx# run show system subscriber-management ipv6-neighbors
IPv6 Address Linklayer Address State Exp Rtr Secure Interface
fe80::1 00:10:94:05:01:01 reachable 0 no no xe-0/2/0.3221225543
user@mx> show system subscriber-management dhcpv6-liveness-detection
<<<no output here>>>
user@mx> show system subscriber-management statistics
Session Manager started @ Tue Nov 24 16:55:59 2020
Session Manager cleared @ Wed Nov 25 14:14:11 2020
NET Statistics:
--------------------------------------------------------------
ICMP6 Statistics
Rx Statistics
packets: : 12
neighbor solicitations : 6
neighbor advertisements : 6
Tx Statistics
packets: : 66
router advertisements : 38
neighbor solicitations : 22 <<<This counter doesn't increase, meaning no NS was sent for liveness detection.
This is expected behavior. The DHCP layer2 liveness detection functionality will apply only to directly connected clients. Additionally, it is applicable only to permanently resolved L2 entries (ARP and ND cache entries) and only EUI-64 link local addresses qualify as permanent L2 entries.
Dynamic L2 resolution is not supported with layer 2 liveness detection and a non-EUI-64 link local address will force the dynamic L2 resolve mode.
The following example uses an EUI-64 link local client and dhcpv6-liveness-detection is seen to work fine.
user@mx> show system subscriber-management ipv6-neighbors
IPv6 Address Linklayer Address State Exp Rtr Secure Interface
fe80::210:94ff:fe03:101 00:10:94:03:01:01 reachable 0 no no xe-0/2/0.3221225545
2004::17 00:10:94:03:01:01 reachable 0 no no demux0.3221225546
user@mx> show system subscriber-management dhcpv6-liveness-detection
IPv6 Address Linklayer Address State Exp Rtr Secure Interface
fe80::210:94ff:fe03:101 00:10:94:03:01:01 reachable 0 no no xe-0/2/0.3221225545
user@mx> clear system subscriber-management statistics
Session Manager cleared @ Thu Nov 26 11:10:13 2020
user@mx> show system subscriber-management statistics
Session Manager started @ Tue Nov 24 16:55:59 2020
Session Manager cleared @ Thu Nov 26 11:10:13 2020
--------------------------------------------------------------
Packet Statistics
--------------------------------------------------------------
NET Statistics:
--------------------------------------------------------------
ICMP6 Statistics
Rx Statistics
packets: : 4
neighbor solicitations : 2
neighbor advertisements : 2 <<<<After 4 NA missing responses, the client binding will be released.
Tx Statistics
packets: : 10
router advertisements : 2
neighbor solicitations : 6 <<<<6 NS messages were sent out for liveness detection.
neighbor advertisements : 2
From the following log, we can confirm that DHCPv6 layer2 liveness detection is working fine.
user@mx> show shmlog entries logname all | match liveness
jdhcpd-inf 19942 Nov 26 11:08:57.254875 SML_LIVENESS_SESSION_UP session_id=144 00:10:94:03:01:01
bbe-smd-prio 20688 Nov 26 11:24:57.176765 BBE_IF_ND_LIVENESS_CB_CLIENT_DOWN BBE index = 157, addr:fe80:0:0:0:210:94ff:fe03:101
jdhcpd-inf 20720 Nov 26 11:24:57.188760 SML_LIVENESS_FAILURE_DETECTED session_id=144 00:10:94:03:01:01 family 2 - transitioned from liveness state
3 to state 4 with failure action 0
jdhcpd-inf 20721 Nov 26 11:24:57.188775 SML_CLIENT_DELETE_LIVENESS_DETECTION_FAILURE Deleting client - session_id=144 00:10:94:03:01:01 family 2