Zschocke, Florian
2003-07-04 14:23:08 UTC
I am a little confused as I don't understand the motivation
behind two version of UDP IP Protocol: IP_PROTO_UDP &
IP_PROTO_UDPLITE.
UDP packets of the type IP_PROTO_UDP have a checksum calculated over thebehind two version of UDP IP Protocol: IP_PROTO_UDP &
IP_PROTO_UDPLITE.
complete UDP packet, i.e. the UDP header plus the payload. UDP packets of
the type IP_PROTO_UDPLITE have a checksum calculated ONLY over the UDP
header but not over the payload of the UDP packet.
Also, how does the receiver side know which version shall adopt
when a UPD packet arrive (According to RFC792, the transmission
protocol does not have version field)???
UDPLITE is a different protocol type than UDP is. In the IPv4 header thewhen a UPD packet arrive (According to RFC792, the transmission
protocol does not have version field)???
"protocol" field will have different values for UDP and UDPLITE: UDP is
protocol 17, UDPLITE is 170, just like the IP_PROTO_UDP(LITE) defines. For
both a checksum of 0 means no checksum at all.
On top of that, the IP_PROTO_UDP has a flag with NO_CHECK_SUM
but the codes still perform checksum???
Where, udp_send() in udp.c? No, a checksum is not calculated ifbut the codes still perform checksum???
UDP_FLAGS_NOCHKSUM is set in the PCB.
Florian.