<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 1, 2021 at 4:03 PM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 1, 2021 at 2:42 PM Chris Johns <<a href="mailto:chrisj@rtems.org" target="_blank">chrisj@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2/2/21 8:32 am, Mr. Andrei Chichak wrote:<br>
> Is there any advantage to using bsd networking over LWiP, or vice versa? <br>
<br>
They are different stacks with different feature sets and different hardware<br>
resource demands. I am not familiar with the features of LwIP so I am not the<br>
best person to compare them.<br>
<br>
The BSD stack has most of the features you get with FreeBSD. It has IPv4, IPv6,<br>
IPsec, VLAN, bridging, dhcp, openssl, lots of routing alternatives, packet<br>
filtering and more. It has a range of useful commands including tcpdump.<br>
<br>
The BSD based system provides a solid base to solve a range of networking issues<br>
your RTEMS device may encounter at the system level and not at the low level<br>
programming level.<br>
<br>
The BSD stack uses a lot more resources to do all this and LwIP may be a prefect<br>
fit. I welcome RTEMS being able to support a range of networking solutions.<br>
<br></blockquote><div><br></div><div>I have a student (Vijay) working on refactoring libnetworking out of RTEMS, and will be testing ability to compile legacy vs libbsd. If the lwip build is demonstrated and clear, I can have him also look at bringing that into the fold. This is in line with <a href="https://devel.rtems.org/ticket/3850" target="_blank">https://devel.rtems.org/ticket/3850</a></div></div></div></blockquote><div><br></div><div>One thing to be aware of is that all the POSIX networking header files for RTEMS are in newlib and always present. I had to address this and lwip when we did Deos+RTEMS. Deos uses lwip as their native stack running in a partition and other partitions use a client to get to it. The lwip constants had values that were not the same as the RTEMS BSD headers for POSIX defines. There were also some places where the structure definitions did not align. I had to write a bit of mapping in the client. When lwip works at all, it would be awesome to have a way for it to ignore their own minimal POSIX API files and build against ours. </div><div><br></div><div>This would be similar to how the newlib headers define a very complete POSIX API set but each target OS may only support a subset of it.</div><div><br>As it is, I wonder if there is a conflict between the RTEMS newlib network .h files and those provided by lwip which could cause issues.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><br></div><div>We have no certain timeline yet, but it is now work-in-progress. We will bring to devel when progress is made. If we do lwIP too, we will aim to do a performance analysis with real hardware, so that we can hopefully provide evidence to help these kind of questions. </div><div><br></div><div>-Gedare </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Chris<br>
</blockquote></div></div>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a></blockquote></div></div>