Index: squid/src/carp.c diff -c squid/src/carp.c:1.15 squid/src/carp.c:1.15.2.1 *** squid/src/carp.c:1.15 Thu Jan 11 17:37:15 2001 --- squid/src/carp.c Thu Jun 19 15:06:19 2003 *************** *** 51,58 **** --- 51,70 ---- double X_last; int k; peer *p; + P_last = 0; for (p = Config.peers; p; p = p->next) { + if (P_last> p->carp.load_factor) { + /* + * Section 3.3 of draft-vinod-carp-v1-03.txt says: + * + * The Load Factor Multiplier must be calculated from the smallest + * P_k to the largest P_k. The sum of all P_k's must be 1. + */ + debug(39, 0) ("WARNING: CARP load factor values must not decrease\n"); + debug(39, 0) ("WARNING: rearrange cache_peer lines so they increase\n"); + } a += p->carp.load_factor; + P_last = p->carp.load_factor; K++; } if (a == 0.0) {