- @b Arguments:
- name: @b response4, type: isc::dhcp::Pkt4Ptr, direction: <b>in/out</b>
+ - name: @b query4, type: isc::dhcp::Pkt4Ptr, direction: <b>in</b>
- @b Description: this callout is executed when server's response
- is about to be sent back to the client. The argument response4
- contains a pointer to an isc::dhcp::Pkt4 object that contains the
+ is about to be sent back to the client. The sole argument "response4"
+ contains a pointer to an isc::dhcp::Pkt4 object carrying the
packet, with source and destination addresses set, interface over which
it will be sent, and a list of all options and relay information. All fields
- of the Pkt4 object can be modified at this time, except buffer_out_.
+ of the @c Pkt4 object can be modified at this time, except @c buffer_out_.
(This is scratch space used for constructing the packet after all
pkt4_send callouts are complete, so any changes to that field will
- be overwritten.)
+ be overwritten.)\n\n
+ The argument query4 contains a pointer to the corresponding query packet
+ (allowing to perform correlation between response and query). This object
+ cannot be modified.
- - <b>Skip flag action</b>: if any callout sets the skip flag, the server
- will not construct raw buffer. The expectation is that if the callout
- set skip flag, it is responsible for constructing raw form on its own.
- Otherwise the output packet will be sent with zero length.
+ - <b>Next step action</b>: if any callout installed on the "pkt4_send" hook
+ sets the next step action to SKIP, the server will not construct the raw
+ buffer. The expectation is that if the callout set skip flag, it is
+ responsible for constructing raw form on its own. Otherwise the output
+ packet will be sent with zero length.
@subsection dhcpv4HooksBuffer4Send buffer4_send