[openib-general] [PATCH] IB/SRP: Enable multichannel

Ishai Rabinovitz ishai at mellanox.co.il
Tue Sep 26 07:45:41 PDT 2006


Hi Roland,

SRP High Availability needs an initiator to connect to the same target 
several times, e.g., once from each IB port of the target (this way we can use
device mapper multipath for failover). Note that both connections are actually
active, e.g. multipath is issuing commands to to get the remote scsi id.

Since multiple channel operation is currently disabled in connection request,
each new connection request will cause the target to disconnect
the existing connection which forces us to bounce a lot between the two channels.

This patch enables multiple channel operation in connection requests, to avoid getting
disconnects when multiple connections are active. There does not seem to be any harm
in doing this even when multipath is not used.

Signed-off-by: Ishai Rabinovitz <ishai at mellanox.co.il>

---

Index: last_stable/drivers/infiniband/ulp/srp/ib_srp.c
===================================================================
--- last_stable.orig/drivers/infiniband/ulp/srp/ib_srp.c	2006-09-26 09:22:13.000000000 +0300
+++ last_stable/drivers/infiniband/ulp/srp/ib_srp.c	2006-09-26 14:54:35.000000000 +0300
@@ -329,6 +329,7 @@ static int srp_send_req(struct srp_targe
 	req->priv.req_it_iu_len = cpu_to_be32(srp_max_iu_len);
 	req->priv.req_buf_fmt 	= cpu_to_be16(SRP_BUF_FORMAT_DIRECT |
 					      SRP_BUF_FORMAT_INDIRECT);
+	req->priv.req_flags	= SRP_MULTICHAN_MULTI;
 	/*
 	 * In the published SRP specification (draft rev. 16a), the 
 	 * port identifier format is 8 bytes of ID extension followed
-- 
Ishai Rabinovitz




More information about the general mailing list