The “challenge” is wrapping the native socket functions in your driver, so you don’t need to do special coding if you swap between this and any of the other modules for networking. Not impossible, but also not trivial, unless you’re willing to write special code… very similar to the WIZ5100 chip scenario on USBizi