Standalone repository for libnetworking stack

Christian Mauderer oss at
Fri Feb 5 20:54:31 UTC 2021

Hello Vijay,

On 05/02/2021 19:41, Vijay Kumar Banerjee wrote:
> Hello,
> I'm currently working on separating the libnetworking stack into its 
> standalone repository that can be built separately with waf. The current 
> status of the project is that I have a working rtems-libnetworking 
> repository [1] that builds with waf (hasn't been tested with any test 
> cases yet). And In my fork of RTEMS I have separated the libnetworking 
> stack [2].

Sounds like an interesting work. If I didn't miss an earlier discussion: 
I think the name might could trigger one. It gives the impression that 
it is _the_ networking stack to use. But for newer BSPs most of the time 
libbsd is the better choice.

> I need suggestions with the following questions:
> 1. What to do with the codes in RTEMS outside the libnetworking stack, 
> which uses the networking library. Libraries for example libpppd uses 
> libnetworking. Do we want to shift these to the separate repository for 
> libnetworking or do we want to keep them in RTEMS and use the waf system 
> to selectively built those when the libnetworking is available in 
> PREFIX. We can add a common header file that #defines RTEMS_NETWORKING, 
> so that the related codes can be built and used.

I think it depends:

Can they be used with libbsd or only with the legacy stack?

If they can be used with libbsd: Can they be build without a networking 
stack? In that case it might would be possible to build them in RTEMS 
and link them later with either libbsd, with libnetworking or (maybe) 
some-when with lwIP. I don't think there is a reason to not build them 
for any BSP if they can be build without a networking stack.

If they can't be used with libbsd (or another stack) I would suggest to 
keep them together with the legacy stack in your new libnetworking 

> 2. There are a few header files in cpukit/include that are required by 
> the libnetworking stack. Currently the rtems-libnetworking is building 
> in sort of a hackish way by using the header file from the RTEMS source 
> directory. Do we want to add these header files (like tftp.h) and 
> related source files to the libnetworking directory? The other way to 
> use them would be to install the required headers in the PREFIX and use 
> them from libnetworking.

If I understand correctly, the headers are not installed? In that case: 
Who else uses these headers? If no one except for the network stack 
needs them: Move them to your new library.

In case of the tftp.h: It seems that this file is installed, isn't it? 
So why can't you just use it from libnetworking?

Best regards


> Any suggestions regarding these questions is greatly appreciated.
> Best regards,
> Vijay
> [1]: 
> <>
> [2]: 
> <>
> _______________________________________________
> devel mailing list
> devel at

More information about the devel mailing list