Henrik Nordström wrote:
-------- Vidarebefordrat meddelande --------
Från: Jan Rheinländer <jrheinlaen...@gmx.de>
Reply-to: resap-...@iamafg.org
Till: squid-b...@squid-cache.org
Ämne: clientside_tos and qos_flows
Datum: Tue, 27 Apr 2010 10:23:46 +0430
Hi,
I tried the following:
clientside_tos 0x30 update
qos_flows local_hit=0x20 disable_preserve_miss
But no tos values 0x30 ever survived the qos_flows setting. So I suggest
changing client-side_reply.cc
(comm_set_tos(fd.tos); moved into the if clauses):
#if USE_ZPH_QOS
if (reqofs==0 && !logTypeIsATcpHit(http->logType)) {
assert(fd >= 0); // the beginning of this method implies fd may
be -1
int tos = 0;
if (Config.zph.tos_sibling_hit &&
http->request->hier.code==SIBLING_HIT ) {
tos = Config.zph.tos_sibling_hit;
debugs(33, 2, "ZPH: Sibling Peer hit with hier.code=" <<
http->request->hier.code << ", TOS=" << tos);
comm_set_tos(fd,tos);
} else if (Config.zph.tos_parent_hit &&
http->request->hier.code==PARENT_HIT) {
tos = Config.zph.tos_parent_hit;
debugs(33, 2, "ZPH: Parent Peer hit with hier.code=" <<
http->request->hier.code << ", TOS=" << tos);
comm_set_tos(fd,tos);
} else if (Config.zph.preserve_miss_tos &&
Config.zph.preserve_miss_tos_mask) {
tos = fd_table[fd].upstreamTOS &
Config.zph.preserve_miss_tos_mask;
debugs(33, 2, "ZPH: Preserving TOS on miss, TOS="<<tos);
comm_set_tos(fd,tos);
}
//This breaks clientside_tos by ALWAYS setting tos to zero if
none of the above applies
//Moved it into the if clauses
//comm_set_tos(fd,tos);
}
#endif
How requests which match acl update get 0x20, and local_hits get 0x30.
Sorry, the code is messy but the list won't accept HTML formatting.
Jan Rheinländer
Looks superficially okay.
I assume that was a typo at the end about which type of hit gets which?
Although when combining clientside_tos and qos_flows do we want...
the generic qos_flows to override clientside_tos?
or
the finer grained clientside_tos to override qos_flows?
or
XOR the two values together?
I'm minded to have the clientside_tos override qos_flows.
Amos
--
Please be using
Current Stable Squid 2.7.STABLE9 or 3.1.1