I think it would be useful if you want to iterate over IP ranges, like nmap. I think it ca be implemented by delegating to <u32 as Step>
(<u128 as Step>
respectively). I've written a draft here: Rust Playground. The implementation in std/core would obviously not need a newtype.
See also Pre-RFC: Implementing Add, Sub, BitAnd, BitOr for IpAddr, Ipv4Addr, Ipv6Addr and Pre-RFC: Bitwise Operations for IpAddr, Ipv4Addr, Ipv6Addr