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 repository.


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

Christian


Any suggestions regarding these questions is greatly appreciated.


Best regards,
Vijay

[1]: https://github.com/thelunatic/rtems-libnetworking <https://github.com/thelunatic/rtems-libnetworking> [2]: https://github.com/thelunatic/rtems/tree/no-libnet <https://github.com/thelunatic/rtems/tree/no-libnet>

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to