|
@@ -3389,7 +3389,9 @@ static bool iscsit_check_inaddr_any(struct iscsi_np *np)
|
|
|
|
|
|
#define SENDTARGETS_BUF_LIMIT 32768U
|
|
|
|
|
|
-static int iscsit_build_sendtargets_response(struct iscsi_cmd *cmd)
|
|
|
+static int
|
|
|
+iscsit_build_sendtargets_response(struct iscsi_cmd *cmd,
|
|
|
+ enum iscsit_transport_type network_transport)
|
|
|
{
|
|
|
char *payload = NULL;
|
|
|
struct iscsi_conn *conn = cmd->conn;
|
|
@@ -3466,6 +3468,9 @@ static int iscsit_build_sendtargets_response(struct iscsi_cmd *cmd)
|
|
|
struct iscsi_np *np = tpg_np->tpg_np;
|
|
|
bool inaddr_any = iscsit_check_inaddr_any(np);
|
|
|
|
|
|
+ if (np->np_network_transport != network_transport)
|
|
|
+ continue;
|
|
|
+
|
|
|
if (!target_name_printed) {
|
|
|
len = sprintf(buf, "TargetName=%s",
|
|
|
tiqn->tiqn);
|
|
@@ -3517,11 +3522,12 @@ eob:
|
|
|
|
|
|
int
|
|
|
iscsit_build_text_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
|
|
|
- struct iscsi_text_rsp *hdr)
|
|
|
+ struct iscsi_text_rsp *hdr,
|
|
|
+ enum iscsit_transport_type network_transport)
|
|
|
{
|
|
|
int text_length, padding;
|
|
|
|
|
|
- text_length = iscsit_build_sendtargets_response(cmd);
|
|
|
+ text_length = iscsit_build_sendtargets_response(cmd, network_transport);
|
|
|
if (text_length < 0)
|
|
|
return text_length;
|
|
|
|
|
@@ -3559,7 +3565,7 @@ static int iscsit_send_text_rsp(
|
|
|
u32 tx_size = 0;
|
|
|
int text_length, iov_count = 0, rc;
|
|
|
|
|
|
- rc = iscsit_build_text_rsp(cmd, conn, hdr);
|
|
|
+ rc = iscsit_build_text_rsp(cmd, conn, hdr, ISCSI_TCP);
|
|
|
if (rc < 0)
|
|
|
return rc;
|
|
|
|