Дополнение.

Хост - виртуалка под vmware esxi.

dev.em.0.%desc: Intel(R) PRO/1000 Legacy Network Connection 1.0.6
dev.em.0.%driver: em
dev.em.0.rx_int_delay: 1000
dev.em.0.tx_int_delay: 1000
dev.em.0.rx_abs_int_delay: 4000
dev.em.0.tx_abs_int_delay: 4000
dev.em.0.itr: 488
dev.em.0.rx_processing_limit: 4096
dev.em.0.flow_control: 3
dev.em.0.mbuf_alloc_fail: 0
dev.em.0.cluster_alloc_fail: 0
dev.em.0.dropped: 0


> -----Original Message-----
> From: owner-free...@uafug.org.ua [mailto:owner-free...@uafug.org.ua]
> On Behalf Of Golub Mikhail
> Sent: Wednesday, March 04, 2015 11:17 AM
> To: freebsd@uafug.org.ua
> Subject: [freebsd] FreeBSD 10.1: PF bug?
> 
> Добрый день.
> 
> Имеем FreeBSD 10.1, один сетевой интерфейс.
> Ядро собрано с поддержкой altq.
> options         ALTQ
> options         ALTQ_CBQ        # Class Bases Queuing (CBQ)
> options         ALTQ_RED        # Random Early Detection (RED)
> options         ALTQ_RIO        # RED In/Out
> options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)
> options         ALTQ_PRIQ       # Priority Queuing (PRIQ)
> options         ALTQ_NOPCC      # Required for SMP build
> 
> Сервер выполняет роль прокси-сервера.
> На нем работает squid, который согласно правил метит пакеты (по сути
> две
> очереди - низкий приоритет и высокий).
> Правила PF приведены ниже.
> 
> Суть бага в том, что при закачке файла через прокси случайно
> обрываются
> закачки.
> Internet Explorer выдает сообщение "закачка прервана". Если
> перезапустить
> закачку - типа скачивание закончилось успешно, но размер файла
> гораздо
> меньше.
> Для теста качал файл со своего web-ресурса.
> 
> Нагрузка на прокси не сильно большая ...
> Порядка 15 000 пакетов в секунду на интерфейсе, скорость до 100
> Мбит/сек.
> 
> Что касается сквида - кеш отключен. Сквид используется только для
> контроля
> доступа и логирования http-запросов.
> client_http.requests = 260.499224/sec
> server.all.errors = 0.000000/sec
> В cache.log ошибок нет.
> Экспериментально выяснил, что ошибка не сквида - отключил pf (pfctl -
> d) и
> обрывы прекратились.
> 
> Вопрос вот в чем.
> Что-то не так в правилах PF?
> Или в этой версии FreeBSD есть баг в altq?
> 
> Правила PF:
> inet="100Mb"
> altq on $ext_if cbq bandwidth $inet queue { ssh, Default, High, Low }
> queue Default on $ext_if bandwidth 15% priority 1 cbq ( red , default ,
> borrow )
> queue ssh on $ext_if bandwidth 5% priority 1 cbq ( red , borrow )
> queue High on $ext_if bandwidth 40% priority 3 cbq ( red , borrow )
> queue Low on $ext_if bandwidth 40% priority 2 cbq ( red , borrow )
> 
> pass out quick on $ext_if proto {tcp} from any port 22 to any no state
queue
> (ssh)
> pass out quick on $ext_if proto {tcp} from any to any tos 0x31 no state
> queue (High)
> pass out quick on $ext_if proto {tcp} from any to any tos 0x32 no state
> queue (Low)
> 
> 
> --
> Голуб Михаил

Ответить