Сегодня я познал всю боль, тлен и пиздец Питухона3.7.
Оказывается гораздо быстрее и менее ресурсоемко, нежели по netlink напрямую спросить маршруты у ядра и немного их поправить, будет:
- Вызвать subprocess с ip -o -br route show table XXX
- Поймать stdout
- Прогнать несколько сотен тысяч строк выхлопа через pyparsing и выдрать оттуда префиксы в строковом виде
- Распарсить строки в нормальное числовое представление
- Посчитать diff этих префиксов и актуального свежего списка
- Сгенерировать пачку команд для обновления и записать их в файлик
- Вызвать subprocess с ip -batch [filename]
Причем разница с скорости отработки и объеме выжираемой памяти измеряется порядками.
Всю жизнь я прожил во лжи.
Вырезать гланды через жопу удобно и эффективно.
sexst
Alexandr
Опять?
ntwrk_bot
Добро пожаловать! Ознакомиться с правилами группы можно по ссылке.