[openib-general] OpenIB: OS Portablilty?

fabbri
Wed Apr 7 15:28:14 PDT 2004


Hi,

I'm doing some initial evaluation as to how difficult it would be to
port the openib stack to FreeBSD 5.x.  The features I'd want would be
IPoIB, SDP, and necessary supporting components (e.g. VAPI, SM, etc...)
I have a couple of questions to begin with:

1. There appears to be a goal of separating the openib stack into
OS-dependent and OS-independent parts, where possible.  However, when I
grep'ed the source for "#include <linux/" I found that almost all
subdirectories in the code tree had code which touches linux source.
The includes are surrounded by #ifdef's (win2k) in most cases. However,
this means the porting effort is widespread.

2. The openib codebase is rather large (some 174,000 lines of code).  To
support only the aforementioned protocols, what can I discard?  For
example I know I don't need SRP, i'm not using SCSI.

The tree looks like this:

(format is 'subdir # (lines of code) description')
.
`-- infiniband
    |-- client_query            # (6326)
    |-- cm                      # (4630)
    |-- core                    # (7265)
    |-- hw                      # (108372)
    |   `-- mellanox-hca
    |       |-- hh              # (432)
    |       |-- include         # (25590)
    |       |   `-- sys         
    |       |-- mosal           # (10530) Mellanox OS Abst. Layer?
    |       |-- mpga            # (3969)
    |       |-- provider        # (2794) 
    |       |-- thh             # (31192) ?
    |       |-- vapi            # (13368) IB Verbs API 
    |       |-- vapi_common     # (2216)  ""
    |       `-- vipkl           # (18281) VI Provider kernel lib?
    |-- include                 # (8218)
    |-- mad                     # (2197)
    |-- ulp
    |   |-- dapl                # (3714)
    |   |-- ipoib               # (10053) IP over IB
    |   |-- sdp                 # (12215) Sockets Direct Protocol
    |   `-- srp                 # (8004) SCSI Remote
    `-- useraccess


As you can see I don't know what a lot of these subdirs represent.
What code lives in the mpga, provider, hh, thh, client_query, and core
directories?  Are my other descriptions valid?

This is a pretty big question.  If there is a doc(s) which answers this
I'd be glad to read it.

3. Does anyone know of any other talk or efforts to port the
openib stack to other OS's, especially FreeBSD?  I'm curious about the
MacOSX based cluster we've all heard about. 

4. Anyone willing to provide an synopsis of what they think needs to
change to port to a new OS?  

5. In the long term, does the openib project aim for OS independence, or
tight coupling with linux?

Thank you!

-ajf 

-- 
<< Aaron Fabbri  o  Developer, Filesystems Team  o  isilon.com >>

-- 
To unsubscribe send an email with subject unsubscribe to openib-general at openib.org.
Please contact moderator at openib.org for questions.




More information about the openib-general mailing list