On Tue, Jan 26, 2021 at 08:28:18PM +0000, Haakon Bugge wrote: > >>> @@ -1122,7 +1123,8 @@ static int ipoib_cm_modify_tx_init(struct > >> net_device *dev, > >>> struct ipoib_dev_priv *priv = ipoib_priv(dev); > >>> struct ib_qp_attr qp_attr; > >>> int qp_attr_mask, ret; > >>> - ret = ib_find_pkey(priv->ca, priv->port, priv->pkey, > >> &qp_attr.pkey_index); > >>> + ret = ib_find_cached_pkey(priv->ca, priv->port, priv->pkey, > >>> + &qp_attr.pkey_index); > >> > >> ipoib interfaces are locked to a single pkey, you should be able to get the > >> pkey index that was determined at link up time and use it here instead of > >> searching anything > > Isn't possible to: > > # ip link add DEVICE name NAME type ipoib [ pkey PKEY ] > > ? Yes, and each new netdev that spawns has a fixed pkey that doesn't change for the life of the netdev Jason