Consider adding a comment to the function documentation for server4.NewServer(), Indicating that using an interface IP address instead of net.IPv4zero for the IP field of addr will cause the Discover packets not to be delivered on Linux because Linux does not deliver 255.255.255.255 to sockets bound to specific addresses.