20683411 ntpd and multiple default route constantly resets state and never sets sys.peer s11u3-sru
authorBrian Utterback <brian.utterback@oracle.com>
Sun, 18 Oct 2015 17:18:20 -0700
branchs11u3-sru
changeset 5015 2cbe8ea880ce
parent 5014 098db147a904
child 5016 e7921135918b
20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
components/ntp/patches/40-norefresh.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ntp/patches/40-norefresh.patch	Sun Oct 18 17:18:20 2015 -0700
@@ -0,0 +1,22 @@
+Don't change interfaces unless there is something wrong with the old one.
+This is NTP bug [2043] and this patch should be removed after upgrading to
+a version of NTP with a fix for that bug.
+
+--- ntpd/ntp_peer.c
++++ ntpd/ntp_peer.c
[email protected]@ -718,9 +718,13 @@
+ 	/*
+ 	 * this is called when the interface list has changed
+ 	 * give all peers a chance to find a better interface
++	 * but only if either they don't have an address already
++	 * or if the one they have hasn't worked for a while.
+ 	 */
+-	for (p = peer_list; p != NULL; p = p->p_link)
+-		peer_refresh_interface(p);
++	for (p = peer_list; p != NULL; p = p->p_link) {
++		if (!(p->dstadr && (p->reach & 0x3)))
++			peer_refresh_interface(p);
++	}
+ }
+ 
+