[openib-general] openib gen2 architecture

Grant Grundler iod00d at hp.com
Thu Nov 18 09:41:51 PST 2004


On Thu, Nov 18, 2004 at 06:14:47PM +0200, shaharf wrote:
> Personally, I think that IB verbs (vapi) are so complicated that
> another level of abstraction is required. PDs, MRs, QPs QP state machine,
> PKEYs, MLIDs and other "curses", why should a module such as IPoIB
> knows about it?
> If the answer is performance then I have to disagree. In the same fashion
> you can say that in order to achieve efficient disk IO applications
> should know the disks geometry and to able to do direct IO to the disk
> firmware, or that applications should talk SCSI verbs to optimize their
> data transfers.

Some applications in fact still do this.  (e.g. sgp_dd in sg3-utils package)
But other applications trade off some of the performance for managability
(abstract storage) and portability to other storage technologies.

IPoIB should know whatever it needs about IB to get good performance.
It doesn't need to be portable and layers above (ifconfig) and below
(SA) should be providing managebility. (At assuming I understand
this correctly)


> I wonder if this is not the right time to come up with much better
> abstraction - for user mode and for kernel mode. For example, it
> seems that the abstraction layer should abstract the IB networking
> objects and not the IB hca interface. In other words - why not to build
> the abstraction around IB networking types - UD, RC, RD, MADS?

If you think it will perform as well as others expect IPoIB should,
then go for it. People argued replacing the TCP/IP stack (highly
tuned) with something else is a mistake since one also loses
all the features (packet filtering notable). Beware you aren't
the first to present a similar arguement. I don't really care
as long as it works.

thanks,
grant



More information about the general mailing list