Fwd: tcp checksumming

2 messages, 2 authors, 2003-11-04 · open the first message on its own page

Fwd: tcp checksumming

From: Russell King <hidden>
Date: 2003-11-04 14:28:39

Not my problem.

Please ensure that replies are directed at the appropriate address
(ie not me.)

Thanks.


----- Forwarded message from an7 [off-list ref] -----
Date: Tue, 4 Nov 2003 15:17:59 +0100 (CET)
From: an7 <redacted>
Subject: tcp checksumming 

Hello, i am sorry russel, but i asked many times on
netdev without having the answer, i tried to
understand by myself during two weeks..please help me

In tcp_rcv_established(), when you are in fast path,
you use checksum and copy (the first function in the
chain is tcp_copy_to_iovec) to finally delivering data
to the user.

I browse datagram.c,checksum.h,skbuff.c,tcp_input.c
and only sees (mainly by following function calls in
datagram.c) checksum calculation, by a lot of calls to
csum_fold() and csum_partial(), and copy to iovec, but
i have never seen the checksum _verification_.

I learn that skb->csum is (when you have not CHECKSUM
UNECESSARY defined in the case of a device computing
the checksum by itself) the checksum on running
data.But it is used in all functions,and get replaced
by a function result. I don't see where it is used as
a comparison

My question is pretty simple : where in the code, is
the tcp checksum verified (compared to the computed
one). My first impression was that it was done in the
*copy_and_csum* functions, but i only see checksum
computation.

That is to say, it is like a side effect of keeping
data in a buffer with a bad checksum.(maybe it is
removed after ? i don't think so)

___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com

----- End forwarded message -----

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core

Re: Fwd: tcp checksumming

From: David S. Miller <hidden>
Date: 2003-11-04 17:24:43

Not my problem.
Sorry Russell, this an7 guy is getting really fucking annoying...

He tried to force me to read the source code for him
the other week too... so I definitely feel for you.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help