Skip to main content

Appendix E. Implementation Issues

This appendix discusses various implementation issues and provides guidance for Neighbor Discovery implementers.

When a node's link-layer address changes, several issues arise:

Issue: Cached entries on other nodes become invalid Solution: Send unsolicited Neighbor Advertisements to update neighbors' caches

Issue: Timing of updates may result in packet loss Solution: Send multiple unsolicited NAs (up to MAX_NEIGHBOR_ADVERTISEMENT)

E.2. Duplicate Address Detection Timing

Issue: Race conditions during DAD

  • Two nodes may simultaneously perform DAD for the same address
  • Both may conclude the address is available

Solution:

  • Use random delays before starting DAD (up to MAX_RTR_SOLICITATION_DELAY)
  • Properly handle DAD failures and retry with different addresses

E.3. Router Advertisement Timing

Issue: Coordinating RA transmission across multiple routers Solution:

  • Use random jitter in RA intervals
  • Respond to RS with random delay (0 to MAX_RA_DELAY_TIME)

E.4. Neighbor Cache Size

Issue: Limited memory for Neighbor Cache entries Solution:

  • Implement garbage collection (remove STALE entries first)
  • Prioritize REACHABLE entries
  • Use Least Recently Used (LRU) eviction policy

E.5. Destination Cache Management

Issue: Destination Cache can grow very large Solution:

  • Implement aging and size limits
  • Remove entries with expired PMTU information first
  • Integrate with Neighbor Cache cleanup

E.6. Multicast Group Management

Issue: Managing solicited-node multicast groups Solution:

  • Join/leave groups as addresses are added/removed
  • Handle multiple addresses mapping to same solicited-node group

E.7. Performance Optimization

Concurrent Address Resolution:

  • Process multiple address resolutions in parallel
  • Queue packets during resolution

Fast Path Processing:

  • Optimize for REACHABLE neighbors (most common case)
  • Cache frequently used Destination Cache entries

E.8. Security Implementation

SEND Integration:

  • Gracefully handle mixed SEND/non-SEND environments
  • Provide configuration options for security policies

Rate Limiting:

  • Protect against ND message flooding
  • Limit Neighbor Cache entry creation rate