the Dhcpv4Srv::appendRequestedOptions and Dhcpv4Srv::buildCfgOptionList exit early if subnet is null
while working at #1518 and using v6 as an 'inspiration' for the code I have discovered that v4 functions exit early if subnet is null.
Dhcpv4Srv::buildCfgOptionList is used to build the list of persistent options, so I think it should also check if there are any hosts with persistent options or client classes with persistent options that need to be added to the response.
also the Dhcpv4Srv::appendRequestedOptions is skipping the list built by the first function if the subnet is null.
I think that this has an effect on the information message.
both functions are called by Dhcpv4Srv::processInform so I think that the information message should add persistent options (always-sent set to true), either global or in matching client classes or hosts(?).
thread ignored in #1518: !1889 (comment 345697)
using the early exit in v6 will cause following UT to fail:
[ RUN ] Dhcpv6SrvTest.prlPersistency
dhcp6_srv_unittest.cc:2868: Failure
Value of: response->getOption(D6O_SUBSCRIBER_ID)
Actual: false
Expected: true
[ FAILED ] Dhcpv6SrvTest.prlPersistency (4 ms)
[ RUN ] InfRequestTest.infRequestNoSubnets
infrequest_unittest.cc:300: Failure
Value of: nis
Actual: false
Expected: true
[ FAILED ] InfRequestTest.infRequestNoSubnets (2 ms)
[ FAILED ] 2 tests, listed below:
[ FAILED ] Dhcpv6SrvTest.prlPersistency
[ FAILED ] InfRequestTest.infRequestNoSubnets