ALT Linux kernel packages development
 help / color / mirror / Atom feed
* [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add)
@ 2003-10-19 17:33 Pavel S. Khmelinsky
  2003-10-20  4:46 ` Denis Ovsienko
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-19 17:33 UTC (permalink / raw)
  To: devel-kernel

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

<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@portal root]# ip nei show dev eth0 | wc -l
     458
[root@portal root]# ip nei show dev eth2 | wc -l
     104
[root@portal root]# ip nei flush dev eth0
[root@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
Независимо от того был ли он добавлен или нет. Это нужно для того 
чтобы пользователя можно было отвязать от мака. Эта строчка 
естественно выдает ощибку если такой записи не было (может из за 
этого вся чехарда происходит)

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

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



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

* Re: [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add)
  2003-10-19 17:33 [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add) Pavel S. Khmelinsky
@ 2003-10-20  4:46 ` Denis Ovsienko
  2003-10-20 10:29   ` Pavel S. Khmelinsky
  2003-10-20 10:24 ` Pavel S. Khmelinsky
  2003-10-21 20:04 ` Pavel S. Khmelinsky
  2 siblings, 1 reply; 6+ messages in thread
From: Denis Ovsienko @ 2003-10-20  4:46 UTC (permalink / raw)
  To: ALT Linux kernel packages development


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

[...]
> Т.е. один ифейс флашится а другой нет при этом оба не пустые
> ip nei show dev ethX выдает по строчке
> $ip lladdr $mac nud permanent
> на каждого пользователя.
flush работает не так, как можно угадать с первого раза. Смотрите в
/usr/share/iproute2*/ip-cref.ps, page 20, раздел 6.4

>
> При этом не понятно какой может быть Neighbour table overflow
> если на два и-фейса всего с полтыщи записей?
Здест должны быть необходимые сведения по поводу таблицы neighbors.
http://gazette.linux.ru.net/rus/articles/index-ipsysctl-tutorial.html

[...]
> Это все так для справки. В общем как бы там ни работал мой скрипт
> поведение ядра все равно странное... Может бага?
> Может измение арп таблицы както протоколируется и именно из-за
> этого происходит переполнение?
Может, и бага. Я такого не наблюдал, не было столько машин на интерфейсе.

--
    DO4-UANIC


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

* Re: [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add)
  2003-10-19 17:33 [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add) Pavel S. Khmelinsky
  2003-10-20  4:46 ` Denis Ovsienko
@ 2003-10-20 10:24 ` Pavel S. Khmelinsky
  2003-10-21 20:04 ` Pavel S. Khmelinsky
  2 siblings, 0 replies; 6+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-20 10:24 UTC (permalink / raw)
  To: ALT Linux kernel packages development

Сории, забыл самое главное ;)
# uname -a
Linux ******** 2.4.20-alt10-smp #1 SMP Thu Sep 25 15:23:17 MSD 
2003 i686 unknown unknown GNU/Linux

Pavel S. Khmelinsky wrote:
> Есть сеть. Каждый пользователь этой сети прописан в файл со строками вида:
> 
> <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@portal root]# ip nei show dev eth0 | wc -l
>     458
> [root@portal root]# ip nei show dev eth2 | wc -l
>     104
> [root@portal root]# ip nei flush dev eth0
> [root@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
> Независимо от того был ли он добавлен или нет. Это нужно для того чтобы 
> пользователя можно было отвязать от мака. Эта строчка естественно выдает 
> ощибку если такой записи не было (может из за этого вся чехарда происходит)
> 
> Это все так для справки. В общем как бы там ни работал мой скрипт 
> поведение ядра все равно странное... Может бага?
> Может измение арп таблицы както протоколируется и именно из-за этого 
> происходит переполнение?
> 
> Прошу кого-нибудь сведущего прокомментировать.
> 
> _______________________________________________
> devel-kernel mailing list
> devel-kernel@altlinux.ru
> http://altlinux.ru/mailman/listinfo/devel-kernel
> 
> 



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

* Re: [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add)
  2003-10-20  4:46 ` Denis Ovsienko
@ 2003-10-20 10:29   ` Pavel S. Khmelinsky
  0 siblings, 0 replies; 6+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-20 10:29 UTC (permalink / raw)
  To: ALT Linux kernel packages development

Denis Ovsienko wrote:
>>Сегодня днем программно отвалилась целая сеть, в логах вижу:
>>Oct 19 20:56:31 portal kernel: Neighbour table overflow.
>>Oct 19 20:56:37 portal kernel: NET: 41 messages suppressed.
> 
> 
> [...]
> 
>>Т.е. один ифейс флашится а другой нет при этом оба не пустые
>>ip nei show dev ethX выдает по строчке
>>$ip lladdr $mac nud permanent
>>на каждого пользователя.
> 
> flush работает не так, как можно угадать с первого раза. Смотрите в
> /usr/share/iproute2*/ip-cref.ps, page 20, раздел 6.4
Ну собсно речь и не о flush совсем, речь о del и replace. Меньше 
всего хотелось бы сейчас в сорцы ядра лезть, т.к. не считаю себя 
kernel developer. Но видимо придеться.

>>При этом не понятно какой может быть Neighbour table overflow
>>если на два и-фейса всего с полтыщи записей?
> 
> Здест должны быть необходимые сведения по поводу таблицы neighbors.
> http://gazette.linux.ru.net/rus/articles/index-ipsysctl-tutorial.html
Почитаю, спасибо за сслыку.
> 
> [...]
> 
>>Это все так для справки. В общем как бы там ни работал мой скрипт
>>поведение ядра все равно странное... Может бага?
>>Может измение арп таблицы както протоколируется и именно из-за
>>этого происходит переполнение?
> 
> Может, и бага. Я такого не наблюдал, не было столько машин на интерфейсе.
Да машин то в общем не много.... Хотя когда было меньше сервер 
стоял месячными аптаймами с точно таким же скриптом и проблем не 
было, это факт. Начались когда я скрипт повесил еще на один ифейс.

Спасибо, за ответ.



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

* Re: [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add)
  2003-10-19 17:33 [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add) Pavel S. Khmelinsky
  2003-10-20  4:46 ` Denis Ovsienko
  2003-10-20 10:24 ` Pavel S. Khmelinsky
@ 2003-10-21 20:04 ` Pavel S. Khmelinsky
  2003-10-21 22:06   ` Denis Ovsienko
  2 siblings, 1 reply; 6+ messages in thread
From: Pavel S. Khmelinsky @ 2003-10-21 20:04 UTC (permalink / raw)
  To: ALT Linux kernel packages development

Pavel S. Khmelinsky wrote:
> Есть сеть. Каждый пользователь этой сети прописан в файл со строками вида:
> 
> <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@portal root]# ip nei show dev eth0 | wc -l
>     458
> [root@portal root]# ip nei show dev eth2 | wc -l
>     104
> [root@portal root]# ip nei flush dev eth0
> [root@portal root]# ip nei flush dev eth2
> Nothing to flush.

Что-то как-то меня проигнорили.... Кроме Дениса никто не 
откликнулся. Ссылки на литературу -- это всегда хорошо, но не 
всегда достаточно хорошо. Ну не кернел я девелопер, на ковыряние 
в ядре у меня уходит уйма времени, которого у _сейчас_ меня нет и 
самостоятельно я проблему решить не могу, но что-то явно не так.
Я бы и рад сам себе помочь и выслать в рассылку патч  с резюме, 
да вот не выходит у меня.

А между тем еще одна ошибка вылезла: при парсинге большого 
количества строк в файервол (iptables) и повторения этого 
процесса довольно часто (флешим цепочки и снова забиваем) 
начинают вылазить вот такие строчки:

iptables: Resource temporarily unavailable

Я так понимаю что это форки? При этом настройки кол-ва доступных 
форков я не нашел и судя по всему это кол-во зависит только от 
кол-ва доступной память. Дык вот памяти предостаточно:

# top -n1 -b
  23:49:18  up 2 days,  2:56,  4 users,  load average: 1,79, 
1,78, 2,48
84 processes: 77 sleeping, 7 running, 0 zombie, 0 stopped
CPU states: 13,8% user, 23,0% system,  0,0% nice,  0,0% iowait, 
63,1% idle
Mem:   254944k av,  142868k used,  112076k free,       0k shrd, 
   7828k buff
         23812k active,              25556k inactive
Swap: 1020088k av,   30924k used,  989164k free 
  29868k cached

Кэш вообще пустой.

Такое на мастере у меня не первый раз. Может я возлагаю на 
дистрибутив непосильные для него задачи?

Одно из двух либо я горбатый, либо люди использующие дистрибутив 
на провайдерских серверах достаточно квалифицированны чтобы 
разбираться в своих проблемах самостоятельно, почему и молчат о них.



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

* Re: [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add)
  2003-10-21 20:04 ` Pavel S. Khmelinsky
@ 2003-10-21 22:06   ` Denis Ovsienko
  0 siblings, 0 replies; 6+ messages in thread
From: Denis Ovsienko @ 2003-10-21 22:06 UTC (permalink / raw)
  To: ALT Linux kernel packages development


> Что-то как-то меня проигнорили.... Кроме Дениса никто не
> откликнулся. Ссылки на литературу -- это всегда хорошо, но не
> всегда достаточно хорошо. Ну не кернел я девелопер, на ковыряние
> в ядре у меня уходит уйма времени, которого у _сейчас_ меня нет и
Я тоже в ядрёные исходники не лазил, но для userspace я сказал бы "утечка
памяти". Можно забросить в lkml, указав, что приложен патч от
netfilter.org, либо прямо в netfilter'овскую рассылку. Хуже не будет.

Вообще интересная ситуация, я вот помню, в ядрах 2.2 до определённой
версии специально сформированный пакет мог сбросить все цепочки
ipchains :-P

--
    DO4-UANIC


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

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

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-19 17:33 [d-kernel] kernel: Neighbour table overflow. (after many ip nei replace and ip nei add) Pavel S. Khmelinsky
2003-10-20  4:46 ` Denis Ovsienko
2003-10-20 10:29   ` Pavel S. Khmelinsky
2003-10-20 10:24 ` Pavel S. Khmelinsky
2003-10-21 20:04 ` Pavel S. Khmelinsky
2003-10-21 22:06   ` Denis Ovsienko

ALT Linux kernel packages development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/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 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
		devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
	public-inbox-index devel-kernel

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


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