Well, I wrote the first uIP application today, and I must say, using it is a bit of a mind-twister. It's been a really, really long time since I've done any event-driven coding like this, so I'm way out of practice.
To get it working quickly, I basically cut-n-pasted code together, customizing for my own application requirements where needed. I generally don't like programming this way -- I prefer to grok the code I'm writing.
However, in about 2.5 to 3 hours, I was able to get a simple server running on my Linux box, where telnet-ing to the server results in a diagnostic message and link closure (as I've intended at this stage), with a maximum packet length of 256 bytes (in anticipation of the restrictions found in the microcontroller). So far, the software evolution is looking good.
Looks like uIP was the right choice for this project so far. Hopefully, when I can get the EDTP and microcontrollers, I can hopefully start playing with live hardware as well. I hope toying with ATmega in-circuit programming is as easy as hacking up the IPL port in the Kestrel.
Once all this stuff is tied together, I'll have a better understanding of how to make it all work in the next-gen Kestrel.
I'm also thinking of re-engineering my OpenAX.25 project to use the event-driven model, a la uIP as well.