components/ntp/patches/40-norefresh.patch
author pkidd <patrick.kidd@oracle.com>
Wed, 27 Jan 2016 12:14:36 -0800
branchs11u3-sru
changeset 5354 f2f3e6f8b341
parent 5015 2cbe8ea880ce
permissions -rw-r--r--
Added tag 0.175.3.5.0.4.0, S11.3SRU5.4 for changeset 592f054591f7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5015
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     1
Don't change interfaces unless there is something wrong with the old one.
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     2
This is NTP bug [2043] and this patch should be removed after upgrading to
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     3
a version of NTP with a fix for that bug.
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     4
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     5
--- ntpd/ntp_peer.c
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     6
+++ ntpd/ntp_peer.c
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     7
@@ -718,9 +718,13 @@
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     8
 	/*
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     9
 	 * this is called when the interface list has changed
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    10
 	 * give all peers a chance to find a better interface
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    11
+	 * but only if either they don't have an address already
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    12
+	 * or if the one they have hasn't worked for a while.
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    13
 	 */
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    14
-	for (p = peer_list; p != NULL; p = p->p_link)
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    15
-		peer_refresh_interface(p);
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    16
+	for (p = peer_list; p != NULL; p = p->p_link) {
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    17
+		if (!(p->dstadr && (p->reach & 0x3)))
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    18
+			peer_refresh_interface(p);
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    19
+	}
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    20
 }
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    21
 
2cbe8ea880ce 20683411 ntpd and multiple default route constantly resets state and never sets sys.peer
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    22