Standalone repository for libnetworking stack

Chris Johns chrisj at rtems.org
Fri Feb 26 17:49:06 UTC 2021


On 27/2/21 4:40 am, Vijay Kumar Banerjee wrote:
> Hi all,
> 
> Thanks for reviewing
> 
> On Fri, Feb 26, 2021 at 10:13 AM Joel Sherrill <joel at rtems.org> wrote:
>>
>> Some odd questions that are mostly about making this a self-contained entity with no loose ends.
>>
>> + Can the network demos be merged also?
>>
> Are we talking about testsuites tests that use legacy networking? If
> so, then I have already shifted the networking01.exe and will shift
> other tests using the same approach.
> 
>> + rtems-docs has the Network Users Guide which is legacy only. As a minimum, it needs to be renamed to have Legacy in the title. Better would be to convert it to markdown/asciidoc and just toss it in the legacy repo.
>>
> This is a good point! I'll probably just keep it as a README in the
> net-legacy repo.
> 
>> + Gaisler needs a poke about the grlib NIC drivers. And Daniel expects it. File a ticket that it is time for them to support libbsd and assign it to him. :)
>>
>> I'm ok with Chris' proposal to give notice  Grep'ing for NETWORK_DRIVER_NAME did turn up more files than I expected. Perhaps that is simply a list of driver names and attach functions for a readme in the repo. That's all that should have been in the bsp.h files.
>>
> Yes, these are mostly bsp.h files. I'll file a ticket and post to
> users and devel about it. There are also quite a few with
> RTEMS_NETWORKING defined.
> 
>> This is awesome work and much appreciated.
>>
> Thank you. :)
> 
>> On Fri, Feb 26, 2021 at 12:12 AM Gedare Bloom <gedare at rtems.org> wrote:
>>>
>>> On Thu, Feb 25, 2021 at 6:06 PM Chris Johns <chrisj at rtems.org> wrote:
>>>>
>>>> On 26/2/21 4:49 am, Vijay Kumar Banerjee wrote:
>>>>> The stand-alone repository is very close to completion now and I could
>>>>> use the networking01 test with the standalone repo and it successfully
>>>>> runs on pc-qemu.
>>>>
>>>> Fantastic news.
>>>>
>>>>> The following are the links to the branches with the
>>>>> final version of the commits and I would really appreciate a review
>>>>> and suggestions on what else needs to be done (I'm not sending patches
>>>>> as they're big and would hit the devel limit):
>>>>
>>>> I am fine reviewing the changes in the repos.
>>>>
>>>>> RTEMS: https://git.rtems.org/vijay/rtems.git/log/?h=devel-no-libnet
>>>>
>>>> Looks good. The only observation is a bisect will probability break as the
>>>> nfsclient depends on rpc but I am OK with now things are.
>>>>
>>>> I checked rtems_waf and I think it is OK dealing with no networking defined in
>>>> the RTEMS opts header.
>>>>
> Great!
> 
>>>>> rtems-net-legacy: https://git.rtems.org/vijay/rtems-net-legacy.git/log/?h=main
>>>>
>>>> Would calling lnetwork.py netlegacy.py be a better match for that name? Closer
>>>> to the repo naming.
>>>>
> Sure, I'll rename it and force push.

Thanks

> 
>>>> Do the new python files need to pep8 formatted? :)
>>>> [ https://gitlab.com/ita1024/waf/-/tree/master/playground/pep8 ]
>>>>
> pep8 does work for me when used manually but with waf module I'm
> getting the following error:
> 
> ```
>   File "/home/vijay/.local/lib/python3.8/site-packages/pep8.py", line
> 253, in maximum_line_length
>     if length > options.max_line_length:
> AttributeError: 'Values' object has no attribute 'max_line_length'
> ```
> This is strange because it looks like an error in the pep8 module itself.
> 
> I have tried different versions of pep8 and it looks like each version
> has a different error. I think this needs some work from the waf side
> to get it working with the new pycodestyle instead of the pep8 module.

Running manually is fine.

>>>> In bsp_drivers.py is there a waf node way to find the sources rather than
>>>> python os walk?
>>>> [ https://waf.io/apidocs/Node.html#waflib.Node.Node.ant_glob ]
>>>>
> I gave it a few shots but it didn't quite work out well for me.  I do
> get the generator from it but for some reason, it's not building. We
> would also need the list of headers for the install, for which I think
> os.walk might be needed.
> 
> Is this a blocker to merging? If so, then I can put more time into it
> and try to get it working. If you want it as an optimization, maybe we
> could merge it and file a ticket? I can take more time and fix it
> later.

Thanks for looking, the os.walk is fine.

>>>> Should the README reference rtems_waf and all the configure options it supports?
>>>>
> This is a good point, The README needs some update for sure. I'll
> follow the README.waf from other repos and follow the same pattern.
> 
>>>> Do we need a LICENSE file?
>>>>
> Do we?

I think it helps but I am not sure what it would contain. Joel?

>>>>>
>>>>> There are at least two things that need to be done:
>>>>> 1. Shift the tests like mghttpd01 that use the libnetworking stack, to
>>>>> the standalone repo like networking01
>>>>
>>>> OK
> I'll do it along with the README and send it for review.

Thanks

>>>>
>>>>> 2. There are still codes that use the #ifdef RTEMS_NETWORKING. What do
>>>>> we want to do about those?
>>>>
>>>> How many BSPs/places/areas are we talking about?
>>>>
>>>> Would it be practical to add a cgit link to a ticket and then post an email to
>>>> user and devel stating those interested in BSPs x,y,z to review the ticket? We
>>>> then wait a week and after that the remaining defines are removed.
>>>>
> 
> grep shows this:
> ```
> cpukit/libfs/src/ftpfs/tftpDriver.c:#ifdef RTEMS_NETWORKING
> cpukit/libfs/src/ftpfs/tftpDriver.c:#ifdef RTEMS_NETWORKING
> cpukit/libfs/src/ftpfs/tftpDriver.c:#ifdef RTEMS_NETWORKING
> cpukit/libfs/src/ftpfs/tftpDriver.c:#ifdef RTEMS_NETWORKING
> cpukit/telnetd/telnetd.c:#ifdef RTEMS_NETWORKING
> cpukit/telnetd/telnetd.c:#ifdef RTEMS_NETWORKING
> cpukit/ftpd/ftpd.c:#ifndef RTEMS_NETWORKING
> cpukit/libtest/testbeginend.c:#if RTEMS_NETWORKING
> cpukit/libtest/testbeginend.c:    " RTEMS_NETWORKING"
> cpukit/include/rtems/monitor.h:#if defined(RTEMS_NETWORKING)
> cpukit/include/rtems/shellconfig.h:#if RTEMS_NETWORKING
> cpukit/include/rtems/shellconfig.h:    #if RTEMS_NETWORKING
> spec/build/testsuites/samples/pppd.yml:  - RTEMS_NETWORKING
> spec/build/testsuites/samples/loopback.yml:- RTEMS_NETWORKING
> spec/build/testsuites/libtests/telnetd01.yml:- RTEMS_NETWORKING
> spec/build/testsuites/libtests/mghttpd01.yml:  - RTEMS_NETWORKING
> spec/build/testsuites/libtests/syscall01.yml:- RTEMS_NETWORKING
> spec/build/testsuites/libtests/networking01.yml:- RTEMS_NETWORKING
> spec/build/testsuites/libtests/ftp01.yml:- RTEMS_NETWORKING
> spec/build/bsps/powerpc/motorola_powerpc/objqemunet.yml:  - RTEMS_NETWORKING
> spec/build/bsps/objnetnosmp.yml:  - RTEMS_NETWORKING
> spec/build/bsps/riscv/griscv/objnetnosmp.yml:  - RTEMS_NETWORKING
> testsuites/libtests/record01/init.c:#ifdef RTEMS_NETWORKING
> testsuites/libtests/record01/init.c:#ifdef RTEMS_NETWORKING
> testsuites/libtests/record01/init.c:#ifdef RTEMS_NETWORKING
> testsuites/libtests/record01/init.c:#ifdef RTEMS_NETWORKING
> bsps/powerpc/beatnik/include/bsp.h:#if defined(RTEMS_NETWORKING)
> bsps/lm32/milkymist/include/bsp.h:#if defined(RTEMS_NETWORKING)
> bsps/lm32/lm32_evr/include/bsp.h:#if defined(RTEMS_NETWORKING)
> 
> ```
> I can already see a small issue from my side. The networking01.yml is
> there. That will go away, along with some other testsuites yml that
> I'll shift now. Do we need ticket for the rest?

A single ticket for this task is fine.

> 
>>>> Do we have a ticket for this task?
>>>>
>>> https://devel.rtems.org/ticket/3850
>>>
> Thanks.

Thanks.

Chris

> 
>>> I'll let Vijay answer the rest.
>>>
>>>>> Apart from these two points above, do the commits and the standalone
>>>>> repo look OK (close to mergeable)?
>>>>
>>>> For me this is very close and a welcomed change for RTEMS 6. Really nice work.
>>>>
> Thank you!
> 
> Best regards,
> Vijay
> 
>>>> Thanks
>>>> Chris
>>>> _______________________________________________
>>>> devel mailing list
>>>> devel at rtems.org
>>>> http://lists.rtems.org/mailman/listinfo/devel
>>> _______________________________________________
>>> devel mailing list
>>> devel at rtems.org
>>> http://lists.rtems.org/mailman/listinfo/devel
>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
> 


More information about the devel mailing list