[Bug 237843] arp skips all name lookups if first fall with TRY_AGAIN

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat May 11 21:52:58 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237843

            Bug ID: 237843
           Summary: arp skips all name lookups if first fall with
                    TRY_AGAIN
           Product: Base System
           Version: 12.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: bugs at FreeBSD.org
          Reporter: pete at twisted.org.uk

This appears to be deliberate, but I am not sure the actual outcome is as
intended. My arp table looks like this:

[pete at skerry /usr/src/usr.sbin/arp]$ arp -a
? (82.47.240.1) at 00:01:5c:73:86:47 on bge1 expires in 1199 seconds [ethernet]
? (82.47.240.30) at d0:bf:9c:45:8b:71 on bge1 permanent [ethernet]
? (192.168.3.42) at 60:6d:3c:07:8c:2c on bge0 expires in 1142 seconds
[ethernet]
? (192.168.3.201) at d0:bf:9c:45:8b:70 on bge0 permanent [ethernet]
? (192.168.3.200) at d0:bf:9c:45:8b:70 on bge0 permanent [ethernet]

all of the 192.168 addresses will resolve, but because the first one (and
possibly the second one) do not, then it need tries to look them up. removing
the line which sets 'nflag' to 1 after a TRY_AGAIN results in this.

[pete at skerry ~]$ ./a.out -a 
? (82.47.240.1) at 00:01:5c:73:86:47 on bge1 expires in 1198 seconds [ethernet]
? (82.47.240.30) at d0:bf:9c:45:8b:71 on bge1 permanent [ethernet]
fire-tv.drayhouse.twisted.org.uk (192.168.3.42) at 60:6d:3c:07:8c:2c on bge0
expires in 1126 seconds [ethernet]
skerry-ns.drayhouse.twisted.org.uk (192.168.3.201) at d0:bf:9c:45:8b:70 on bge0
permanent [ethernet]
skerry.drayhouse.twisted.org.uk (192.168.3.200) at d0:bf:9c:45:8b:70 on bge0
permanent [ethernet]
madeira.drayhouse.twisted.org.uk (192.168.3.47) at 08:f4:ab:00:5f:86 on bge0
expires in 1183 seconds [ethernet]

Which is far more useful - I;ve trimmed the output there, there are a lot of
machines on the local LAN, and arp always used to be an easy way to see what
was connected by name. its behaviour hasn't changed, but the presence of the
unresolvable 82. address has stopped it resolving the rest.

I assume the intent was to stop trying slow lookups that always failed, but the
actual end result is that it won't look up any names. Not sure how to fix this
- would the simple, approach of not giving up name lookups be unacceptable ?
Probably a better fix would be to disable lookups which are for addresses not
on any local LAN, but that is a lot more complex, and maybe outside the scope
of what arp should be doing.

But having a way to get a list of name lookups on the local LAN wold be very
useful, which is what I am really after here.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list