Re: How to calculate the TCP checksum

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



http://lxr.oss.org.cn/source/lib/checksum.c

2012/7/16 Adel Kodmani <mpcadel@xxxxxxxxx>:
>
>
> On Mon, Jul 16, 2012 at 1:30 PM, पारस <beparas@xxxxxxxxx> wrote:
>>
>>
>>
>> On Tue, Jul 10, 2012 at 11:42 AM, Adel Kodmani <mpcadel@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxx
>>> 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
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies@xxxxxxxxxxxxxxxxx
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



-- 
Best Regards
Lin

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux