<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    On 03/23/2012 10:37 AM, Gedare Bloom wrote:
    <blockquote
cite="mid:CAC82fA1oYcqdZt9DKWpNJyx1N_he=tUye=_wiQcUYHg6sLrX7A@mail.gmail.com"
      type="cite">
      <pre wrap="">On Thu, Mar 22, 2012 at 8:55 PM, Kevin Polulak <a class="moz-txt-link-rfc2396E" href="mailto:kpolulak@gmail.com"><kpolulak@gmail.com></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">I've just completed my Hello World example so I can now begin seriously
considering my proposal.
</pre>
      </blockquote>
    </blockquote>
    Update
    <a class="moz-txt-link-freetext" href="http://www.rtems.org/wiki/index.php/RTEMSSummerOfCode#Students_Proposals">http://www.rtems.org/wiki/index.php/RTEMSSummerOfCode#Students_Proposals</a><br>
    to list yourself with a link to your proposal in Google Docs.<br>
    <br>
    Share it with at least myself (same email name at gmail.com)<br>
    and I will share it with the other mentors.<br>
    <br>
    I personally don't recommend making them public.<br>
    <blockquote
cite="mid:CAC82fA1oYcqdZt9DKWpNJyx1N_he=tUye=_wiQcUYHg6sLrX7A@mail.gmail.com"
      type="cite">
      <blockquote type="cite">
        <pre wrap="">

On Wed, Mar 21, 2012 at 7:24 AM, Joel Sherrill <a class="moz-txt-link-rfc2396E" href="mailto:joel.sherrill@oarcorp.com"><joel.sherrill@oarcorp.com></a>
wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">
Other requirements include it being very desirable to be able to use the
same driver with either stack. And to be able to use vanilla existing LWIP
drivers with RTEMS LWIP port but not the BSD stack.
</pre>
        </blockquote>
        <pre wrap="">

While talking to Gedare Bloom on IRC yesterday, he too mentioned that part
of the project would include the addition of a BSD compatibility layer. This
would allow applications to freely switch between the BSD stack and LWIP.
Doing so wouldn't be too difficult as LWIP already includes a BSD socket
compatibility API. In fact, the documentation for LWIP even provides a
reference implementation.

However, there are a few caveats. First, the BSD sockets compatibility API
does not support the select() and poll() functions since LWIP simply does
not have any functions for implementing them. According to Dunkel, such an
implementation could not use the API and instead would have to directly
communicate with the stack.

Would implementing the select() and poll() functions be necessary? If so,
I'll have to look a little further into how they are implemented on other
systems. I worry about select() because when I was with the Parrot project,
the test suite was always failing on certain platforms due to the highly
platform-dependent nature of this function and is very tricky to implement.

</pre>
      </blockquote>
      <pre wrap="">I don't think so. I view the "compatibility" issue as being one of
simplifying the transition of an application from lwIP to the BSD
stack in RTEMS. If lwIP already has a decent compatibility layer for
BSD then you might just be able to rely on that. We don't want to add
much code on top of lwIP for applications that will use it.

The real trick is to be able to reuse driver code for the two stacks...
</pre>
    </blockquote>
    +1 +1 +1 :)<br>
    <blockquote
cite="mid:CAC82fA1oYcqdZt9DKWpNJyx1N_he=tUye=_wiQcUYHg6sLrX7A@mail.gmail.com"
      type="cite">
      <pre wrap="">
</pre>
      <blockquote type="cite">
        <pre wrap="">From what I've been able to gather from other LWIP implementations, it seems
that the BSD sockets compatibility API is not meant to be used as a complete
replacement for applications designed for a full implementation of the BSD
stack. Rather, it should only be used to help assist in porting existing
applications. So far, I haven't been able to determine exactly what features
aren't possible but I'll look into it a little further. Is that going to be
a problem? I will certainly do my best to implement as many features as I
can but if it's not possible, it's not possible.

</pre>
      </blockquote>
      <pre wrap="">Not a problem because those applications will have the option to use
the BSD stack. This is why we want to have support for both stacks.
The lwIP stack is meant for smaller devices and applications that need
a smaller footprint.
</pre>
    </blockquote>
    +1<br>
    <br>
    I have heard of an RTEMS application using LWIP on a system with<br>
    less than ~150K total code and data space. This included SNMP and<br>
    a fairly complicated application.<br>
    <br>
    BSD stack is larger and more full featured. If it fits and you need
    the<br>
    features, it is a great solution. If you don't need the features or
    it<br>
    doesn't fit in your target, then LWIP is the option.<br>
    <blockquote
cite="mid:CAC82fA1oYcqdZt9DKWpNJyx1N_he=tUye=_wiQcUYHg6sLrX7A@mail.gmail.com"
      type="cite">
      <pre wrap="">
</pre>
      <blockquote type="cite">
        <pre wrap="">All that aside, I've found a good article on what should be included in the
operating system compatibility layer. Granted, it is for an older 0.6
version (the most recent is 1.4.0) but it should at least provide a decent
starting point for my proposal.

</pre>
      </blockquote>
      <pre wrap="">Great. See if you can get more updated material.
</pre>
    </blockquote>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    <a href="http://www.rtems.org/ftp/pub/rtems/people/joel/rtems-lwip/">http://www.rtems.org/ftp/pub/rtems/people/joel/rtems-lwip/</a><br>
    <br>
    is a port of lwip 1.1.0 to RTEMS for a single project. By the<br>
    time it was submitted, it was already way out of date but<br>
    it should be a good starting spot.<br>
    <blockquote
cite="mid:CAC82fA1oYcqdZt9DKWpNJyx1N_he=tUye=_wiQcUYHg6sLrX7A@mail.gmail.com"
      type="cite">
      <pre wrap="">
-Gedare
</pre>
      <blockquote type="cite">
        <pre wrap="">
--
- Kevin Polulak (soh_cah_toa)
- <a class="moz-txt-link-freetext" href="http://cybercrud.net">http://cybercrud.net</a>


_______________________________________________
rtems-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rtems-devel@rtems.org">rtems-devel@rtems.org</a>
<a class="moz-txt-link-freetext" href="http://www.rtems.org/mailman/listinfo/rtems-devel">http://www.rtems.org/mailman/listinfo/rtems-devel</a>

</pre>
      </blockquote>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Joel Sherrill, Ph.D.             Director of Research&  Development
<a class="moz-txt-link-abbreviated" href="mailto:joel.sherrill@OARcorp.com">joel.sherrill@OARcorp.com</a>        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985

</pre>
  </body>
</html>