[openfabrics-ewg] [openib-general] FW: [PATCH fixed] [RFC] IB/srp: enable multiple connections to the same target
Scott Weitzenkamp (sweitzen)
sweitzen at cisco.com
Mon Oct 9 15:18:27 PDT 2006
Vlad,
I'd like either an rc8 with this patch, or a pre1 build a day before the
final build so I can test this fix.
Scott Weitzenkamp
SQA and Release Manager
Server Virtualization Business Unit
Cisco Systems
> -----Original Message-----
> From: Roland Dreier (rdreier)
> Sent: Monday, October 09, 2006 10:17 AM
> To: Scott Weitzenkamp (sweitzen)
> Cc: Lakshmanan, Madhu; Ishai Rabinovitz; openib-general at openib.org
> Subject: Re: [openib-general] FW: [PATCH fixed] [RFC] IB/srp:
> enable multiple connections to the same target
>
> > I am also having new problems configuring SRP with OFED
> 1.1 rc7, I have
> > asked Roland to take a look on my test networks.
>
> The problem is that Cisco SRP targets insist on the initiator ID being
> 8 bytes of 0 followed by the initiator node GUID. The source says
>
> /*
> * Topspin/Cisco SRP targets will reject our login unless we
> * zero out the first 8 bytes of our initiator port ID. The
> * second 8 bytes must be our local node GUID, but we always
> * use that anyway.
> */
>
> but with the change to allow userspace-specified initiator IDs, we
> don't use the node GUID anyway.
>
> I added the following on top of the "multiple connections" patch that
> was queued for 2.6.19. Can this be put into OFED as well?
>
> - R.
>
> diff --git a/drivers/infiniband/ulp/srp/ib_srp.c
> b/drivers/infiniband/ulp/srp/ib_srp.c
> index 3bf0c5b..4b09147 100644
> --- a/drivers/infiniband/ulp/srp/ib_srp.c
> +++ b/drivers/infiniband/ulp/srp/ib_srp.c
> @@ -359,15 +359,16 @@ static int srp_send_req(struct srp_targe
>
> /*
> * Topspin/Cisco SRP targets will reject our login unless we
> - * zero out the first 8 bytes of our initiator port ID. The
> - * second 8 bytes must be our local node GUID, but we always
> - * use that anyway.
> + * zero out the first 8 bytes of our initiator port ID and set
> + * the second 8 bytes to the local node GUID.
> */
> if (topspin_workarounds && !memcmp(&target->ioc_guid,
> topspin_oui, 3)) {
> printk(KERN_DEBUG PFX "Topspin/Cisco initiator
> port ID workaround "
> "activated for target GUID %016llx\n",
> (unsigned long long)
> be64_to_cpu(target->ioc_guid));
> memset(req->priv.initiator_port_id, 0, 8);
> + memcpy(req->priv.initiator_port_id + 8,
> + &target->srp_host->dev->dev->node_guid, 8);
> }
>
> status = ib_send_cm_req(target->cm_id, &req->param);
>
More information about the ewg
mailing list