How to configure static MAC address entry in IPv6

book

Article ID: 167937

calendar_today

Updated On:

Products

XOS

Issue/Introduction

This article discusses address resolution in IPv6 and how to configure a static Neighbor Discovery entry on Crossbeam X-series Platform.A neighbor IPv6 host doesn't respond to Neighbor Solicitation messages.

Cause

Neighbor Discovery Protocol (NDP) is a protocol that implements several key functions in IPv6. One of them is address resolution; that is, mapping between IPv6 addresses and link-layer addresses (known as ARP in IPv4).  NDP uses ICMPv6 to exchange the messages necessary for its functions. Two messages are defined for address resolution:

1) Neighbor Solicitation (NS) - ICPMv6 type 135

NS messages are originated by nodes to request another node's link layer address and also for functions such as duplicate address detection and neighbor reachability detection.

The destination address in NS messages can be either IPv6 multicast or unicast.  Multicast is used when the node needs to resolve an address and unicast when the node seeks to verify the reachability of a neighbor. 

The solicited-node multicast address consists of the prefix FF02::1:FF00:0/104 and the last 24-bits of the IPv6 address that is being resolved.

2) Neighbor Advertisement (NA) - ICPMv6 type 136

NA messages are sent in response to NS messages. If a node changes its link-layer address, it can send an unsolicited NA to advertise the new address.

The destination of NA messages is either the unicast IPv6 address of the neighbor or the all-nodes multicast address FF02::1 for unsolicited advertisements.

 

Resolution

The final solution is to correct NDP the behavior on the problematic neighbor device.

Workaround

If a neighbor device doesn't respond properly to NS messages, it is possible to work around this problem by configuring a static entry in the neighbor-discovery cache that the X-Series Platform uses to resolve MAC addresses for IPv6 packets:

CBS# configure neighbor-discovery <IP_address> <MAC_address> [domain <domain_ID>]
[vap-group <VAP_group_name>] [circuit <circuit_name>]

To remove an entry from the cache, use the no form of this command:
 
CBS# configure no neighbor-discovery <IP_address> <MAC_address>

To display the entries in the neighbor discovery table, along with status information for each discovered node, run this command:
 
CBS# show neighbor-discovery