svn commit: r331098 - in head/sys: net netinet netinet6
Bjoern A. Zeeb
bzeeb-lists at lists.zabbadoz.net
Thu Mar 29 23:10:26 UTC 2018
On 17 Mar 2018, at 17:05, Alexander V. Chernikov wrote:
> Author: melifaro
> Date: Sat Mar 17 17:05:48 2018
> New Revision: 331098
> URL: https://svnweb.freebsd.org/changeset/base/331098
>
> Log:
> Fix outgoing TCP/UDP packet drop on arp/ndp entry expiration.
>
> Current arp/nd code relies on the feedback from the datapath
> indicating
> that the entry is still used. This mechanism is incorporated into
> the
> arpresolve()/nd6_resolve() routines. After the inpcb route cache
> introduction, the packet path for the locally-originated packets
> changed,
> passing cached lle pointer to the ether_output() directly. This
> resulted
> in the arp/ndp entry expire each time exactly after the configured
> max_age
> interval. During the small window between the ARP/NDP request and
> reply
> from the router, most of the packets got lost.
>
> Fix this behaviour by plugging datapath notification code to the
> packet
> path used by route cache. Unify the notification code by using
> single
> inlined function with the per-AF callbacks.
>
> Reported by: sthaug at nethelp.no
> Reviewed by: ae
> MFC after: 2 weeks
Does this mean that we now take an extra lock per-packet again?
/bz
More information about the svn-src-head
mailing list