15

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.

Gerald Combs
  • 6,331
  • 23
  • 35

3 Answers3

1

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.

Martin v. Löwis
  • 580
  • 4
  • 15
  • 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
0

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
0

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.

hroptatyr
  • 181
  • 1
  • 4