Modified Changelog
[invirt/packages/invirt-dhcp.git] / README
1 Documentation on Old Trac website about DHCP:
2 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].
3
4 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. 
5 This conflicts with the spec:
6
7    If the 'giaddr' field in a DHCP message from a client is non-zero,
8    the server sends any return messages to the 'DHCP server' port on the
9    BOOTP relay agent whose address appears in 'giaddr'. If the 'giaddr'
10    field is zero and the 'ciaddr' field is nonzero, then the server
11    unicasts DHCPOFFER and DHCPACK messages to the address in 'ciaddr'.
12    If 'giaddr' is zero and 'ciaddr' is zero, and the broadcast bit is
13    set, then the server broadcasts DHCPOFFER and DHCPACK messages to
14    0xffffffff. If the broadcast bit is not set and 'giaddr' is zero and
15    'ciaddr' is zero, then the server unicasts DHCPOFFER and DHCPACK
16    messages to the client's hardware address and 'yiaddr' address.  In
17    all cases, when 'giaddr' is zero, the server broadcasts any DHCPNAK
18    messages to 0xffffffff.