Nabeshin
Nabeshin

Reputation: 1

How can I read a UDP segment in Kernel Space?

I create a module in kernel space that send a UPD segment using socket RAW, but my problem is read the UDP segment from kernel space.

I can read the UDP segment from user space, but when I prove to use "sock_recvmsg" from kernel space, I obtain as result -512

Please, help me!

Upvotes: 0

Views: 731

Answers (1)

MarkR
MarkR

Reputation: 63586

I don't know why you feel the need to use a raw socket to send/recieve UDP - just use a UDP socket instead.

It may be that the structure you're supplying to sock_recvmsg for the address isn't right.

In general using networking from inside the kernel is a bad idea and should be avoided (not least, it ties your code to a specific kernel version). If you tell us what you're trying to do (ideally in the form of another question) maybe someone can suggest a better way.

Upvotes: 1

Related Questions