How to calculate the TCP checksum

Adel Kodmani mpcadel at gmail.com
Mon Jul 16 07:42:41 EDT 2012


On Mon, Jul 16, 2012 at 1:30 PM, पारस <beparas at gmail.com> wrote:

>
>
> On Tue, Jul 10, 2012 at 11:42 AM, Adel Kodmani <mpcadel at gmail.com> wrote:
>
>> I am writing a kernel module that actually modifies the TCP header(both
>> at sending and receiving) and I need to re-calculate the header because of
>> that.
>> I am capturing the packets using netfilter, so I have access to the whole
>> SKB, I am using Linux 2.6.35-22
>>
>> Looking into the source code of the TCP/IP, I found this function
>> void tcp_v4_send_check(struct sock *sk, struct sk_buff *skb);
>> The comment above it says this routing computes the IPv4 TCP checksum
>>
>> Trying to use this function, I called it passing to it skb->sk and skb
>> With no success so far.
>>
>> So my question is, how do I correctly calculate the TCP checksum? I know
>> there's a psudoheader that must be created, and added to the calculation
>> but there must be a function in the kernel I can call that already does
>> that.
>>
>>
>> Thanks in advance,
>> Adel
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>> I think this may be helpful to you
> http://www.thegeekstuff.com/2012/05/ip-header-checksum/
>
>
>

Nope, what I need to calculate is the TCP checksum, not the IP checksum
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120716/f61a8392/attachment.html 


More information about the Kernelnewbies mailing list