Как я могу прочитать сегмент UDP в пространстве ядра? - PullRequest
0 голосов
/ 03 марта 2010

Я создаю модуль в пространстве ядра, который отправляет сегмент UPD с использованием сокета RAW, но моя проблема заключается в чтении сегмента UDP из пространства ядра.

Я могу прочитать сегмент UDP из пространства пользователя, но когда я докажу использование «sock_recvmsg» из пространства ядра, я получу в результате -512

Пожалуйста, помогите мне!

1 Ответ

1 голос
/ 03 марта 2010

Я не знаю, почему вы чувствуете необходимость использовать необработанный сокет для отправки / получения UDP - просто используйте вместо этого сокет UDP.

Возможно, структура, которую вы предоставляете sock_recvmsg для адреса, неверна.

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

...