Page 1 of 1

Странный лог в реальной системе

Posted: Fri Oct 08, 2010 11:08 pm
by Mario
Я хоть и давно в проекте, но с сетевой частью в Колибри раньше не разбирался практически совсем. Потому тут знаю очень мало и бюду описывать как понял сам.

В общем в Qemu все замечательно рабоатет

Однако при запуске в реальной системе получают бешеную генерацию сообщений в BOARD, которая быстро забивает буфер сообщений (когда BOARD не запущен), либо быстро забивает все место на рамдиске логом.
boardlog.7z (7.61 KiB)
Downloaded 372 times
Загрузка содержимого страничек из сети идет заметно медленнее, чем из Qemu - впрочем не удивительно учитывая как бешено генерируется лог.

Сеть у меня от Эр-Телеком (небезизвестный Дом.ру), подключение через роутер D-Link DIR-320. Добавлю, что при запуске на работе наблюдал такую-же картину: в Qemu все нормально, на реальной машине бешенный лог. Подключение к локалке с доменом, выход в интернет через сервер.

Мне просто уже интересно, это сетевая система Колибри что-то генерирует или извне кто-то сыплет пакетами.

Также на компе стоят две сетевухи (одна на чипсете NVidia MCP-78, а вторая RTL8139 воткнута в PCI) и при подключении кабеля от роутера ко второй (RTL8139), получаю вот такой лог.
3Boardlog.7z (582 Bytes)
Downloaded 379 times
Впрочем - не удивительно, Колибри и не рассчитывалась на две сетевые карты - интересно только как производится выбор какой именно картой пользоваться.

Re: Странный лог в реальной системе

Posted: Sat Oct 09, 2010 2:56 pm
by Asper
Новый сетевой стек, вроде бы позволяет работать с несколькими сетевыми картами одновременно.
http://wiki.kolibrios.org/wiki/New_stack
Тестовый дистрибутив от hidnplayr http://ftp.kolibrios.org/users/hidnplayr/net.7z

Re: Странный лог в реальной системе

Posted: Sun Oct 10, 2010 11:34 pm
by Nable
Шикарно, может, можно доживу до того что роутер переведу на Колибри (да, x86 комп с двумя (иногда тремя) сетевухами это отличный роутер, и даже файрволл, и ещё по мелочам). Жаль, кодить я почти окончательно разучился ("регресс не остановить").

Re: Странный лог в реальной системе

Posted: Mon Oct 11, 2010 5:05 am
by Asper
Nable wrote:Шикарно, может, можно доживу до того что роутер переведу на Колибри (да, x86 комп с двумя (иногда тремя) сетевухами это отличный роутер, и даже файрволл, и ещё по мелочам). Жаль, кодить я почти окончательно разучился ("регресс не остановить").
Сетевых специалистов дефицит, так что если возьмёшся за сеть будет хорошо, а ещё лучше будет если поможешь hidnplayr'у доделать сетевой стек.

Re: Странный лог в реальной системе

Posted: Mon Oct 11, 2010 2:51 pm
by CleverMouse
Mario, я посмотрела лог. Записи с "K : tcp_rx - dumped", которых в логе подавляющее большинство, появляются оттого, что извне сыплются TCP-пакеты, у которых IP-адрес назначения совпадает с адресом компьютера, но порт назначения никакая программа не слушает. Все эти пакеты направлены на порт 51413 - в шестнадцатеричной записи C8D5, с учётом сетевого порядка байт в логе получается D5C8 - первое поле записи. Подавляющее большинство пакетов - SYN-пакеты, то есть запросы на соединение, что видно по "flags: 02". IP-адреса и порты источников запросов самые разные, в логе они показаны во втором и третьем полях. Подобная картина запросов типична для трафика торрентов; более того, порт 51413 тоже часто упоминается в связи с торрентами.
Записи с "K : ip_rx - dumped (ip: 224.0.0.*)" и "K : ip_rx - dumped (ip: 239.255.255.250)" сообщают об отброшенных пакетах протокола IGMP, описанного в RFC1112 и используемого для IP multicasting, которое не является жизненно необходимым для работы сети и потому не обрабатывается сетевым стеком Колибри.

В обоих случаях дампа пакетов вина не в сетевом стеке Колибри, а в пакетах, приходящих извне. Я советую отключить отладочный вывод - информация об отброшенных TCP-пакетах выводится в network/tcp.inc по метке .next_socket.3.exit - и посмотреть, как это действие повлияет на производительность.

Я, к сожалению, не располагаю достаточной информацией, чтобы объяснить запись с "K : Process - forced terminate PID: 0000003B".

Mario, "интересно только как производится выбор какой именно картой пользоваться" - ядро из trunk выбирает первое найденное при переборе PCI-шины в обычном порядке устройство, у которого идентификатор есть в таблице PCICards из network/eth_drv/ethernet.inc. Я советую закомментировать строчку, характеризующую первую сетевую карту, если есть желание протестировать вторую.

Re: Странный лог в реальной системе

Posted: Mon Oct 11, 2010 3:05 pm
by Mario
CleverMouse
Спасибо за столь всеобъемлющее объяснения, как смогу попробую то, что ты советуешь.
Я, к сожалению, не располагаю достаточной информацией, чтобы объяснить запись с "K : Process - forced terminate PID: 0000003B".
Приложение грохнулось - это не связано с сетевым стеком. Там запись по несуществующему адресу для приложения.