Suppose you've configured IPv6 proxy NDP on one of your Linux systems like so:

ip -6 neighbor add proxy 2001:db8:1234::5 dev eth1

How do you verify that the configuration took? ip -6 neighbor show doesn't appear to show proxy entries and ip -6 neighbor show proxy isn't a supported command.

  • Maybe ip -6 neighbor show nud all? – Zoredache Oct 3 '10 at 21:49
  • That shows more addresses (e.g. :: dev lo) but not the proxies. – Gerald Combs Oct 3 '10 at 21:58

I think the ip tool just doesn't print the NTF_PROXY flag. In ip/ipneigh.c, after the NTF_ROUTER block, try adding

   if (r->ndm_flags & NTF_PROXY) {
            fprintf(fp, " proxy");

I don't have an NDP proxy installation, so I can't test it. From reading the kernel sources, however, it appears that the entries will all get returned and the flag should be set for proxy entries.

  • That didn't work, unfortunately. I also tried adding "fprintf(fp, " flags: %02x\n", r->ndm_flags);" to the beginning of print_neigh and none of the entries had the NTF_PROXY flag set. – Gerald Combs Oct 31 '10 at 17:45

have you tried ip ntable ?

  • It gives me lots of useful information about the NDISC cache, but not the entries themselves. I'm beginning to think these are write-only values, at least for my kernel version. – Gerald Combs Oct 12 '10 at 23:56

For the sake of completeness:

 shell> ip -6 neigh del proxy 2001:db8:1234::1234:5678 dev eth1
 shell> ip -6 maddr show dev eth1                      
 3:      eth1
         inet6 ff02::1:ff34:5678

It's just the last 6 nibbles but that's often all you need.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.