This PR centralizes the phantom address selection into one package for BOTH the client and station side. They are functionally very strongly related. This PR also adds internal packages that hold the older phantom selection algorithms so that we can do regression testing to make sure that we continue to be backwards compatible.
In general the one big bug fixed here is the IPv6 phantom selection on the station being agnostic to whether subnets are IPv4 or IPv6 which was causing inconsistencies between the IPv6 addresses chosen by the client and the stations.
This PR centralizes the phantom address selection into one package for BOTH the client and station side. They are functionally very strongly related. This PR also adds internal packages that hold the older phantom selection algorithms so that we can do regression testing to make sure that we continue to be backwards compatible.
In general the one big bug fixed here is the IPv6 phantom selection on the station being agnostic to whether subnets are IPv4 or IPv6 which was causing inconsistencies between the IPv6 addresses chosen by the client and the stations.