Ответ 1
Хотя правила формирования tc для входа очень ограничены, вы можете создать виртуальный интерфейс и применить к нему правила выхода, как описано здесь:
https://serverfault.com/questions/350023/tc-ingress-policing-and-ifb-mirroring
(Возможно, вам не нужен виртуальный интерфейс, если ваши виртуальные машины уже используют виртуальные интерфейсы, и вы можете применить к ним tc.)
Предостережение с формированием входящего потока заключается в том, что на входящий поток может потребоваться много времени, чтобы реагировать на ваши действия по формированию из-за всех буферов в маршрутизаторах между источником потока и вашим интерфейсом. И пока поток не отреагирует на уменьшенный предел, он продолжает наводнять ваш нисходящий поток! Тем временем вы будете выбрасывать хорошие пакеты, уменьшая пропускную способность.
Аналогично, когда поток с высоким приоритетом заканчивается или падает, потребуется, чтобы поток с низким приоритетом возвращался к полной скорости. Это может быть довольно разрушительным, если это случается часто!
Результатом этого является то, что динамическое форматирование может работать по желанию для групп устойчивых скоростных долгоживущих потоков, но будет иметь мало преимуществ для короткоживущих или изменяющихся скоростей с высокоприоритетными потоками, когда ваш нисходящий поток затоплен: приоритетные потоки просто затянутся слишком долго, чтобы отступить. Однако классификация и ограничение пакетов с низким и средним приоритетом до статической скорости где-то ниже вашего максимального снижения может быть полезна, чтобы гарантировать по крайней мере некоторое пространство для высокоприоритетных данных.
У меня нет никаких данных об этом, и латентность значительно улучшилась со дня ADSL. Поэтому я думаю, что это может стоить тестирования, если низкая латентность или высокая пропускная способность высокоприоритетных пакетов - это то, чего вы хотите больше, чем общая пропускная способность, и вы можете жить с ограничениями выше.
Как упоминает Janoszen и ADSL HOWTO, потоки могут реагировать гораздо быстрее, если мы можем настроить размер окна TCP как часть формирования.
Поиск TLDP для дальнейших исследований.