On Wed, Nov 30, 2016 at 06:46:13PM +0000, Hefty, Sean wrote: > > > But protocols are associated with QPs. I'm not sure *why* an AH is > > > linked to a PD. Conceptually the association seems unnecessary. > > > > The AH has to be linked to the PD because the PD specifies the > > hardware target and the AH is a hardware object. All objects must be > > traced back to a PD. It is linked to a PD not a QP because the AH can > > be shared across all QPs, which is useful for UD applications.. > > > > The AH is really similar to the ethernet layer in an IP stack, and the > > QP > > is akin the TCP layer. > > I always viewed the AH as specifying the route to the destination > port. Locally, I still don't see why it couldn't work across the > device, like the CQ does. Associating it with a PD just seems to > limit which QPs, and by association the memory buffers, it can be > used with. So, I'm still not seeing the reason for the linkage... Oh I see what you mean, I forgot about that - yes, I don't see any reason why the AH is linked to the PD not the ibv_context.. Perhaps it is an artifact of the thinking when applying this to the kernel where each ULP would allocate resources to the PD and then destroy the PD when the connection is done? So per ulp resources were charged to the PD.. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html