Changed to include IPv6 support and no write-on-read.