Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ограничение трафика через Ethernet Bridge
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
vgovseychuk
Привет, Электроникс

Завел я на своей кастомной плате c i.MX287 OpenWRT. На плате 2 Ethernet 100Мбит, объединенные в мост.
Все работает на малых скоростях, но как только начинаю тестировать скорость передачи по мосту или перекачивать большие файлы, вся система умирает.

Тестировал iperf3:
10Мбит/полный дуплекс - норм, TCP и UDP по 9,5Мбит дают.
100Мбит/полный дуплекс - UDP прокачивает 95Мбит/с, TCP кладет систему
100Мбит/полудуплекс - UDP прокачивает 95Мбит/с, TCP - 75Мбит

На больших скоростях загруз проца почти 100 (95% sirq)
Лог падения приложу ниже(парсер не срабатывает).

Отсюда вопрос: как можно притормаживать Ethernet, чтобы избежать переполнения очереди?

P.S. Как я понял, проблема эта давняя, но нигде не могу найти нормального решения.
Размеры очереди и обрезку кадров в драйвере менял - не помогло. Спасает только ограничение скорости, но 10 Мбит или полудуплекс не хочется оставлять.
vgovseychuk
Поставил traffic control, выставил ограничение 30Мбит. Вроде, не падает.
Скрипт:
Код
tc qdisc add dev eth0 root handle 1:0 hfsc default 1
tc class add dev eth0 parent 1:0 classid 1:1 hfsc sc rate 30mbit ul rate 30mbit
tc qdisc add dev eth1 root handle 1:0 hfsc default 1
tc class add dev eth1 parent 1:0 classid 1:1 hfsc sc rate 30mbit ul rate 30mbit

Еще идеи и критика приветствуются.
Tarbal
В одной из недавних тем кто-то давал ссылку на статью на хабре как сделать интернет доступ значительно быстрее. Поищите может это даст вам идеи.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.