Jump to content
Калькуляторы

bridge из intel 82599

Добрый день.

Был себе роутер на базе двухпортовой intel 82599 и Xeon E5645 с CentOs 6.2. Нормально считал и шейпил трафик до 4Gbps.

Ситуация изменилась, возникло желание переделать его в bridge (для тех же целей - подсчёт и ограничение скорости).

Вначале пытались сделать самый простой вариант - просто тупой двухпортовый бридж (iptables остановлен, никаких шейперов). Пускаем трафик порядка 1Gbps - и ifconfig показывает огромное к-во "RX dropped", ethtool - такое же к-во rx_missed_errors. И что самое обидное - это при почти нулевой загрузке CPU.

 

При помощи синтетических тестов и pktgen разобрались, что дропы исчезают, если не прибивать прерывания сетевой к разным cpu. То есть, все прерывания на одном cpu - всё ок. Или прерывания разнесены по cpu, но синтетический трафик попадает в одну очередь (pktgen без флагов IPDST_RND или IPSRC_RND) - тоже всё ок. Но если прерывания разнесены и трафик разнообразный - то сплошные дропы (опять же, при почти нулевой загрузке cpu).

 

Как можно решить такую проблему с multi-queue и bridge?

Share this post


Link to post
Share on other sites

Очень похоже, что забивается один проц.

На очереди нормально делится поток при Л3. По Л2 деления нет, возможно в этом причина?

Share this post


Link to post
Share on other sites

В том то и дело, что судя по top и mpstat - загрузка любого из ядер не превышает 5%.

 

Наверно, я всё-таки неправильно распределяю прерывания от сетевых на cpu.

У кого используется линуксовый бридж - по какой схеме TxRx очереди прибиты к процессорам?

Edited by OKyHb

Share this post


Link to post
Share on other sites

OKyHb

Как настроено ядро для использования этой сетевой? Там есть очень много тонкостей, хотя они все описаны в документации, но все же.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.