Я не знаю, почему вы чувствуете необходимость использовать необработанный сокет для отправки / получения UDP - просто используйте вместо этого сокет UDP.
Возможно, структура, которую вы предоставляете sock_recvmsg для адреса, неверна.
В общем, использование сети внутри ядра - плохая идея, и ее следует избегать (не в последнюю очередь, она связывает ваш код с конкретной версией ядра). Если вы сообщите нам, что вы пытаетесь сделать (в идеале в форме другого вопроса), возможно, кто-то может предложить лучший способ.