diff --git a/doc/sphinx/arm/hooks-bootp.rst b/doc/sphinx/arm/hooks-bootp.rst index b687d6c003..8e55f7d6dc 100644 --- a/doc/sphinx/arm/hooks-bootp.rst +++ b/doc/sphinx/arm/hooks-bootp.rst @@ -15,6 +15,10 @@ a dhcp-message-type option and put into the "BOOTP" client class. Members of this class get infinite lifetime leases but the class can be used too for instance to guard a pool of addresses. +On output dhcp-message-type and other DHCP specific options are removed +and responses shorter than the BOOTP minimum size (300 octets) are +padded to this size. + The library is available since Kea 1.7.2 and can be loaded in a similar way as other hook libraries by the ``kea-dhcp4`` process. It takes no parameter. diff --git a/src/hooks/dhcp/bootp/bootp.dox b/src/hooks/dhcp/bootp/bootp.dox index c110036bf1..68489b027c 100644 --- a/src/hooks/dhcp/bootp/bootp.dox +++ b/src/hooks/dhcp/bootp/bootp.dox @@ -1,4 +1,4 @@ -// Copyright (C) 2019-2010 Internet Systems Consortium, Inc. ("ISC") +// Copyright (C) 2019-2020 Internet Systems Consortium, Inc. ("ISC") // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -53,11 +53,16 @@ bootp_callouts.cc. It checks if the necessary parameter is passed and decodes the option configurations. @ref unload() free the configuration. Kea engine checks if the library has functions that match known hook -point names. This library has one such function: @ref buffer4_receive -located in bootp_callouts.cc. +point names. This library has two such functions: @ref buffer4_receive +and @ref pkt4_send located in bootp_callouts.cc. -If the receive query has to dhcp-message-type option then it is a BOOTP +If the receive query has no dhcp-message-type option then it is a BOOTP one: the BOOTP client class and a DHCPREQUEST dhcp-message-type option are added to the BOOTP query. +On the outgoing side dhcp-message-type and other DHCP specific options +are removed from the response. When the packed response is shorter than +the BOOTP minimum size (300 octets) it is padded after the END option +by nuls up to this size. + */