Differences

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

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
soc:2011:pcmattman:notes:start [2011/05/22 05:58]
pcmattman created a notes page ready to be filled with notes
soc:2011:pcmattman:notes:start [2011/07/31 18:11]
pcmattman updates to the basic documentation already written
Line 5: Line 5:
 I'll update this with notes and links to websites I find as I'm working on the project that might be handy later on. The notes here may also be the foundation for the IPv6 documentation later on. I'll update this with notes and links to websites I find as I'm working on the project that might be handy later on. The notes here may also be the foundation for the IPv6 documentation later on.
  
 +==== Useful RFCs ====
 +  * [[http://​www.faqs.org/​rfcs/​rfc2460.html|RFC 2460 (IPv6 Spec)]]
 +  * [[http://​tools.ietf.org/​html/​rfc4861|RFC 4861 (Neighbour Discovery Protocol)]]
 +  * [[http://​www.faqs.org/​rfcs/​rfc2462.html|RFC 2462 (IPv6 Stateless Address Autoconfiguration)]]
 +  * [[http://​www.faqs.org/​rfcs/​rfc3315.html|RFC 3315 (DHCPv6)]]
 +  * [[http://​wiki.tools.ietf.org/​html/​rfc5970|RFC 5970 (DHCPv6 Network boot options)]]
  
 +==== Code ====
 +  * [[http://​pedigree-project.org/​projects/​pedigree/​repository/​revisions/​develop/​entry/​src/​modules/​system/​network-stack|Pedigree'​s network stack]] with IPv6 support (new BSD license)
  
 +==== Repo Notes ====
 +  * Developing on branch '​develop'​
 +  * Will bring commits into master when they are ready for upstream merging. This way I can rebase them and merge several related commits into one larger commit for submission upstream (or mix several "​oops"​ commits into the commit that originally contained the mistake).
 +  * Can bring upstream changes into develop branch via master
  
 +==== Notes to Self ====
 +  * Can't get network interface'​s MAC address within a TCPIP protocol (eg ICMP, UDP). Will need to have a user begin the process of autoconfiguration for a link-local address manually!
 +  * Link-local address must always be present, globally routed address can be obtained via router advertisements or DHCPv6 (and may not exist). How do we manage this for potential users?
 +  * Probably worth fixing DNS to use AAAA records earlier rather than later.
 +  * [[soc/​2011/​pcmattman/​notes/​packetdumps/​start|Packet Dumps]] and relevant notes.
 +
 +===== Tutorials =====
 +
 +==== Setting up IPv6 on your network ====
 +
 +To work with IPv6 in gPXE on your network, you will need both an IPv6 prefix and a router advertisement daemon. If you like, you can set up DHCPv6 for your network for address assignment. A router advertisement daemon will still be required for routing, but in the future DHCPv6 will offer boot filenames and other boot-related options.
 +
 +The best place to get an IPv6 is your ISP, but if your ISP does not offer IPv6, [[http://​www.tunnelbroker.net|Hurricane Electric]] offers a fairly stable and easy-to-use tunnel. HE also provides configuration commands for a wide range of operating systems. These should be able to be copied and pasted into a terminal on your workstation to set up IPv6 connectivity quickly and easily. There are a variety of tutorials on the internet that will cover adding router advertisements and/or DHCPv6 to an IPv6 tunnel.
 +
 +Booting over IPv6 in gPXE is quite simple: instead of using the '​dhcp'​ command (ala IPv4), you use the '​ipv6'​ command. This obtains an address and sets up routing for IPv6 so that you can use IPv6 servers.
 +
 +You can use the following script to test gPXE's HTTP boot over IPv6:
 +<​code>​
 +#!gpxe
 +ipv6 any
 +kernel http://​flash6.etherboot.org/​gpxe/​bz2bzImage root=100
 +initrd http://​flash6.etherboot.org/​gpxe/​initrd.bz2
 +boot
 +</​code>​
 +
 +(note: flash6 may need these image files uploaded - TODO!)
 +
 +This should boot a Linux kernel.
 +
 +If you don't have a DNS name for an IPv6 host, you can boot from an IPv6 address using the following syntax:
 +<​code>​
 +http://​[2001:​ab:​cd:​ef::​1]:​1234/​file.bin
 +</​code>​
 +
 +Note that [[http://​msdn.microsoft.com/​en-us/​library/​aa921042.aspx|zero compression ("​Compressing Zeroes"​ section)]] can be used for all IPv6 addresses.

Navigation

* [[: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:2011:pcmattman:notes:start (generated for current page)