====== 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.