> >i know of many many folk who use transaction logs from HTTP caches for> >volume-based billing.> >right now, those bills are anywhere between 10% to 25% incorrect.>> You are being paid to deliver packets to their destination, not > to drop>them.

ho hum.yes, that is typically true of a transit provider.however, the transit provider wants to charge the customer not just for what is delivered to layer-7, but also for packetization overhead at layer-2/layer-3/layer-4. after all, the IP+TCP packet headers are delivered to the client as well, no?

this is just my point: there is NO method to account for those pesky headers!

also, think of the case where a HTTP Proxy _isn't_ in the path of traffic. from this side of the Pacific, if there are TCP retransmissions, they are end-to-end retransmissions, across that really expensive piece of wet string otherwise known as an undersea cable. _that_ is the most expensive hop and if a customer is congested on the last mile, they're still eating into the expensive bandwidth!

discussions on the layer-8 (religion) or layer-9 (politics) aspects of whether it is correct to bill based on that is irrelevant. what is relevant is that there isn't any mechanism to count the overhead of packetization or the overhead of using a "reliable stream transport" such as TCP.

i do have the code to do this. its relatively trivial and consumes an extra 8 bytes of RAM per socket.it doesn't obfuscate the existing kernel code nor does it slow the code down by any tangible amount.it is a compile-time option so for those people who don't know or care about it, it doesn't impact them at all.yet, clearly, Dave and Jamal are vehemently opposed to it.alas, that means it stays as an out-of-kernel patch and will likely continue to suffer bit-rot as time goes by. c'est la vie.