/* computes the checksum of the TCP/UDP pseudo-header returns a 16-bit checksum, already complemented.  */
__sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned short len, unsigned short proto, __wsum sum)
/* computes the checksum of the TCP/UDP pseudo-header returns a 16-bit checksum, already complemented.  */
__sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned short len, unsigned short proto, __wsum sum)
{
	return (__force __sum16)~from64to16(
		(__force u64)saddr + (__force u64)daddr +
		(__force u64)sum + ((len + proto) << 8));
}