Hi Folks,

OK, maybe the Neighbor DUMP doesn't literally take forever.
But it sure does take too long!  Here is the problem:

When one goes to DUMP the Neighbor tables, one has no idea which interface
might have ARP/NDP entries on them.  So one determines the total number of
interfaces, and then one iterates over them one at a time asking for an
IP_NEIGHBOR_DUMP of each sw_if_index and AF combination.

That's all fine.  The problem is that the DUMP response DETAILS never come
for
interfaces that have NO entries.  So the message handling times-out
instead.  With
a one-second timeout on each (interface, AF) pair, it takes 2 seconds per
IF.

It makes for a very slow process to determine the ARP/Neighbor tables.

This used to be a problem in the NAT DUMP as well, but that was fixed.  I
don't
recall how off-hand, but at least one solution would be to always reply,
and if a
bogus entry is needed, do that.  Use a detail with a sw_if_index = ~0 if
necessary.
(Yeah, the ip_neighbor_t detail should be returning the sw_if_index too
anyway.)

Maybe something like that?

Oh, the reason that you never see this problem with vppctl is that it
doesn't
use the API. It goes straight to internal data structures instead.

Thanks,
jdl
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev
  • [vpp-dev] Nei... Jon Loeliger

Reply via email to