From mboxrd@z Thu Jan 1 00:00:00 1970 From: john@jjdev.com (John de la Garza) Date: Tue, 11 Feb 2014 13:19:19 -0800 Subject: Verify checksum of IP header and TCP header In-Reply-To: References: Message-ID: <20140211211918.GA4872@vega.jjdev.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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