add optional support for IO::Socket::IP