> > I think there are two sane ways to handle non-IB ports in mlx4_ib: > > - Have mlx4_ib report the number of IB ports as phys_port_cnt and have > an indirection table that maps from IB port # to physical HCA port # > (to handle the case where only port 2 is IB, so you need to map IB > port 1 to HCA physical port 2). This leads to some confusion with > the real-world labels on ports I guess, and also I guess you need > some SMA trickery to report the right port # to the SM. > > - Report the number of physical HCA ports as phys_port_cnt and just > have non-IB ports always say they're DOWN. This makes changing > config on the fly easier, since a port going from DOWN to INIT is a > pretty normal thing. I guess there is a little bit of hackery > involved in handling requests to mlx4_ib that involve non-IB ports. > > However your changes seem to take a third way and I don't understand how > it can work. Perhaps you can clarify? > > - R.
We intend to handle non-IB ports (Ethernet) just as IB ports, where all IB traffic that passes through Ethernet ports is IBoE. So basically, we will register ConnectX as a dual-ported HCA for all configurations. Many ULPs would run transparently on IB or IBoE, depending on the port type. In addition, port numbers always remain true to their physical ports. Until the IBoE implementation is completed, we temporarily disallow the configuration in which port 1 is eth and port 2 is ib. This allows us to register ConnectX as a single-port HCA to the ib core when port 2 is eth, without the aforementioned (and temporary) hacks. --Liran _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
