On Wed, 2015-04-08 at 14:10 -0600, Jason Gunthorpe wrote: > On Wed, Apr 08, 2015 at 02:29:46PM -0400, Doug Ledford wrote: > > > To straighten all this out, lets break management out into the two > > distinct types: > > > > rdma_port_ib_fabric_mgmt() <- fabric specific management tasks: MAD, SM, > > multicast. The proper test for this with my bitmap above is a simple > > transport & RDMA_MGMT_IB test. If will be true for IB and OPA fabrics. > > > rdma_port_conn_mgmt() <- connection management, which we currently > > support everything except USNIC (correct Sean?), so a test would be > > something like !(transport & RDMA_TRANSPORT_USNIC). This is then split > > out into two subgroups, IB style and iWARP stype connection management > > (aka, rdma_port_iw_conn_mgmt() and rdma_port_ib_conn_mgmt()). In my > > above bitmap, since I didn't give IBOE its own transport type, these > > subgroups still boil down to the simple tests transport & iWARP and > > transport & IB like they do today. > > There is a lot more variation here than just these two tests, and those > two tests won't scale to include OPA. > > IB ROCEE OPA > SMI Y N Y (though the OPA smi looked a bit different) > IB SMP Y N N > OPA SMP N N Y > GMP Y Y Y > SA Y N Y > PM Y Y Y (? guessing for OPA) > CM Y Y Y > GMP needs GRH N Y N > You can still break this down to a manageable bitmap. SMI, SMP, and SA are all essentially the same and can be combined to one bitmap that is IB_SM 0x1 OPA_SM 0x2 and the defines are such that IB devices define IB_SM, and OPA devices define IB_SM and OPA_SM. Any minor differences between OPA and IB can be handled by testing just the OPA_SM bit. This will exclude all IBOE devices and iWARP devices. GMP, PM, and CM are all the same, and are all identical to transport == INFINIBAND. GMP needs GRH happens to be precisely the same as ib_dev_is_iboe. These are exactly the tests I proposed Jason. I'm not sure I see your point here. I guess my point is that although the scenario of all the different items seems complex, it really does boil down to needing only exactly what I proposed earlier to fulfill the entire test matrix. -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: 0E572FDD
Attachment:
signature.asc
Description: This is a digitally signed message part