I have tried to develop and implement NDP(Neighbor Discovery Protocol) in Linux based PC's referring RFC 4861.
I have created a socket socket (AF_INET6, SOCK_RAW, IPPROTO_IPV6)
. NS/NA packet (ipv6 header + icmpv6 header+options) are filled and send by developer itself.
In Wireshark, I have monitored that NS packet which I have filled is being send + Kernel sends NS packets of its own and receives NA packets.
So I am confused and stuck in my work. Can anyone please help and explain
- Why this duplicate packets generated by kernel of its own?
- If kernel handles ICMPv6 packets, which is the scenario where NDP should be developed and implemented?