Я хоть и давно в проекте, но с сетевой частью в Колибри раньше не разбирался практически совсем. Потому тут знаю очень мало и бюду описывать как понял сам.
В общем в Qemu все замечательно рабоатет
Однако при запуске в реальной системе получают бешеную генерацию сообщений в BOARD, которая быстро забивает буфер сообщений (когда BOARD не запущен), либо быстро забивает все место на рамдиске логом.
Загрузка содержимого страничек из сети идет заметно медленнее, чем из Qemu - впрочем не удивительно учитывая как бешено генерируется лог.
Сеть у меня от Эр-Телеком (небезизвестный Дом.ру), подключение через роутер D-Link DIR-320. Добавлю, что при запуске на работе наблюдал такую-же картину: в Qemu все нормально, на реальной машине бешенный лог. Подключение к локалке с доменом, выход в интернет через сервер.
Мне просто уже интересно, это сетевая система Колибри что-то генерирует или извне кто-то сыплет пакетами.
Также на компе стоят две сетевухи (одна на чипсете NVidia MCP-78, а вторая RTL8139 воткнута в PCI) и при подключении кабеля от роутера ко второй (RTL8139), получаю вот такой лог.
Впрочем - не удивительно, Колибри и не рассчитывалась на две сетевые карты - интересно только как производится выбор какой именно картой пользоваться.
Странный лог в реальной системе
Новый сетевой стек, вроде бы позволяет работать с несколькими сетевыми картами одновременно.
http://wiki.kolibrios.org/wiki/New_stack
Тестовый дистрибутив от hidnplayr http://ftp.kolibrios.org/users/hidnplayr/net.7z
http://wiki.kolibrios.org/wiki/New_stack
Тестовый дистрибутив от hidnplayr http://ftp.kolibrios.org/users/hidnplayr/net.7z
Шикарно, может, можно доживу до того что роутер переведу на Колибри (да, x86 комп с двумя (иногда тремя) сетевухами это отличный роутер, и даже файрволл, и ещё по мелочам). Жаль, кодить я почти окончательно разучился ("регресс не остановить").
Сетевых специалистов дефицит, так что если возьмёшся за сеть будет хорошо, а ещё лучше будет если поможешь hidnplayr'у доделать сетевой стек.Nable wrote:Шикарно, может, можно доживу до того что роутер переведу на Колибри (да, x86 комп с двумя (иногда тремя) сетевухами это отличный роутер, и даже файрволл, и ещё по мелочам). Жаль, кодить я почти окончательно разучился ("регресс не остановить").
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. Я советую закомментировать строчку, характеризующую первую сетевую карту, если есть желание протестировать вторую.
Записи с "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. Я советую закомментировать строчку, характеризующую первую сетевую карту, если есть желание протестировать вторую.
Сделаем мир лучше!
CleverMouse
Спасибо за столь всеобъемлющее объяснения, как смогу попробую то, что ты советуешь.
Спасибо за столь всеобъемлющее объяснения, как смогу попробую то, что ты советуешь.
Приложение грохнулось - это не связано с сетевым стеком. Там запись по несуществующему адресу для приложения.Я, к сожалению, не располагаю достаточной информацией, чтобы объяснить запись с "K : Process - forced terminate PID: 0000003B".
Who is online
Users browsing this forum: No registered users and 0 guests