srg555 Posted January 19, 2013 Всем доброго времени суток. Хотелось бы обсудить вопросы 8021p в linux. Начну с задачи. Имеется pppoe bras на linux-е (accel-ppp, но это не принципиально для транзитного трафика). В аплинк bras-а приходит маркированный трафик(на L3(dscp), но можно сделать и L2 окраску(8021p)) - вышестоящие устройства классифицируют "важный" и окрашивают его. На сети есть несколько слабых мест(несколько 100мегабитных линков, которые иногда упираются в полку в ЧНН), свитчи управляемые и умеют выстраивать очереди на основе 8021p. Первый вопрос в том, как заставить linux bras сделать dscp-cos mutation для приходящих пакетов из аплинк-интерфейса и уходящих в интерфейс ppp или же сохранить приходящую из аплинк-интерфейса 8021p-окраску. Второй вопрос в том как выставить 8021p, отличный от нуля для сигнализационного трафика(pado, lcp и т.п.), тут я так понимаю требуется модификация софта, обрабатывающего сигнализацию(accel-ppp/rp-pppoe pppoe-server) или я не прав? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted January 21, 2013 Вариант - матчить пакеты по паттерну иптейблсом, и отфильтрованным пакетам присваивать qos классы... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
srg555 Posted January 21, 2013 Вариант - матчить пакеты по паттерну иптейблсом, и отфильтрованным пакетам присваивать qos классы... Т.е. вы предлагаете с помощью iptables устанавливать FWMARK, а потом на выходе на основе FWMARK выставлять 8021p? Проблема в том, что iptables не умеет выставлять 8021p(т.к. это относится к L2, а не к L3) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted January 22, 2013 Таки да, попутал... Тогда - свой модуль для нетфильтра писать ИМХО только... готовое - даже в голову не приходит. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
srg555 Posted January 22, 2013 netfilter не работает на L2 в принципе. если я правильно понял, то как модуль для netfilter это не реализуемо ebtables умеет матчить по 8021p, но не умеет устанавливать :( неужели никому не приходило в голову приоритезировать non-IP трафик(pppoe) на linux bras-е? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
orlik Posted January 22, 2013 а ebtables не поможет ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vurd Posted January 22, 2013 1. Расширять узкие магистрали. 2. Сделать L3 DSCP to L2 COS на коммутаторе в который вы воткнули свой linux bras. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted January 23, 2013 Устанавливать можно так: http://nuclearcat.com/mediawiki/index.php/802.1p_on_linux Я очень давно заметки делал себе :) Правда скрестить ужа с ежом будет непросто.Нюанс еще - интерфейс должен быть 8021q вланом, если не ошибаюсь (чтобы был VLAN тег). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
srg555 Posted January 23, 2013 1. Расширять узкие магистрали. Спасибо, КЭП :) 2. Сделать L3 DSCP to L2 COS на коммутаторе в который вы воткнули свой linux bras. Это невозможно, т.к. pppoe-трафик не является IP-трафиком и поэтому невозможно использовать L3-маркировку(она "спрятана" за ppp-заголовком). Мало того, даже если предположить, что с помощью некого "глубокого" ACL удастся добраться до DSCP IP-пакета, инкапсулированного в ppp, то сигнализацию(pado и т.п.) тоже надо как-то приоритезировать, а в ней вообще нет IP. Устанавливать можно так: http://nuclearcat.com/mediawiki/index.php/802.1p_on_linux Я очень давно заметки делал себе :) Правда скрестить ужа с ежом будет непросто.Нюанс еще - интерфейс должен быть 8021q вланом, если не ошибаюсь (чтобы был VLAN тег). Спасибо, очень похоже на то, что нужно Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...