В tcpdump есть, в recvfrom - нет
Есть две машины - А и Б. Программа отправляет с А udp-пакет на Б и уходит ждать ответа на recvfrom. Пакет на Б успешно принимается и на него посылается ответ. Ответ, в большинстве случаев, в программе на А не появляется и recvfrom продолжает спокойно висеть, будто ничего не приходило. Одновременно, на той же машине А запущен tcpdump, согласно которому ответ дошёл. Далее, Б может посылать запросы на А, которые тоже почти всегда остаются незамеченными recvfrom, но при этом все они видны в дампе.
Что может быть причиной такого поведения? Почему tcpdump видит, а recvfrom нет?
PS Та же самая пара программ тестировалась на других машинах и там проблем не было.