[CentOS] ICMPv6 Neighbour Solication request is not answered by linux when IPv6 address is assigned via Netlink code.

Tue May 21 10:49:38 UTC 2013
James Hogarth <james.hogarth at gmail.com>

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...


>
>