Привет всем
В рассылке LARTC проплыл патч "Zero penalty Hit", по существу:
Многие применяют не встроенный шейпер oops, а к примеру HTB или CBQ
(на Линуксе), и было бы весьма удобно, не шейпить закешированные
документы. Однако организовать взаимосвязь между проксей и этим
шейпером непросто, и умный человек написал патчик (Прикладываю ниже).
Возможно ли этот патчик встроить в oops?
По идее, просто по setsockopt все пакеты помечаются определенным
образом.
И кратенько как в Линуксе например этим пакетам сделать unlimited
bandwidth:
tc filter add dev ".$device." parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6
0xff match u32 0x8804AB
CD 0xffffffff at 20 flowid 1:4
tc class add dev ".$device." classid 1:4 parent 1:2 htb rate 1Mbit
}
if (http->out.offset == 0) {
+ /* Zero Penalty Patch (ZPH) begins here ----> */
+ char my_options [] = { 0x88, 0x04, 0xAB, 0xCD };
+ switch ( http->log_type )
+ {
+ case LOG_TCP_HIT:
+ case LOG_TCP_REFRESH_HIT:
+ case LOG_TCP_REFRESH_FAIL_HIT:
+ case LOG_TCP_IMS_HIT:
+ case LOG_TCP_MEM_HIT:
+ case LOG_TCP_OFFLINE_HIT:
+ enter_suid();
+ if (setsockopt(fd, IPPROTO_IP, IP_OPTIONS, my_options, 4 ) < 0)
+ {
+ debug(50, 1) ("setsockopt(IP_OPTIONS) on FD %d: %s\n", fd,
xstrerror());
+ }
+
+ leave_suid();
+ break;
+ default:
+ break;
+ }
+ /* <----- End of ZPH */
if (Config.onoff.log_mime_hdrs) {
size_t k;
if ((k = headersEnd(buf, size))) {
--
Best regards,
Denis mailto:[EMAIL PROTECTED]
=====================================================================
If you would like to unsubscribe from this list send message to
[EMAIL PROTECTED] with "unsubscribe oops" in message body.
Archive is accessible on http://lists.paco.net/oops-rus/