make v4 and v6 similar code as consistent as possible
There are a lot of files which are 90% the same code, so minor inconsistencies should be resolved:
src/bin/dhcp4/
main.cc
ctrl_dhcp4_srv.cc
ctrl_dhcp4_srv.h
dhcp4_lexer.ll
dhcp4_parser.yy
json_config_parser.cc
json_config_parser.h
dhcp4_srv.cc
dhcp4_srv.h
vs
src/bin/dhcp6/
main.cc
ctrl_dhcp6_srv.cc
ctrl_dhcp6_srv.h
dhcp6_lexer.ll
dhcp6_parser.yy
json_config_parser.cc
json_config_parser.h
dhcp6_srv.cc
dhcp6_srv.h
The goal here is to detect minor bugs and fix them (some of the issues were fixed in v4 and not in v6, or there have been some conflicts and merges that broke the code on one v4 and not on v6, so the problems were solved only for one version). This way we can easily detect missing functionality or wrong conflict resolutions.
The same should be considered for code in: src/lib/dhcpsrv/parsers/dhcp_parsers.cc the case for initSubnets for v4 and v6 (subnet id is mandatory for v4 but not for v6). This is handled differently.
As mentioned before, I use Beyond Compare to see differences in files, and can easily see functional differences where there should not be any.