Verify checksum of IP header and TCP header

John de la Garza john at jjdev.com
Tue Feb 11 16:19:19 EST 2014


On Tue, Feb 11, 2014 at 03:03:42PM -0500, Guibin(Bill) Tian wrote:
> Hi,
> I am looking for the code in linux kernel that verifies the checksum of TCP
> header and IP header for inbound packet. The packet supposes to be dropped
> if the checksum doesn't match.

Here is some code that checks the TCP checksum.

/*
 * Calculate(/check) TCP checksum
 */
static inline __sum16 tcp_v4_check(int len, __be32 saddr,
                                   __be32 daddr, __wsum base)
{
        return csum_tcpudp_magic(saddr,daddr,len,IPPROTO_TCP,base);
}

from: include/net/tcp.h


also, try searching for csum_error in net/ipv4/tcp_ipv4.c



More information about the Kernelnewbies mailing list