asid2006 Опубликовано 19 ноября, 2015 · Жалоба Доброго времени суток, коллеги! Есть сервер на CentOS, ядро 3.10.84-1.el6.elrepo.x86_64. На серваке происходит шейпинг абонентского трафика. Шейпинг делается с помощью tc с использованием hash-таблиц. Заметил, что некоторое время назад при добавлении фильтра командой: tc filter add dev em2 protocol ip parent 1:0 u32 ht 10:d8: match ip dst 10.0.10.216/32 flowid 1:1772 стала вылезать ошибка: RTNETLINK answers: File exists We have an error talking to the kernel В интернете, в частности на форуме видел подобные сообщения в разных темах, но решения так и не было найдено. Подскажите, может, кто сталкивался? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 20 ноября, 2015 · Жалоба Если ядро говорит что File exists - значит такой объект уже есть. В вашем случае фильтр с теми же параметрами(parent, ht, match ip) уже существует, лечите скрипт. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
asid2006 Опубликовано 20 ноября, 2015 · Жалоба Если ядро говорит что File exists - значит такой объект уже есть. В вашем случае фильтр с теми же параметрами(parent, ht, match ip) уже существует, лечите скрипт. Такого нет. Если поменять эти параметры, ошибка остаётся. Если убрать несколько применённых фильтров, можно будет добавить столько же Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 20 ноября, 2015 · Жалоба Скорее всего место в каких то хешмассивах кончилось. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
photon Опубликовано 21 ноября, 2015 (изменено) · Жалоба Был у меня похожий вопрос к программистам ядра несколько лет назад. Сказали, что нужно всегда указывать handle и лучше использовать replace вместо add. tc filter replace dev em2 parent 1: handle 10:d8:800 u32 ht 10:d8: match ip dst 10.0.10.216/32 flowid 1:1772 Изменено 21 ноября, 2015 пользователем photon Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
asid2006 Опубликовано 21 ноября, 2015 · Жалоба Был у меня похожий вопрос к программистам ядра несколько лет назад. Сказали, что нужно всегда указывать handle и лучше использовать replace вместо add. tc filter replace dev em2 parent 1: handle 10:d8:800 u32 ht 10:d8: match ip dst 10.0.10.216/32 flowid 1:1772 В понедельник попробую, спасибо! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
asid2006 Опубликовано 25 ноября, 2015 · Жалоба Был у меня похожий вопрос к программистам ядра несколько лет назад. Сказали, что нужно всегда указывать handle и лучше использовать replace вместо add. tc filter replace dev em2 parent 1: handle 10:d8:800 u32 ht 10:d8: match ip dst 10.0.10.216/32 flowid 1:1772 В понедельник попробую, спасибо! Похоже, что всё работает! Спасибо! :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...