Re: [Fwd: clientside_tos and qos_flows]

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Wed, 28 Apr 2010 17:34:18 +1200

Henrik Nordström wrote:
> -------- Vidarebefordrat meddelande --------
> FrÄn: Jan RheinlÀnder <jrheinlaender_at_gmx.de>
> Reply-to: resap-bdk_at_iamafg.org
> Till: squid-bugs_at_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
Received on Wed Apr 28 2010 - 05:34:30 MDT

This archive was generated by hypermail 2.2.0 : Wed Apr 28 2010 - 12:00:48 MDT