## Summary Add the IPv6 Neighbor Discovery mechanisms required to resolve link-layer addresses and maintain basic on-link neighbor state. ## Scope - Parse and validate ICMPv6 Neighbor Solicitation and Neighbor Advertisement messages. - Implement neighbor-cache states, expiration, and bounded capacity. - Validate hop limit, message lengths, and relevant options before updating cache entries. - Define behavior for duplicate, stale, and unreachable neighbor entries. - Integrate with the existing network packet and interface abstractions. ## Acceptance criteria - Unit tests cover valid messages, truncated packets, malformed options, and cache transitions. - Invalid packets never mutate neighbor-cache state. - Cache growth and retry behavior are bounded. - Document the initial IPv6 features supported and those still out of scope. ## Engineering constraints - Keep the kernel Rust-first, `no_std`, and x86_64-compatible. - Integrate with existing Rustalis subsystem interfaces; do not create a parallel implementation. - Document ownership, initialization order, failure behavior, and any architecture-specific unsafe invariants. - Add host-side tests for hardware-independent logic and QEMU coverage for hardware paths where practical. - Do not claim verification that has not actually been run.
Activity