IB/SA: Add OPA path record type
Add opa_sa_path_rec to sa_path_rec data structure. The 'type' field in sa_path_rec identifies the type of the path record. Reviewed-by: Don Hiatt <don.hiatt@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

committed by
Doug Ledford

parent
9fdca4da4d
commit
5752075144
@@ -219,7 +219,7 @@ static int ipoib_path_seq_show(struct seq_file *file, void *iter_ptr)
|
||||
" DLID: 0x%04x\n"
|
||||
" SL: %12d\n"
|
||||
" rate: %8d.%d Gb/sec\n",
|
||||
be16_to_cpu(sa_path_get_dlid(&path.pathrec)),
|
||||
be32_to_cpu(sa_path_get_dlid(&path.pathrec)),
|
||||
path.pathrec.sl,
|
||||
rate / 1000, rate % 1000);
|
||||
}
|
||||
|
@@ -668,9 +668,9 @@ void ipoib_mark_paths_invalid(struct net_device *dev)
|
||||
spin_lock_irq(&priv->lock);
|
||||
|
||||
list_for_each_entry_safe(path, tp, &priv->path_list, list) {
|
||||
ipoib_dbg(priv, "mark path LID 0x%04x GID %pI6 invalid\n",
|
||||
be16_to_cpu(sa_path_get_dlid(&path->pathrec)),
|
||||
path->pathrec.dgid.raw);
|
||||
ipoib_dbg(priv, "mark path LID 0x%08x GID %pI6 invalid\n",
|
||||
be32_to_cpu(sa_path_get_dlid(&path->pathrec)),
|
||||
path->pathrec.dgid.raw);
|
||||
path->valid = 0;
|
||||
}
|
||||
|
||||
@@ -731,7 +731,7 @@ static void path_rec_completion(int status,
|
||||
|
||||
if (!status)
|
||||
ipoib_dbg(priv, "PathRec LID 0x%04x for GID %pI6\n",
|
||||
be16_to_cpu(sa_path_get_dlid(pathrec)),
|
||||
be32_to_cpu(sa_path_get_dlid(pathrec)),
|
||||
pathrec->dgid.raw);
|
||||
else
|
||||
ipoib_dbg(priv, "PathRec status %d for GID %pI6\n",
|
||||
@@ -755,7 +755,7 @@ static void path_rec_completion(int status,
|
||||
path->ah = ah;
|
||||
|
||||
ipoib_dbg(priv, "created address handle %p for LID 0x%04x, SL %d\n",
|
||||
ah, be16_to_cpu(sa_path_get_dlid(pathrec)),
|
||||
ah, be32_to_cpu(sa_path_get_dlid(pathrec)),
|
||||
pathrec->sl);
|
||||
|
||||
while ((skb = __skb_dequeue(&path->queue)))
|
||||
@@ -1000,8 +1000,8 @@ static void unicast_arp_send(struct sk_buff *skb, struct net_device *dev,
|
||||
}
|
||||
|
||||
if (path->ah) {
|
||||
ipoib_dbg(priv, "Send unicast ARP to %04x\n",
|
||||
be16_to_cpu(sa_path_get_dlid(&path->pathrec)));
|
||||
ipoib_dbg(priv, "Send unicast ARP to %08x\n",
|
||||
be32_to_cpu(sa_path_get_dlid(&path->pathrec)));
|
||||
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
path->ah->last_send = rn->send(dev, skb, path->ah->ah,
|
||||
|
@@ -2400,7 +2400,7 @@ static void srp_cm_rej_handler(struct ib_cm_id *cm_id,
|
||||
switch (event->param.rej_rcvd.reason) {
|
||||
case IB_CM_REJ_PORT_CM_REDIRECT:
|
||||
cpi = event->param.rej_rcvd.ari;
|
||||
sa_path_set_dlid(&ch->path, cpi->redirect_lid);
|
||||
sa_path_set_dlid(&ch->path, htonl(ntohs(cpi->redirect_lid)));
|
||||
ch->path.pkey = cpi->redirect_pkey;
|
||||
cm_id->remote_cm_qpn = be32_to_cpu(cpi->redirect_qp) & 0x00ffffff;
|
||||
memcpy(ch->path.dgid.raw, cpi->redirect_gid, 16);
|
||||
|
Reference in New Issue
Block a user