Blame SOURCES/open-iscsi-2.0.874-7-iscsid-Changes-to-support-the-new-qedi-transport.patch

e88930
From dc939e78d6dab78f3fcddfada581fa402604bb51 Mon Sep 17 00:00:00 2001
e88930
From: Nilesh Javali <nilesh.javali@cavium.com>
e88930
Date: Fri, 11 Nov 2016 08:17:50 +0200
e88930
Subject: iscsid: Changes to support the new qedi transport
e88930
e88930
Signed-off-by: Manish Rangankar <manish.rangankar@cavium.com>
e88930
Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
e88930
Signed-off-by: Nilesh Javali <nilesh.javali@cavium.com>
e88930
---
e88930
 usr/initiator_common.c |  2 +-
e88930
 usr/transport.c        | 13 +++++++++++++
e88930
 usr/transport.h        |  1 +
e88930
 3 files changed, 15 insertions(+), 1 deletion(-)
e88930
e88930
diff --git a/usr/initiator_common.c b/usr/initiator_common.c
e88930
index 1d1d82251ad4..191e779bb942 100644
e88930
--- a/usr/initiator_common.c
e88930
+++ b/usr/initiator_common.c
e88930
@@ -700,7 +700,7 @@ int iscsi_host_set_net_params(struct iface_rec *iface,
e88930
 		netdev = hinfo.iface.netdev;
e88930
 	}
e88930
 
e88930
-	if (net_ifup_netdev(netdev))
e88930
+	if (!t->template->no_netdev && net_ifup_netdev(netdev))
e88930
 		log_warning("Could not brining up netdev %s. Try running "
e88930
 			    "'ifup %s' first if login fails.", netdev, netdev);
e88930
 
e88930
diff --git a/usr/transport.c b/usr/transport.c
e88930
index 18b770464608..533ba30a8846 100644
e88930
--- a/usr/transport.c
e88930
+++ b/usr/transport.c
e88930
@@ -114,6 +114,18 @@ struct iscsi_transport_template ocs = {
e88930
 	.ep_disconnect	= ktransport_ep_disconnect,
e88930
 };
e88930
 
e88930
+struct iscsi_transport_template qedi = {
e88930
+	.name		= "qedi",
e88930
+	.set_host_ip	= SET_HOST_IP_REQ,
e88930
+	.use_boot_info	= 1,
e88930
+	.bind_ep_required = 1,
e88930
+	.no_netdev = 1,
e88930
+	.ep_connect	= ktransport_ep_connect,
e88930
+	.ep_poll	= ktransport_ep_poll,
e88930
+	.ep_disconnect	= ktransport_ep_disconnect,
e88930
+	.set_net_config = uip_broadcast_params,
e88930
+};
e88930
+
e88930
 static struct iscsi_transport_template *iscsi_transport_templates[] = {
e88930
 	&iscsi_tcp,
e88930
 	&iscsi_iser,
e88930
@@ -123,6 +135,7 @@ static struct iscsi_transport_template *iscsi_transport_templates[] = {
e88930
 	&qla4xxx,
e88930
 	&be2iscsi,
e88930
 	&ocs,
e88930
+	&qedi,
e88930
 	NULL
e88930
 };
e88930
 
e88930
diff --git a/usr/transport.h b/usr/transport.h
e88930
index 4d3bdbff67f8..b67776b47288 100644
e88930
--- a/usr/transport.h
e88930
+++ b/usr/transport.h
e88930
@@ -39,6 +39,7 @@ struct iscsi_transport_template {
e88930
 	uint8_t set_host_ip;
e88930
 	uint8_t use_boot_info;
e88930
         uint8_t bind_ep_required;
e88930
+	uint8_t no_netdev;
e88930
 	int (*ep_connect) (struct iscsi_conn *conn, int non_blocking);
e88930
 	int (*ep_poll) (struct iscsi_conn *conn, int timeout_ms);
e88930
 	void (*ep_disconnect) (struct iscsi_conn *conn);
e88930
-- 
e88930
2.9.3
e88930