Kevin Peterson
2013-May-21 06:10 UTC
[CentOS] ICMPv6 Neighbour Solication request is not answered by linux when IPv6 address is assigned via Netlink code.
Hi, I have a process which is running as a linux service and assigns IP addresses using netlink to configued interface in linux. For IPv4 addresses i do not see any issue with this assignment. When i try to assign an IPv6 address, the address gets assigned successfully to the interface, but the Neighbour Solication request received for that address is not responded with and hence ping6 from a different machine doesn't work. When i take the same netlink code and run it in a sample program the address gets assigned and the Neighbour solicitation is responded with a advertisement and hence ping6 works. IP assigned by the program : 7000::15/32 IP on client machine from where ping6 is done : 7000::17/32. Bot machines are connected to same Layer-2 switch. I have flushed the ip6tables on both the machines just to rule out any firewall issues. Thanks, Kevin Peterson
James Hogarth
2013-May-21 10:49 UTC
[CentOS] ICMPv6 Neighbour Solication request is not answered by linux when IPv6 address is assigned via Netlink code.
On 21 May 2013 07:10, Kevin Peterson <qh.resu01 at gmail.com> wrote:> Hi, > > I have a process which is running as a linux service and assigns IP > addresses using netlink to configued interface in linux. > For IPv4 addresses i do not see any issue with this assignment. > >If you could show ip addr show and ip route show it would help> When i try to assign an IPv6 address, the address gets assigned > successfully to the interface, but the Neighbour Solication request > received for that address is not responded with and hence ping6 from a > different machine doesn't work. > >Does it respond to the fe80:: address for that system or does it not respond on IPv6 at all?> When i take the same netlink code and run it in a sample program the > address gets assigned and the Neighbour solicitation is responded with a > advertisement and hence ping6 works. > >Just for clarity's sake (since assumptions often lead to issues) this sample program is being run on the same system? Could you post the sample code?> IP assigned by the program : 7000::15/32 > IP on client machine from where ping6 is done : 7000::17/32. > >Have you changed these addresses for the purpose of email? Given that 7000:: is well outside of the addresses currently in RFCs there could be an edge case bug surrounding that ... what if you use an appropriate ULA address (fc00::/7) - does the issue appear in that case? You have a very odd subnet mask applied for that IPv6 address ... the general expectation is a single subnet is /64 ...and in fact /32 is huge given that a /32 is generally expected to be assigned to a complete ISP with most end users being between a /48 and a /56 in assignment... So there could be an edge case bug as well given the size of subnet being associated...> >