LINUX.ORG.RU

проблеммы с обработкой пакетов


0

0

народ , есть программа которая открывает порт и ждёт UDP пакеты , читает их и обрабатывает. есть подозрение что она не успевает обрабатывать неоторые пакеты и они теряются , как такое можно проверить ? Программа написана на C и как я понимаю такое можно посмотреть через ioctl , только я так и не нашел как именно. Загрузка проца нулевая , канал 100М потери могут быть только если переполняется буфер.

anonymous

Ответ на: комментарий от Axxell

> как ты себе это представляешь когда идет несколько десятков пакетов в секунду ?

anonymous
()

>есть подозрение что она не успевает обрабатывать неоторые пакеты и они теряются , как такое можно проверить

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

>как я понимаю такое можно посмотреть через ioctl , только я так и не нашел как именно.

Сомневаюсь. Можно попробовать запустить ifconfig на нужный интерфейс. Что именно означают errors и dropped, и как это можно интерпретировать с точки зрения UDP, так сразу и не скажешь.

anonymous
()
Ответ на: комментарий от anonymous

>В общем случае никак, хотя бы потому, что пакеты могут теряться где-нибудь по дороге от отправителя к получателю.

они воткнуты в 1 и тотже свич, и ошибок на интерфейсе нет

anonymous
()

> такое можно посмотреть через ioctl

мне кажется, нет.

в случае нехватки памяти в очереди (а это единственная
причина потери "правильного" пакета) udp_queue_rcv_skb()
увеличивает udp_statistics.mibs[UDP_MIB_INERRORS], это
можно получить через SNMP (сам не делал, про snmp ничего
не знаю).

idle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.