[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tcp checksum calculation
TCP checksum includes the psuedo-header (some fields of the IP
header - see Richard stevens or the RFC for details). If the psuedo-header
changes, TCP checksum needs to be re-calculated or "adjusted".
----- Original Message -----
From: Abhijit Gadgil <gabhijit@ee.iitb.ac.in>
To: Amit Shah <shahamit@gmx.net>
Cc: <linux-india-programmers@lists.sourceforge.net>;
<kernelnewbies@nl.linux.org>
Sent: Monday, February 18, 2002 1:43 PM
Subject: Re: tcp checksum calculation
>
> Read rfc793 page 15, carefully. I think you will have to recalculate the
> checksum. Because you are changing the destination address field. Perhaps
> the nat code pointed to by someone may help you find out how exactly to do
> it.
>
> -abhijit
>
>
> Amit Shah wrote :
>
> >Hi,
> > I have a function(in the kernel, ip_rcv_finish... before the ip
> >forwarding code.) that takes in packets, replaces the dest. ip:port, and
> >sends to that machine. (ip forwarding is enabled.) I need to recalculate
> >the checksum..... ip checksumming works fine(ip_fast_csum)... but, the
tcp
> >checksum is shown as incorrect on ethereal. The packets are not delivered
> >to the new dest....
> >
> >Also, what is the skb->csum, in case there is no data (e.g. for ACK or
> >FIN -only packets)?
>
> --
> Kernelnewbies: Help each other learn about the Linux kernel.
> Archive: http://mail.nl.linux.org/kernelnewbies/
> IRC Channel: irc.openprojects.net / #kernelnewbies
> Web Page: http://www.kernelnewbies.org/
>
>
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
IRC Channel: irc.openprojects.net / #kernelnewbies
Web Page: http://www.kernelnewbies.org/