Experiences with (free) embedded TCP / IP stacks?

Dan picture Dan · Jul 21, 2009 · Viewed 25.3k times · Source

Does anyone have especially good (or bad) experiences with any of the following embedded TCP / IP stacks?

My needs are for a solid, easy-to-port stack. Code size isn't terribly important, performance is relatively important, but ease of use & porting is very important.

The system will probably use an RTOS, that hasn't been decided, but in my experience most stacks can be used with or without an RTOS. Most likely the platform will be an ARM variant (ARM7 or CM3 in all likelihood).

Not too concerned about bolting the stack to the Ethernet driver, so that isn't a big priority in the selection.

I'm not terribly interested in extracting a stack out of an OS, such as Linux, RTEMS, etc.

I'm also not interested in commercial offerings such as Interniche, Micrium, etc...

The stack doesn't need all sorts of bells & whistles, doesn't need IPv6, and I don't need any stuff on top of it (web servers, FTP servers, etc..) In fact it's possible that I'll only use UDP, although I can envision a couple scenarios where TCP would be preferable.

Experiences with other stacks I've missed are of course also very much of interest.

Thanks for your time & input.

Answer

Tim picture Tim · Jul 29, 2009

I've used both uIP and lwIP extensively.

uIP

  • Great if youre only wanting something basic like a bootloader
  • Small footprint.
  • Uses polling so we've never got over 3kbit with it :-(
  • No DHCP 'out of the box'
  • Poor UDP support

lwIP

  • Fully interrupt driven so much faster (~ x10)
  • Includes DHCP with failover AutoIP
  • UDP with multicast
  • Plus more

EDIT:
And we've never used either with an RTOS as there has never been a need.