udp checksum on raw sockets

Mark Santcroos marks at ripe.net
Tue Apr 27 11:23:51 PDT 2004


* I'm sending UDP packets on a raw socket.

* iphdr->ip_src.s_addr = INADDR_ANY;
  So I don't know the IP address that will be used as src address.
  So as far as I can see, I have a problem generating the checksum in
  userspace.

Suggestion:

Would it make sense that if:
sysctl net.udp.checksum=1
and
udphdr->uh_sum = 0;
in a UDP packet created on a raw socket, to do the checksum in the kernel
instead of leaving it zero? If it does, I can create a patch.

Any other hints as how to do the checksum in userland are welcome too. As
that is the "ultimate" problem I try to fix.

Thanks

Mark


More information about the freebsd-net mailing list