This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== 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 ===== * [[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]]


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