Господа!
Наткнулся на неприятнй сюрприз. На машине работает физический интерфейс eth0, а также создано ещё одно имя для него eth0:0 в той же подсетке. Некое приложетие привязывается к UDP сокету и отвечает на входные пакеты с IPADDR_ANY. Как оказалось, если пакет приходит с адреса интерфейса eth0:0, сокет почему-то отвечает, заполняя src_addr с eth0. Отсюда начинается куча проблем.
Значит:
client server
"hello" ------> eth0.0 (192.168.38.2)
<--X--- eth0 (192.168.38.1)
В чём может быть дело? И как заставить сокет UDP использовать в качестве обратного адрес входящего пакета для отсылки ответа?