lwIP in mainline linux kernel

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

lwIP in mainline linux kernel

vinay s
Hello All,

I am doing some source code evaluation (cycles spend in various blocks) of TCP/IP stack between linux network stack and lwip. I am able to run lwip in userspace, however for my requirement I would like to put lwip in mainline kernel (either as module or intergrated alternate stack), as running it in userspace fudges the numbers (preemption by high priority processes/interrupts etc).  I am curious as to if this has been already done (any pointers would be helpful).

Please note, I am not looking into lwip in rtos kernels (e.g, RTLinux/RTAI etc). 

Thanks,
vks

_______________________________________________
lwip-users mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: lwIP in mainline linux kernel

Joel Cunningham-2

I haven't heard of LwIP running in the Linux kernel, but LwIP has been integrated into a number of other operating systems:

ReactOS

GNU Hurd

Minix 3


I haven't studied the ReactOS integration, but GNU Hurd/Minix 3 happened more recently and their respective developers communicated on the mailing list how LwIP was integrated :). Both are micro kernels and the integration point with LwIP is different.  GNU Hurd integrated at the sockets level where as Minix 3, integrated at the callback API level (providing their own socket interface).


I would imagine for Linux, you'd do something similar, integrating LwIP's callback API level to the kernel side sockets layer.  At the bottom end, you could possibly do something like map LwIP's netif to a netdev so you can use the existing Linux drivers.

Joel


On 02/05/2018 06:31 PM, vinay s wrote:
Hello All,

I am doing some source code evaluation (cycles spend in various blocks) of TCP/IP stack between linux network stack and lwip. I am able to run lwip in userspace, however for my requirement I would like to put lwip in mainline kernel (either as module or intergrated alternate stack), as running it in userspace fudges the numbers (preemption by high priority processes/interrupts etc).  I am curious as to if this has been already done (any pointers would be helpful).

Please note, I am not looking into lwip in rtos kernels (e.g, RTLinux/RTAI etc). 

Thanks,
vks


_______________________________________________
lwip-users mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/lwip-users


_______________________________________________
lwip-users mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: lwIP in mainline linux kernel

Ajay Bhargav (SiWi)

Its going to be a huge task as Linux kernel networking is not just a layer it’s a subsystem which includes a lot of other stuff too.

 

From: [hidden email]
Sent: Tuesday, February 6, 2018 8:34 PM
To: [hidden email]
Subject: Re: [lwip-users] lwIP in mainline linux kernel

 

I haven't heard of LwIP running in the Linux kernel, but LwIP has been integrated into a number of other operating systems:

ReactOS

GNU Hurd

Minix 3

 

I haven't studied the ReactOS integration, but GNU Hurd/Minix 3 happened more recently and their respective developers communicated on the mailing list how LwIP was integrated :). Both are micro kernels and the integration point with LwIP is different.  GNU Hurd integrated at the sockets level where as Minix 3, integrated at the callback API level (providing their own socket interface).

 

I would imagine for Linux, you'd do something similar, integrating LwIP's callback API level to the kernel side sockets layer.  At the bottom end, you could possibly do something like map LwIP's netif to a netdev so you can use the existing Linux drivers.

Joel

 

On 02/05/2018 06:31 PM, vinay s wrote:

Hello All,

 

I am doing some source code evaluation (cycles spend in various blocks) of TCP/IP stack between linux network stack and lwip. I am able to run lwip in userspace, however for my requirement I would like to put lwip in mainline kernel (either as module or intergrated alternate stack), as running it in userspace fudges the numbers (preemption by high priority processes/interrupts etc).  I am curious as to if this has been already done (any pointers would be helpful).

 

Please note, I am not looking into lwip in rtos kernels (e.g, RTLinux/RTAI etc). 

 

Thanks,

vks




_______________________________________________
lwip-users mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/lwip-users

 

 


_______________________________________________
lwip-users mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/lwip-users