- /* verify the UDP checksum by replacing the header with a pseudo header */
- source = packet.ip.saddr;
- dest = packet.ip.daddr;
+ /* verify UDP checksum. IP header has to be modified for this */
+ memset(&packet.ip, 0, offsetof(struct iphdr, protocol));
+ /* ip.xx fields which are not memset: protocol, check, saddr, daddr */
+ packet.ip.tot_len = packet.udp.len; /* yes, this is needed */