siaddr in NAK
This is about a failing system test (tests.dhcpv4.fields.test_v4_fields.test_v4_message_fields_siaddr_correct_nak_configured_local) which checks if Kea sets the siaddr fiedld in NAKs.
I do not know if the test or Kea is wrong.
The RFC 2131 describes the siaddr field as:
siaddr 4 IP address of next server to use in bootstrap; returned in DHCPOFFER, DHCPACK by server.
so a priori it is correct to not return it (i.e. leave it to 0.0.0.0) in DHCPNAK responses. BTW these responses are very low in informations both because they are useless and for security.
Other references to siaddr in the RFC are:
DHCP clarifies the interpretation of the 'siaddr' field as the address of the server to use in the next step of the client's bootstrap process. A DHCP server may return its own address in the 'siaddr' field, if the server is prepared to supply the next bootstrap service (e.g., delivery of an operating system executable image).
and in the Table 3:
Field DHCPOFFER DHCPACK DHCPNAK ----- --------- ------- ------- 'siaddr' IP address of next IP address of next 0 bootstrap server bootstrap server
so if there is no other argument about this point I think we can conclude that Kea is right and the system test (and similar tests) should be fixed or removed.