Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
soc:nikhil:under_construction [2006/06/12 11:33]
nikhilcrao created
soc:nikhil:under_construction [2006/06/13 23:54]
nikhilcrao
Line 1: Line 1:
-====== Implementing IPv6 Support ​in gPXE ======+====== Implementing IPv6 support ​in gPXE ====== 
 + 
 +===== About the project ===== 
 +My project is titled Implementing IPv6 support in gPXE. Here are some snippets from [[soc:​nikhil:​proposal|my proposal]]. 
 + 
 +==== Synopsis ==== 
 +gPXE uses uIP to implement its TCP/IP stack. uIP is an implementation of the TCP/IP stack which uses a fraction of the resources used by a full fledged TCP/IP implementation. 
 + 
 +The project is to implement support for IPv6. uIP (in its current avatar) tightly integrates the TCP and IP layers in order to save code size. As a result, it is not easy to replace IPv4 with any other network layer protocol in uIP. This project aims to re-design the TCP/IP stack of gPXE in order to facilitate IPv6 implementation. 
 + 
 +==== Deliverables ==== 
 +The final deliverables for the project are: 
 +  - A clean, well-defined interface between the transport-layer and network-layer. The interface would be generic enough to allow any transport layer protocol to interact with any network layer protocol 
 +  - Re-design and implementation of the TCP/IP stack using the proposed interface (which fits within the gPXE API) 
 +  - Minimal support for IPv6 
 + 
 +The stretch goals for the project are: 
 +  - Extension of the gPXE API to include UDP 
 +  - An implementation of UDP/IP (within the extended gPXE API) 
 +  - Support for additional features in IPv6 
 + 
 +==== Plan of action ==== 
 + 
 +Main goals: 
 +  - <​del>​Investigate the working of uIP</​del>​ 
 +  - <​del>​Define bare necessary requirements of transport layer and network layer</​del>​ 
 +  - <​del>​Define the interface between these layers based on the requirements</​del>​ 
 +  - Implement the TCP, IP modules using the interface 
 +  - Test implementation;​ Re-implement if necessary 
 +  - Increase requirements if necessary and go back to step 2 
 +  - Investigate minimum requirements to support IPv6 
 +  - Extend interface/​requirements if necessary and go back to step 2 
 +  - Implement IPv6 
 +  - If time permits, implement stretch goals 
 + 
 + 
 +Stretch goals: 
 +  - Investigate UDP implementation in Etherboot-5.4 and earlier 
 +  - Extend interface/​requirements if necessary and perform steps 2 - 5 
 +  - Implement UDP support 
 +  - Investigate various features that can be added to IPv6 
 +  - Perform steps 7 - 8 
 + 
 +===== Current status ===== 
 + 
 +I have tried to update my blog ss frequently as possible with my thoughts. I have listed below my understanding of the problem. 
 + 
 +==== Working of the network infrastructure ==== 
 + 
 +=== Receiving data === 
 + 
 +=== Sending data === 
 + 
 +=== So, what's wrong? === 
 + 
 +==== Redesigning the IP layer ==== 
 + 
 +=== IPv4 === 
 + 
 +=== IPv6 === 
 + 
 +==== Redesigning the transport layer ==== 
 + 
 +=== UDP === 
 + 
 +=== TCP === 
 + 
 +===== The road ahead ===== 
 + 
 +==== Ideas and concepts ==== 
 + 
 +==== To do list ====
  
 ===== Resources ===== ===== Resources =====
  
   * [[http://​implementingipv4.blogspot.com|My blog]]   * [[http://​implementingipv4.blogspot.com|My blog]]
 +  * [[http://​www.sics.se/​~adam/​uip/​|uIP Project Page]]
   * [[http://​playground.sun.com/​pub/​ipng/​html/​ipng-main.html|IPv6 resources on sun.com]]   * [[http://​playground.sun.com/​pub/​ipng/​html/​ipng-main.html|IPv6 resources on sun.com]]
- 
- 

QR Code
QR Code soc:nikhil:under_construction (generated for current page)