Привет всем В рассылке 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/