ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] kernel: Neighbour table overflow.
@ 2003-10-26 22:58 Pavel S. Khmelinsky
  2003-10-26 23:30 ` Dmitry Lebkov
  0 siblings, 1 reply; 12+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-26 22:58 UTC (permalink / raw)
  To: community

Тут недавно после подключения к серверу еще одного интерфейса с 
кучей пользователей в логи начало сыпаться примерно следующие:
kernel: Neighbour table overflow.
Клиентов порядка 400 все они статически и жестко привязываются к 
своим макам командой:
ip nei replace to $ip lladdr $mac dev eth2 nud permanent
Причем делает это скрипт, который периодически перезапускается.
Причем чем чаще его перезапускать тем быстрее с момента загрузки 
начинает сыпаться эта дрянь.

Пробовал вопросить в kernel-devel -- не вышло. Сложилось ощущение 
что ответ знают почти все, но в воспитательных целях молчат %)

Возился и так и сяк, прочитал все что нашел про настройки /proc 
которые могли бы повлиять на размер арп таблицы.... Кароче пошел 
на крайнюю меру -- полез в ядро и вот до чего довело мое 
небольшое расследование:

Есть такая структура:

net/ipv4/arp.c:
struct neigh_table arp_tbl = {
         family:         AF_INET,
         entry_size:     sizeof(struct neighbour) + 4,
	....
         gc_thresh3:     1024,
};

Дошел я до нее по цепочке:
net/ipv4/route.c:rt_intern_hash ->
net/ipv4/arp.c:arp_bind_neighbour ->
include/net/neighbour.h:__neigh_lookup_errno ->
net/core/neighbour.c:neigh_create ->
net/core/neighbour.c:neigh_alloc там есть код сравнения 
gc_thresh3 и entries, дальше глянул где задается это значение.


При создании новой записи (neigh_create ф-ия) вызывается ф-ия
neigh_alloc в которой есть проверка tbl->entries > 
tbl->gc_thresh3 т.е. сравнивается кол-во существующих записей с 
этим самым числом. Хотя есть и другие проверки и кандитаты в 
возможные причины появления сообщения kernel: Neighbour table 
overflow. мне почему-то кажется что срабатывает именно эта 
проверка......
И что? Да ничего
gc_thresh3:     1024
и все. Константа.... Ни тебе выхода в #define ни в /proc ....
1024 роста на растоянии прямой видимости (имеется ввиду в одном 
физическом эзернет сегменте) это чего предел что-ли?!

Вобщем гуру, развейте мои сомнения скажите что я где-то чего-то 
недоконфигурил или еще чего-то. Следующим шагом будет пересборка 
ядра, а делать мне это на боевых серверах ой как не охота а нигде 
более это дело у меня не проявляется.

P.S.: Интересно... А у бзди такие проблемы есть?



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2003-10-27  9:06 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-26 22:58 [Comm] kernel: Neighbour table overflow Pavel S. Khmelinsky
2003-10-26 23:30 ` Dmitry Lebkov
2003-10-27  0:06   ` Pavel S. Khmelinsky
2003-10-27  8:11   ` Shawkat Nizamov
2003-10-27  8:23     ` Shawkat Nizamov
2003-10-27  8:33       ` Pavel S. Khmelinsky
2003-10-27  8:39         ` Shawkat Nizamov
2003-10-27  8:27     ` Pavel S. Khmelinsky
2003-10-27  8:48       ` Shawkat Nizamov
2003-10-27  8:56         ` Pavel S. Khmelinsky
2003-10-27  9:02           ` Shawkat Nizamov
2003-10-27  9:06             ` [Comm] kernel: Neighbour table overflow. [JT] Pavel S. Khmelinsky

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git