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

* Re: [Comm] kernel: Neighbour table overflow.
  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
  0 siblings, 2 replies; 12+ messages in thread
From: Dmitry Lebkov @ 2003-10-26 23:30 UTC (permalink / raw)
  To: community

Доброго времени суток,


Гуглить по фразе 'Neighbour table overflow', а потом крутит

net.ipv4.neigh.default.gc_thresh1 = 
net.ipv4.neigh.default.gc_thresh2 = 
net.ipv4.neigh.default.gc_thresh3 = 

(текуще установки смотреть с помощью 'sysctl -a')


--
WBR, Dmitry Lebkov


On Mon, 27 Oct 2003 01:58:37 +0300
"Pavel S. Khmelinsky" <hmepas@yauza.ru> wrote:

> Тут недавно после подключения к серверу еще одного интерфейса с 
> кучей пользователей в логи начало сыпаться примерно следующие:
> 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.: Интересно... А у бзди такие проблемы есть?
> 
> _______________________________________________
> Community mailing list
> Community@altlinux.ru
> http://www.altlinux.ru/mailman/listinfo/community




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

* Re: [Comm] kernel: Neighbour table overflow.
  2003-10-26 23:30 ` Dmitry Lebkov
@ 2003-10-27  0:06   ` Pavel S. Khmelinsky
  2003-10-27  8:11   ` Shawkat Nizamov
  1 sibling, 0 replies; 12+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-27  0:06 UTC (permalink / raw)
  To: community

Dmitry Lebkov wrote:
> Доброго времени суток,
> 
> 
> Гуглить по фразе 'Neighbour table overflow', а потом крутит
> 
> net.ipv4.neigh.default.gc_thresh1 = 
> net.ipv4.neigh.default.gc_thresh2 = 
> net.ipv4.neigh.default.gc_thresh3 = 
> 
> (текуще установки смотреть с помощью 'sysctl -a')
Спасибо большое! Значит все таки есть выход в /proc
А гуглить я гулил. Не ужто я б сорцы полез не погуглив? ;)
Балбес конечно, но не настолько. Еще раз спасибо!

> 
> 
> --
> WBR, Dmitry Lebkov
> 
> 
> On Mon, 27 Oct 2003 01:58:37 +0300
> "Pavel S. Khmelinsky" <hmepas@yauza.ru> wrote:
> 
> 
>>Тут недавно после подключения к серверу еще одного интерфейса с 
>>кучей пользователей в логи начало сыпаться примерно следующие:
>>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.: Интересно... А у бзди такие проблемы есть?
>>
>>_______________________________________________
>>Community mailing list
>>Community@altlinux.ru
>>http://www.altlinux.ru/mailman/listinfo/community
> 
> 
> 
> _______________________________________________
> Community mailing list
> Community@altlinux.ru
> http://www.altlinux.ru/mailman/listinfo/community
> 



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

* Re: [Comm] kernel: Neighbour table overflow.
  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:27     ` Pavel S. Khmelinsky
  1 sibling, 2 replies; 12+ messages in thread
From: Shawkat Nizamov @ 2003-10-27  8:11 UTC (permalink / raw)
  To: community

Сюрприз - утром натолкнулся на такое же - МДК9.0. 
Раньше ничего подобного не было.    

> net.ipv4.neigh.default.gc_thresh1 =
> net.ipv4.neigh.default.gc_thresh2 =
> net.ipv4.neigh.default.gc_thresh3 =
>
> (текуще установки смотреть с помощью 'sysctl -a')

Покрутил. Увеличил в 4 раза. Все равно эти сообщения вываливаются. 




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

* Re: [Comm] kernel: Neighbour table overflow.
  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:27     ` Pavel S. Khmelinsky
  1 sibling, 1 reply; 12+ messages in thread
From: Shawkat Nizamov @ 2003-10-27  8:23 UTC (permalink / raw)
  To: community

> > net.ipv4.neigh.default.gc_thresh1 =
> > net.ipv4.neigh.default.gc_thresh2 =
> > net.ipv4.neigh.default.gc_thresh3 =

Увеличил до 2048/4096/8192 соответственно. Все равно ошибки вываливаются. 

В сети всего около 400 компов, раньше с установками 128/512/1024 все работало. 

В чем может быть дело ? "Шумящая" сетевуха ?


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

* Re: [Comm] kernel: Neighbour table overflow.
  2003-10-27  8:11   ` Shawkat Nizamov
  2003-10-27  8:23     ` Shawkat Nizamov
@ 2003-10-27  8:27     ` Pavel S. Khmelinsky
  2003-10-27  8:48       ` Shawkat Nizamov
  1 sibling, 1 reply; 12+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-27  8:27 UTC (permalink / raw)
  To: community

Shawkat Nizamov wrote:
> Сюрприз - утром натолкнулся на такое же - МДК9.0. 
> Раньше ничего подобного не было.    
> 
> 
>>net.ipv4.neigh.default.gc_thresh1 =
>>net.ipv4.neigh.default.gc_thresh2 =
>>net.ipv4.neigh.default.gc_thresh3 =
>>
>>(текуще установки смотреть с помощью 'sysctl -a')
> 
> 
> Покрутил. Увеличил в 4 раза. Все равно эти сообщения вываливаются. 
А у меня перестало ;)



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

* Re: [Comm] kernel: Neighbour table overflow.
  2003-10-27  8:23     ` Shawkat Nizamov
@ 2003-10-27  8:33       ` Pavel S. Khmelinsky
  2003-10-27  8:39         ` Shawkat Nizamov
  0 siblings, 1 reply; 12+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-27  8:33 UTC (permalink / raw)
  To: community

Shawkat Nizamov wrote:
>>>net.ipv4.neigh.default.gc_thresh1 =
>>>net.ipv4.neigh.default.gc_thresh2 =
>>>net.ipv4.neigh.default.gc_thresh3 =
> 
> 
> Увеличил до 2048/4096/8192 соответственно. Все равно ошибки вываливаются. 
> 
> В сети всего около 400 компов, раньше с установками 128/512/1024 все работало. 
> 
> В чем может быть дело ? "Шумящая" сетевуха ?
Если вопрос дуратский -- не обижаейтесь. ;%) Настройки эти точно 
обновлились?
cat /proc/sys/net/ipv4/neigh/default/gc_thresh1
cat /proc/sys/net/ipv4/neigh/default/gc_thresh2
cat /proc/sys/net/ipv4/neigh/default/gc_thresh3
Точно те числа которые Вы задавали?



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

* Re: [Comm] kernel: Neighbour table overflow.
  2003-10-27  8:33       ` Pavel S. Khmelinsky
@ 2003-10-27  8:39         ` Shawkat Nizamov
  0 siblings, 0 replies; 12+ messages in thread
From: Shawkat Nizamov @ 2003-10-27  8:39 UTC (permalink / raw)
  To: community

> Настройки эти точно
> обновлились?
> cat /proc/sys/net/ipv4/neigh/default/gc_thresh1
> cat /proc/sys/net/ipv4/neigh/default/gc_thresh2
> cat /proc/sys/net/ipv4/neigh/default/gc_thresh3
> Точно те числа которые Вы задавали?

Да - я проверял. значения установились. 



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

* Re: [Comm] kernel: Neighbour table overflow.
  2003-10-27  8:27     ` Pavel S. Khmelinsky
@ 2003-10-27  8:48       ` Shawkat Nizamov
  2003-10-27  8:56         ` Pavel S. Khmelinsky
  0 siblings, 1 reply; 12+ messages in thread
From: Shawkat Nizamov @ 2003-10-27  8:48 UTC (permalink / raw)
  To: community

> > Покрутил. Увеличил в 4 раза. Все равно эти сообщения вываливаются.
>
> А у меня перестало ;)

В одной болгароязычной рассялке нашел совет запустить arp -avn.
Так вот, эта команда вернула мне несколько тысяч мак-адресов и айпи-адресов на 
интерфейсе eth0, смотрящем в интернет.  Причем сервак я час назад  
перезагружал.  И адреса - не из сети моего провайдера. Что происходит ?


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

* Re: [Comm] kernel: Neighbour table overflow.
  2003-10-27  8:48       ` Shawkat Nizamov
@ 2003-10-27  8:56         ` Pavel S. Khmelinsky
  2003-10-27  9:02           ` Shawkat Nizamov
  0 siblings, 1 reply; 12+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-27  8:56 UTC (permalink / raw)
  To: community

Shawkat Nizamov wrote:
>>>Покрутил. Увеличил в 4 раза. Все равно эти сообщения вываливаются.
>>
>>А у меня перестало ;)
> 
> 
> В одной болгароязычной рассялке нашел совет запустить arp -avn.
> Так вот, эта команда вернула мне несколько тысяч мак-адресов и айпи-адресов на 
> интерфейсе eth0, смотрящем в интернет.  Причем сервак я час назад  
> перезагружал.  И адреса - не из сети моего провайдера. Что происходит ?
Пинайте провайдера ;) Судя по всему это он виноват в Ваших 
проблемах, если арпы до Вас пропускает (proxyarp это ражется 
называется)
> _______________________________________________
> Community mailing list
> Community@altlinux.ru
> http://www.altlinux.ru/mailman/listinfo/community
> 



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

* Re: [Comm] kernel: Neighbour table overflow.
  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
  0 siblings, 1 reply; 12+ messages in thread
From: Shawkat Nizamov @ 2003-10-27  9:02 UTC (permalink / raw)
  To: community

> Пинайте провайдера ;) Судя по всему это он виноват в Ваших
> проблемах, если арпы до Вас пропускает (proxyarp это ражется
> называется)

Лучше мне себя попинать %-)
Все произошло из-за неправильной настройки масок/бродкастов интерфейcа eth0. 




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

* Re: [Comm] kernel: Neighbour table overflow. [JT]
  2003-10-27  9:02           ` Shawkat Nizamov
@ 2003-10-27  9:06             ` Pavel S. Khmelinsky
  0 siblings, 0 replies; 12+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-27  9:06 UTC (permalink / raw)
  To: community

Shawkat Nizamov wrote:
>>Пинайте провайдера ;) Судя по всему это он виноват в Ваших
>>проблемах, если арпы до Вас пропускает (proxyarp это ражется
>>называется)
> 
> 
> Лучше мне себя попинать %-)
> Все произошло из-за неправильной настройки масок/бродкастов интерфейcа eth0. 
Все хорошо, что хорошо кончается ;)



^ 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