From f14f3ef6fe43c46716e729a3b443a111740a60c2 Mon Sep 17 00:00:00 2001 From: Peter Lieven Date: Tue, 17 Jun 2014 14:56:43 +0200 Subject: [PATCH] pdu: handle async events 2,3,4 Signed-off-by: Peter Lieven --- lib/pdu.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/pdu.c b/lib/pdu.c index ddc7711..36c1df9 100644 --- a/lib/pdu.c +++ b/lib/pdu.c @@ -407,6 +407,18 @@ iscsi_process_pdu(struct iscsi_context *iscsi, struct iscsi_in_pdu *in) ISCSI_LOG(iscsi, 2, "target requests logout within %u seconds", param3); iscsi_logout_async_internal(iscsi, iscsi_reconnect_after_logout, NULL, ISCSI_PDU_DROP_ON_RECONNECT|ISCSI_PDU_URGENT_DELIVERY); return 0; + case 0x2: + ISCSI_LOG(iscsi, 2, "target will drop this connection. Time2Wait is %u seconds", param2); + iscsi->last_reconnect = time(NULL) + param2; + return 0; + case 0x3: + ISCSI_LOG(iscsi, 2, "target will drop all connections of this session. Time2Wait is %u seconds", param2); + iscsi->last_reconnect = time(NULL) + param2; + return 0; + case 0x4: + ISCSI_LOG(iscsi, 2, "target requests parameter renogitiation."); + iscsi_logout_async_internal(iscsi, iscsi_reconnect_after_logout, NULL, ISCSI_PDU_DROP_ON_RECONNECT); + return 0; default: ISCSI_LOG(iscsi, 1, "unhandled async event %u: param1 %u param2 %u param3 %u", event, param1, param2, param3); return -1;