My first reaction was based on Linux, the second (lwip) seems to be the 'natural' ip stack that is used on a pico (but please correct me if wrong).
However, the basic principles are similar no matter what stack you use. The pico SDK show some lwip examples that look a bit rudimentary in comparison to a full blown tcp/ip stack (and in comparison with headers such as fcl-net) but it seems do-able to me (not to mention that you could opt for adding lwip support to fcl-net units, or any other framework for that matter).