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
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to