#1712 reopened enhancement

Add LWIP Support to RTEMS

Reported by: Joel Sherrill Owned by: Joel Sherrill
Priority: normal Milestone: 6.1
Component: network/legacy Version: 4.11
Severity: minor Keywords:
Cc: ralf.corsepius@…, thomas.doerfler@…, chrisj@…, sebastian.huber@… Blocked By:
Blocking:

Description (last modified by Gedare)

This port was done by Marcello Presulli <m.presulli@…> and has been in my inbox for a while. I think I have merged most of their BSP specific work but the lwip has been pending. They managed to run LWIP+SNMP and an application in something like 128K RAM

Here are some email fragments about it.

For now we have just finished to port the latest lwip-1.3.2 based on the latest rtems 4.9.4 version successfully including
a test_app for pings.

We have stressed the stack with ping floods (packetsize 1400 Bytes interval ~150ms) about 250.000 sequences or more without
packet losses and an average latency of 2ms.

Additional we have adopted a new bsp target for the mcf5225x platform.

To lwip now:

we integrated it directly via the autoconfigure/automake process under the
rtems cpukit/liblwip subtree and therefore it gets built with rtems
when u configure it with --enable-networking=lwip appropriately.
The driver on the other side we put it in libcpu/m68k/mcf5225x and it got
built in the library context of the librtemsbsp.a.
The driver has only 2 references on lwip headers ...

To the bsp:

The bsp we have adopted from mcf52223 and have created it as a own
bsp-target=mcf5225x also via the autoconfig/automake mechanism.
In the bsp itself i have modified the bsp_get_CPU_clock_speed() and some
improvements in the console driver and PIT2 timer interrupt.
The bsp_start() we have defined as weak symbol so we don't have to touch
the "empty" bsp_start() of rtems coz it's platform-circuit
specific you know.

Attachments (1)

mcf5225x+lwip.zip (470.1 KB) - added by Joel Sherrill on Oct 28, 2010 at 3:14:22 PM.
LWIP + BSP modifications as received

Download all attachments as: .zip

Change History (11)

Changed on Oct 28, 2010 at 3:14:22 PM by Joel Sherrill

Attachment: mcf5225x+lwip.zip added

LWIP + BSP modifications as received

comment:1 Changed on Oct 28, 2010 at 3:14:37 PM by Joel Sherrill

Cc: Sebastian Huber added

comment:2 Changed on Oct 28, 2010 at 3:14:49 PM by Joel Sherrill

Cc: Chris Johns added

comment:3 Changed on Oct 28, 2010 at 3:15:22 PM by Joel Sherrill

Cc: thomas.doerfler added

comment:4 Changed on Oct 28, 2010 at 3:15:37 PM by Joel Sherrill

Cc: Ralf Corsepius added

comment:5 Changed on Nov 2, 2010 at 11:41:51 PM by Ralf Corsepius

Replying to comment:8:

Sebastian, others,

I have had second thoughts about putting this in RTEMS. I agree that it would
be better to submit the port to LWIP and let it live there.

IMO, this proposal is non-applicable, because a network stack's interactions are deeply woven with the OS.

Considering this, using an external networking stack introduces bootstrapping problems (== problems building rtems).

That said, to me, LWIP is a binary decision: Switch from BSD or LWIP rsp. to forget about it - I am very strongly leaning towards the latter and consider all proposal so far to be beyond reason.

comment:6 Changed on Nov 22, 2014 at 2:28:21 PM by Gedare

Description: modified (diff)
Owner: changed from Eric Norum to Joel Sherrill
Status: newassigned
Version: HEAD4.11

comment:7 Changed on Nov 22, 2014 at 2:28:41 PM by Gedare

Resolution: wontfix
Status: assignedclosed

comment:8 Changed on Nov 22, 2014 at 2:29:10 PM by Gedare

Milestone: 4.115.0
Resolution: wontfix
Status: closedreopened

comment:9 Changed on Mar 20, 2016 at 1:17:10 AM by Pavel Pisa

Some more LwIP pointers and ideas are expressed at next Wiki page

https://devel.rtems.org/wiki/Packages/LWIP

comment:10 Changed on Nov 9, 2017 at 6:26:42 AM by Sebastian Huber

Milestone: 5.06.1

Milestone renamed

Note: See TracTickets for help on using tickets.