Standalone repository for libnetworking stack
oss at c-mauderer.de
Fri Feb 5 20:54:31 UTC 2021
On 05/02/2021 19:41, Vijay Kumar Banerjee wrote:
> 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  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 .
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?
> Any suggestions regarding these questions is greatly appreciated.
> Best regards,
> : https://github.com/thelunatic/rtems-libnetworking
> : https://github.com/thelunatic/rtems/tree/no-libnet
> devel mailing list
> devel at rtems.org
More information about the devel