====== Timeline ====== ==== June ==== * 24 June - Implement the UDP/IPv4 modules based on the new TX and RX datapath. The sub-tasks involved here are: - Define a gPXE UDP API similar to the the gPXE TCP API - Define a UDP connection - Implement the API functions //(working on it)// - Define the interface between the transport and network layers //(working on it)// - Implement IPv4 functions: ''reassembly'', ''rx_process'', ''transmit'', etc. - Write a tester function - Debug and test! Milestone: we should be able to send a "hello, world" message over UDP/IPv4/Ethernet to a listening connection and receive some response. ==== July ==== * 10 July - Build TCP support into gPXE. The sub-tasks((Right now, I am not too sure what the exact sub-tasks involved are. I will revise this page as things become more clear.)) involved here are: - Revise the transport-network layer interface - Implement the TCP state machine Milestone: we should be able to build gPXE with TCP support over IPv4 * 20 July - Investigate IPv6 support. Discuss the implementation. Sub-tasks are: - Read the relevant RFCs and understand IPv6 requirement thoroughly - Make mofidications to the network interfaces if necessary - Discuss the implementation on E-D * 30 July - Implement essential IPv6 support Milestone: we should be able to build UDP and TCP over IPv6 and test is sucessfully ==== August ==== * Buffer and wrap-up period. Clean the code. Debug and document it.