[d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add)

Pavel S. Khmelinsky hmepas at yauza.ru
Sun Oct 19 21:33:17 MSD 2003


Есть сеть. Каждый пользователь этой сети прописан в файл со 
строками вида:

<ip_addr> <MAC>

Периодически на этот файл напускается скрипт, который по этим 
строкам генерирует настройки файервола и обновляет arp таблицу ядра.

Сегодня днем программно отвалилась целая сеть, в логах вижу:
Oct 19 20:56:31 portal kernel: Neighbour table overflow.
Oct 19 20:56:37 portal kernel: NET: 41 messages suppressed.

nmap либо вообще ничего не отображает либа ругает на sendto. Как 
ругается к сожалению не помню.

при этом:
[root at portal root]# ip nei show dev eth0 | wc -l
     458
[root at portal root]# ip nei show dev eth2 | wc -l
     104
[root at portal root]# ip nei flush dev eth0
[root at portal root]# ip nei flush dev eth2
Nothing to flush.

Т.е. один ифейс флашится а другой нет при этом оба не пустые
ip nei show dev ethX выдает по строчке
$ip lladdr $mac nud permanent
на каждого пользователя.

При этом не понятно какой может быть Neighbour table overflow 
если на два и-фейса всего с полтыщи записей?

Ребутнул сервер  все заработало. Понятно что это связанно с моим 
скриптом, решил проверить раз по десять его прогнал -- 
повторилось. Теперь о том что из себя предтавляет скрипт:

Каждый пользователь добавляется строчкой
ip nei replace to $ip lladdr $mac dev $if nud permanent
Т.е. если нет добавляется если есть то меняется.
Если у пользователя в файле задан один тольк ИП, то запускается
ip nei del to $ip dev $if
Независимо от того был ли он добавлен или нет. Это нужно для того 
чтобы пользователя можно было отвязать от мака. Эта строчка 
естественно выдает ощибку если такой записи не было (может из за 
этого вся чехарда происходит)

Это все так для справки. В общем как бы там ни работал мой скрипт 
поведение ядра все равно странное... Может бага?
Может измение арп таблицы както протоколируется и именно из-за 
этого происходит переполнение?

Прошу кого-нибудь сведущего прокомментировать.




More information about the devel-kernel mailing list