Week 0: TCP performance test and tunning

May 13th to May 23th

  • Implement TCP receive queue
  • Implement TCP SACK [RFC 2018]
  • Implement TCP Window Scale [RFC 1323]

The test results can be found at these notes:

Found TCP FIN ACK number issue

Upper layer protocols stop the TCP xfer by calling tcp_xfer_close().

If the call path is:

   tcp_rx()->tcp_rx_data()->...Upper layer...->tcp_xfer_close().
   Which is at lease happened in HTTP while received expected
   length of data.

Sending FIN in tcp_xfer_close() in this case, will cause error ACK number, since the ACK number have not updated by that time. Later trying to send a correct one in tcp_rx() will fail too, due to the TCP state already changed.

This patch let the TCP stack send FIN in normal tcp_rx() flow if the packet contains the last data of the session.


* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code soc:2010:cooldavid:journal:week0 (generated for current page)