Status Report June 14

Zach Riggle zachriggle at gmail.com
Mon Jun 15 05:36:23 UTC 2009


Status report from this week... more work on getting the framework in  
place.  I'm trying to make it as flexible as possible, so that there  
won't have to be too many instances of tacked-on functionality.  The  
last thing to do before the core functionality is done is to implement  
(cleanly) TCP and IP checksumming.  The PCS library faced some issues  
with this, since the TCP-layer object is unaware of the IP-layer  
object.  Since TCP checksum requires IP-level information (addresses,  
etc.) a mild kluge was implemented to traverse back up a packet  
"Chain" -- the problem with this being that, if the same TCP object is  
used in more than one chain, it will just use the  data from one of  
them.  The TCP state machine that I implemented is aware of the  
necessary IP information, and can generate a pseudo-IP header (per the  
RFC) that will be used for TCP checksumming, essentially sidestepping  
this problem.  A more graceful solution (which I may implement as a  
patch for PCS) is to pass a 'parent' object to the pcs.Packet.encode  
method.

More as it happens.  As always, the blog is the best place for up-to- 
date news: gsoc-tcpregression


More information about the soc-status mailing list