Does FreeBSD do proactive ARP refresh?
sthaug at nethelp.no
sthaug at nethelp.no
Fri Mar 16 11:27:22 UTC 2018
> > > I have a reproducible problem on 11.1-STABLE where, during a longterm
> > > iperf3 session, some packets are lost every time ARP is refreshed (every
> > > net.link.ether.inet.max_age seconds). Checking with tcpdump, I can
> > > indeed see that the packet loss is happening as the hosts are doing
> > > ARP request/reply.
> > I'll take a look. Indeed, the intended behaviour is to proactively refresh the record.
> > Is the situation the same with forwarding and locally-originated traffic?
> > With local TCP socket inpcb route caching might come into play.
>
> My testing is with locally-originated UDP traffic (iperf3 -u). Haven't
> tested what happens if the box is forwarding the traffic - however, I
> believe TCP socket inpcb route caching should not be relevant for the
> UDP traffic? (But there is also a TCP transaction between the iperf3
> sender and the iperf3 receiver at the *start* of the iperf3 session.)
>
> In any case, I will also test what happens if the box is forwarding
> the traffic.
And thank you for that suggestion! The packet loss during ARP refresh
(of the destination address connected to the output interface) does
*not* happen when the box is forwarding! It only happens with locally
generated traffic.
Steinar Haug, Nethelp consulting, sthaug at nethelp.no
More information about the freebsd-net
mailing list