Move the platform independent part of net into core

Specifically, the address manipulation part for IPV4 and IPV6 can be moved to core

So the bare-metal and network stack implementor care sharing same piece of code across library



1 Like

I'm trying to remove the blockers for doing this in Implement network primitives with ideal Rust layout, not C system layout by faern · Pull Request #78802 · rust-lang/rust · GitHub

The problem is that the current IpAddr structs are based on system representations that we can't have in core really. And we can't just merge the fix for that since a bunch of crates invalidly assumed the memory layout of the types :man_facepalming: So it's currently a waiting game. We have to find everyone who broke this API contract, patch them and wait for the usage of the broken crates to drop quite a lot.