Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Mar 2018 23:10:19 +0000
From:      "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
To:        "Alexander V. Chernikov" <melifaro@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r331098 - in head/sys: net netinet netinet6
Message-ID:  <99B864A7-2541-4EBF-BDF3-F24E1ABF11D0@lists.zabbadoz.net>
In-Reply-To: <201803171705.w2HH5mk1054256@repo.freebsd.org>
References:  <201803171705.w2HH5mk1054256@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?99B864A7-2541-4EBF-BDF3-F24E1ABF11D0>