lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [task #6849] Test how checksum on copy could be integrated


From: Simon Goldschmidt
Subject: [lwip-devel] [task #6849] Test how checksum on copy could be integrated into the stack
Date: Fri, 26 Mar 2010 09:20:00 +0000
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2

Follow-up Comment #32, task #6849 (project lwip):

> I think on RX, should we assume that there is full checksum offloading?

I always thought so. Either, the MAC checks the checksum and drops packets
with wrong checksums (not even generating an interrupt for them), or (in a
partly-handwritten environment as I plan it), the custom DMA-engine creates a
checksum when copying, which can then easily be checked against the checksum
in the header.

Being like that, checksum-on-copy would only apply to TX, not to RX.

I hoped the current checksum-on-copy implementation I started in tcp_write
would work on all platforms, since it uses a memcpy-like function that creates
the checksum while copying (as the name says :)

What's yet missing is a way to pass in precalculated checksums (either
calculated at compile time or calculated in the application while creating
packet data). However, I think that would also work as an argument to a
tcp_write-/ udp_send-like function, and we wouldn't need to save the checksum
in the pbuf for that?

Can you think of any platform here were this wouldn't work? How I test it is
a) using a (slow) memcpy-checksum function and b) creating checksums at
compile-time using the httpd-makefsdata tool letting httpd pass these
checksums to tcp_write (which I already did and it works).

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?6849>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]