From: Paul D Weaver Date: Sat, 20 Nov 2010 20:01:13 +0000 (-0500) Subject: Added old trac documentation X-Git-Tag: 0.0.5~1 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-dhcp.git/commitdiff_plain/10232d1723d16a4792c7d162558cbb1c8a5075f5 Added old trac documentation --- diff --git a/README b/README new file mode 100644 index 0000000..3f081f1 --- /dev/null +++ b/README @@ -0,0 +1,18 @@ +Documentation on Old Trac website about DHCP: +The base specification for DHCP is [RFC:2131], but that just describes the structure of the packets. The packets contain "options", which are specified in [RFC:2132]. + +We only implement part of the DHCP spec. The biggest missing feature is probably that we don't implement the broadcast option. All replies are sent out on the interface associated with their VM and are sent as broadcast packets. +This conflicts with the spec: + + If the 'giaddr' field in a DHCP message from a client is non-zero, + the server sends any return messages to the 'DHCP server' port on the + BOOTP relay agent whose address appears in 'giaddr'. If the 'giaddr' + field is zero and the 'ciaddr' field is nonzero, then the server + unicasts DHCPOFFER and DHCPACK messages to the address in 'ciaddr'. + If 'giaddr' is zero and 'ciaddr' is zero, and the broadcast bit is + set, then the server broadcasts DHCPOFFER and DHCPACK messages to + 0xffffffff. If the broadcast bit is not set and 'giaddr' is zero and + 'ciaddr' is zero, then the server unicasts DHCPOFFER and DHCPACK + messages to the client's hardware address and 'yiaddr' address. In + all cases, when 'giaddr' is zero, the server broadcasts any DHCPNAK + messages to 0xffffffff.