Jump to content
Калькуляторы

Проблема с tc filter add RTNETLINK answers: File exists

Доброго времени суток, коллеги! Есть сервер на 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

 

В интернете, в частности на форуме видел подобные сообщения в разных темах, но решения так и не было найдено. Подскажите, может, кто сталкивался?

Share this post


Link to post
Share on other sites

Если ядро говорит что File exists - значит такой объект уже есть. В вашем случае фильтр с теми же параметрами(parent, ht, match ip) уже существует, лечите скрипт.

Share this post


Link to post
Share on other sites

Если ядро говорит что File exists - значит такой объект уже есть. В вашем случае фильтр с теми же параметрами(parent, ht, match ip) уже существует, лечите скрипт.

Такого нет. Если поменять эти параметры, ошибка остаётся. Если убрать несколько применённых фильтров, можно будет добавить столько же

Share this post


Link to post
Share on other sites

Был у меня похожий вопрос к программистам ядра несколько лет назад. Сказали, что нужно всегда указывать 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 by photon

Share this post


Link to post
Share on other sites

Был у меня похожий вопрос к программистам ядра несколько лет назад. Сказали, что нужно всегда указывать 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

 

В понедельник попробую, спасибо!

Share this post


Link to post
Share on other sites

Был у меня похожий вопрос к программистам ядра несколько лет назад. Сказали, что нужно всегда указывать 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

 

В понедельник попробую, спасибо!

 

Похоже, что всё работает! Спасибо! :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.