ICMP_FILTER проблема
помогите кто знает куда копать
setsockopt(sock, SOL_RAW, ICMP_FILTER, (char *)&filter, sizeof(filter);
на центосе отрабатывает нормально и сокет (RAW, ICMP) нормально принимает входящие icmp пакеты с произвольного компа
на FreeBSD с тем же кодом происходят странности. сокет (RAW, ICMP) создаётся нормально setsockopt с вышеуказанными параметрами возвращает ошибку 0x16 и в этом случае recvfrom показывает только те icmp пакеты, ответ которые были ответным результатом исходящих icmp с того же сервера
т.е. сервер отправляет icmp (любой другой процесс например) - ответ виден больше ничего не видно. ни входящие с других серверов ни искуственно созданные «ответы» с других серверов, хотя траффик идёт. результата не видено только на сокете через recvfrom
куда копать? очень надо чтоб на бзде заработало