asid2006 Posted November 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 В интернете, в частности на форуме видел подобные сообщения в разных темах, но решения так и не было найдено. Подскажите, может, кто сталкивался? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kayot Posted November 20, 2015 Если ядро говорит что File exists - значит такой объект уже есть. В вашем случае фильтр с теми же параметрами(parent, ht, match ip) уже существует, лечите скрипт. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
asid2006 Posted November 20, 2015 Если ядро говорит что File exists - значит такой объект уже есть. В вашем случае фильтр с теми же параметрами(parent, ht, match ip) уже существует, лечите скрипт. Такого нет. Если поменять эти параметры, ошибка остаётся. Если убрать несколько применённых фильтров, можно будет добавить столько же Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted November 20, 2015 Скорее всего место в каких то хешмассивах кончилось. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
photon Posted November 21, 2015 (edited) Был у меня похожий вопрос к программистам ядра несколько лет назад. Сказали, что нужно всегда указывать 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 Edited November 21, 2015 by photon Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
asid2006 Posted November 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 В понедельник попробую, спасибо! Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
asid2006 Posted November 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 В понедельник попробую, спасибо! Похоже, что всё работает! Спасибо! :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...