GSoC 2012

Kevin Polulak kpolulak at gmail.com
Mon Mar 26 01:14:16 UTC 2012


On Sun, Mar 25, 2012 at 8:05 PM, Joel Sherrill <joel.sherrill at oarcorp.com>wrote:

> If you are willing to try, then we are willing to help. No one else has
> expressed interest in this.


Thank you. Headache slowly fading... ;)

On Sun, Mar 25, 2012 at 8:05 PM, Joel Sherrill <joel.sherrill at oarcorp.com>wrote:

> Let me break one item down -- the in_cksum one.  OAR is committed to the
> port on two architectures (x86 and MIPS). That leaves potentially 13 other
> architectures in RTEMS to address. We don't expect you to optimize the
> in_cksum for all of those. Find an implementation in either the FreeBSD
> or current RTEMS TCP/IP stack, integrate it into rtems-libbsd.git,
> verify that it builds, and our tests continue to link. That's it for that
> task.
>

Ok, maybe that's not so bad; I enjoy bit bashing. Is in_cksum() an
implementation of RFC 1071 <http://www.rfc-editor.org/rfc/rfc1071.txt>? If
so, I think I can handle that. How must the checksum algorithm be optimized
though? By "optimize" do you mean, as RFC 1071 says, "carefully hand-craft
the checksum routine, exploiting every machine-dependent trick possible"?
Are they to be implemented in C or the native assembly language of the
architecture? I would imagine assembly.

On Sun, Mar 25, 2012 at 8:05 PM, Joel Sherrill <joel.sherrill at oarcorp.com>wrote:

> We have (or will have) a spreadsheet of NIC drivers in the current tree.
> For NICs in BSP directories, identify if there is a FreeBSD version. If so,
> integrate it into rtems-libbsd.git and verify it builds. If time permits,
> you
> may take a stab at a version of the BSP specific glue code for that BSP
> that is known to compile.
>

Also not so bad. However, I've never written a NIC driver before. Are they
easy enough to understand that I might be able to familiarize myself with
them before coding starts? Are there any drivers in particular I could look
at that would serve as a good place to start learning?

On Sun, Mar 25, 2012 at 8:05 PM, Joel Sherrill <joel.sherrill at oarcorp.com>wrote:

> The first thing to realize is that you won't be a trailblazer on this
> project.
> The team doing this is focusing on two BSPs and two NIC drivers to prove
> that the stack works. That leaves other architectures, many other BSPs, and
> many NICs to address. We are doing "depth" and you would be doing
> "breadth".
> The mentorship here should actually be stronger than on many projects
> because
> we are actively working on this.
>

I'm comfortable with that. That's exactly how I'd like to start as a
newcomer.

Maybe having lwIP being tossed won't be such a bad thing. In fact, I think
it might work out for the better. After a little more detail, the tasks
you've described so far all seem like decent places to start.

At this point, here's what I think I need to do:

   - Read through RFC 1071 to familiarize myself with the Internet checksum
   algorithm.
   - Look through FreeBSD and RTEMS source for architecture-specific
   implementations of in_cksum().
   - Find a simple NIC driver to learn how they're written to help gauge my
   proposal timeline.
   - Look at NIC spreadsheet and see if a FreeBSD version exists.

Is that appropriate? Is there anything that should be added?

-- 
- Kevin Polulak (soh_cah_toa)
- http://cybercrud.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20120325/41452fc8/attachment.html>


More information about the devel mailing list