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-0001.html>
More information about the devel
mailing list