Subject: [Capwap] New Issue 147: Timer Issues

From: "Pat Calhoun (pacalhou)" <[email-masked]>
Date: Tue, 8 Jul 2008 08:42:31 -0700

All, Yong has sent me the following two issues he has found as he
finished his review of the two specs. The first issue is an issue - we
need to include the timer in the state machine. The second one is also
correct as the default value is of the DataChannelKeepAlive, which is
30, so the default value needs to be 60.

4.7.6.  DTLSSessionDelete

   The minimum time, in seconds, a WTP MUST wait for DTLS session
   deletion.

   Default: 5

There is no other place talked about this timer. Do you need to put it
into FSM?

4.7.3.  DataChannelDeadInterval

   The minimum time, in seconds, a WTP MUST wait without having received
   a Data Channel Keep Alive packet before the destination for the Data
   Channel Keep Alive packets may be considered dead.  The value of this
   timer MUST be no less than 2*DataChannelKeepAlive seconds and no
   greater that 240 seconds.

   Default: 5

We have set the default of DataChannelKeepAlive to be 30. So here we
need to set DataChannelDeadInterval to be 60.
_________________________________________________________________
To unsubscribe or modify your subscription options, please visit:
http://lists.frascone.com/mailman/listinfo/capwap

Archives: http://lists.frascone.com/pipermail/capwap

---

From: "Pat Calhoun (pacalhou)" <[email-masked]>
Date: Tue, 8 Jul 2008 08:50:16 -0700

OK, so the fixes are fairly straightforward. All state transitions to
the DTLSTeardown need to have the DTLSSessionDelete timer started. If
the timer expires, then we DTLSTeardown to Idle or Dead (WTP or AC,
respectively) state transitions occurs. This ensures that the state
machine doesn't get stuck in the DTLSTeardown state. My apologies for
lots of text here - it would be hard to read if I just pulled the
sentence that I added. So the only change is the sentence referencing
the timer in each of the state transitions below:

<text>
   Authorize to DTLS Teardown (b):  This transition occurs to notify the
      DTLS stack that the session should be aborted.

      WTP:  This state transition occurs when the WTP was unable to
         authorize the AC, using the AC credentials.  The WTP then
         aborts the DTLS session by invoking the DTLSAbortSession
         command (see Section 2.3.2.1).  This state transition also
         occurs if the WaitDTLS timer has expired.  The WTP starts the
         DTLSSessionDelete timer (see Section 4.7.6).

      AC:  This state transition occurs when the AC was unable to
         authorize the WTP, using the WTP credentials.  The AC then
         aborts the DTLS session by invoking the DTLSAbortSession
         command (see Section 2.3.2.1).  This state transition also
         occurs if the WaitDTLS timer has expired.  The AC starts the
         DTLSSessionDelete timer (see Section 4.7.6).

   DTLS Connect to DTLS Teardown (c):  This transition occurs when the
      DTLS Session failed to be established.

      WTP:  This state transition occurs when the WTP receives either a
         DTLSAborted or DTLSAuthenticateFail notification (see
         Section 2.3.2.2), indicating that the DTLS session was not
         successfully established.  When this transition occurs due to
         the DTLSAuthenticateFail notification, the
         FailedDTLSAuthFailCount is incremented, otherwise the
         FailedDTLSSessionCount counter is incremented.  This state
         transition also occurs if the WaitDTLS timer has expired.  The
         WTP starts the DTLSSessionDelete timer (see Section 4.7.6).

      AC:  This state transition occurs when the AC receives either a
         DTLSAborted or DTLSAuthenticateFail notification (see
         Section 2.3.2.2), indicating that the DTLS session was not
         successfully established, and both of the
         FailedDTLSAuthFailCount and FailedDTLSSessionCount counters
         have not reached the value of the MaxFailedDTLSSessionRetry
         variable (see Section 4.8).  This state transition also occurs
         if the WaitDTLS timer has expired.  The AC starts the
         DTLSSessionDelete timer (see Section 4.7.6).
[...]
   Join to DTLS Teardown (e):  This transition occurs when the join
      process failed.

      WTP:  This state transition occurs when the WTP receives a Join
         Response message with a Result Code message element containing
         an error, if the Image Identifier provided by the AC in the
         Join Response message differs from the WTP's currently running
         firmware version and the WTP has the requested image in its
         non-volatile memory, or if the WaitDTLS timer expires.  This
         causes the WTP to initiate the DTLSShutdown command (see
         Section 2.3.2.1).  This transition also occurs if the WTP
         receives one of the following DTLS notifications: DTLSAborted,
         DTLSReassemblyFailure or DTLSPeerDisconnect.  The WTP starts
         the DTLSSessionDelete timer (see Section 4.7.6).

      AC:  This state transition occurs either if the WaitDTLS timer
         expires or if the AC transmits a Join Response message with a
         Result Code message element containing an error.  This causes
         the AC to initiate the DTLSShutdown command (see
         Section 2.3.2.1).  This transition also occurs if the AC
         receives one of the following DTLS notifications: DTLSAborted,
         DTLSReassemblyFailure or DTLSPeerDisconnect.  The AC starts the
         DTLSSessionDelete timer (see Section 4.7.6).
[...]
   Configure to DTLS Teardown (i):  This transition occurs when the
      configuration process aborts due to a DTLS error.

      WTP:  The WTP enters this state when it receives one of the
         following DTLS notifications: DTLSAborted,
         DTLSReassemblyFailure or DTLSPeerDisconnect (see
         Section 2.3.2.2).  The WTP MAY tear down the DTLS session if it
         receives frequent DTLSDecapFailure notifications.  The WTP
         starts the DTLSSessionDelete timer (see Section 4.7.6).

      AC:  The AC enters this state when it receives one of the
         following DTLS notifications: DTLSAborted,
         DTLSReassemblyFailure or DTLSPeerDisconnect (see
         Section 2.3.2.2).  The AC MAY tear down the DTLS session if it
         receives frequent DTLSDecapFailure notifications.  The AC
         starts the DTLSSessionDelete timer (see Section 4.7.6). 
[...]
   Image Data to DTLS Teardown (l):  This transition occurs when the
      firmware download process aborts due to a DTLS error.

      WTP:  The WTP enters this state when it receives one of the
         following DTLS notifications: DTLSAborted,
         DTLSReassemblyFailure or DTLSPeerDisconnect (see
         Section 2.3.2.2).  The WTP MAY tear down the DTLS session if it
         receives frequent DTLSDecapFailure notifications.  The WTP
         starts the DTLSSessionDelete timer (see Section 4.7.6).

      AC:  The AC enters this state when it receives one of the
         following DTLS notifications: DTLSAborted,
         DTLSReassemblyFailure or DTLSPeerDisconnect (see
         Section 2.3.2.2).  The AC MAY tear down the DTLS session if it
         receives frequent DTLSDecapFailure notifications.  The AC
         starts the DTLSSessionDelete timer (see Section 4.7.6).
[...]
   Data Check to DTLS Teardown (n):  This transition occurs when the WTP
      does not complete the Data Check exchange.

      WTP:  This state transition occurs if the WTP does not receive the
         Change State Event Response message before a CAPWAP
         retransmission timeout occurs.  The WTP also transitions to
         this state if the underlying reliable transport's
         RetransmitCount counter has reached the MaxRetransmit variable
         (see Section 4.7).  The WTP starts the DTLSSessionDelete timer
         (see Section 4.7.6).

      AC:  The AC enters this state when the DataCheckTimer timer
         expires (see Section 4.7).  The AC starts the DTLSSessionDelete
         timer (see Section 4.7.6).
[...]
   Run to DTLS Teardown (p):  This state transition occurs when an error
      has occurred in the DTLS stack, causing the DTLS session to be
      torn down.

      WTP:  The WTP enters this state when it receives one of the
         following DTLS notifications: DTLSAborted,
         DTLSReassemblyFailure or DTLSPeerDisconnect (see
         Section 2.3.2.2).  The WTP MAY tear down the DTLS session if it
         receives frequent DTLSDecapFailure notifications.  The WTP also
         transitions to this state if the underlying reliable
         transport's RetransmitCount counter has reached the
         MaxRetransmit variable (see Section 4.7).  The WTP starts the
         DTLSSessionDelete timer (see Section 4.7.6).

      AC:  The AC enters this state when it receives one of the
         following DTLS notifications: DTLSAborted,
         DTLSReassemblyFailure or DTLSPeerDisconnect (see
         Section 2.3.2.2).  The AC MAY tear down the DTLS session if it
         receives frequent DTLSDecapFailure notifications.  The AC
         transitions to this state if the underlying reliable
         transport's RetransmitCount counter has reached the
         MaxRetransmit variable (see Section 4.7).  This state
         transition also occurs when the AC's EchoInterval timer (see
         Section 4.7.7) or DTLSSessionDelete timer (see Section 4.7.6)
         expires.
[...]
   Reset to DTLS Teardown (s):  This transition occurs when the CAPWAP
      reset is complete, to terminate the DTLS session.

      WTP:  This state transition occurs when the WTP transmits a Reset
         Response message.  The WTP does not invoke the DTLSShutdown
         command (see Section 2.3.2.1).  The WTP starts the
         DTLSSessionDelete timer (see Section 4.7.6).

      AC:  This state transition occurs when the AC receives a Reset
         Response message.  This causes the AC to initiate the
         DTLSShutdown command (see Section 2.3.2.1).  The AC starts the
         DTLSSessionDelete timer (see Section 4.7.6).
[...]
   DTLS Teardown to Idle (t):  This transition occurs when the DTLS
      session has been shutdown.

      WTP:  This state transition occurs when the WTP has successfully
         cleaned up all resources associated with the control plane DTLS
         session, or if the DTLSSessionDelete timer (see Section 4.7.6)
         expires.  The data plane DTLS session is also shutdown, and all
         resources released, if a DTLS session was established for the
         data plane.  Any timers set for the current instance of the
         state machine are also cleared.

      AC:  This is an invalid state transition for the AC.
[...]
   DTLS Teardown to Dead (w):  This transition occurs when the DTLS
      session has been shutdown.

      WTP:  This is an invalid state transition for the WTP.

      AC:  This state transition occurs when the AC has successfully
         cleaned up all resources associated with the control plane DTLS
         session , or if the DTLSSessionDelete timer (see Section 4.7.6)
         expires.  The data plane DTLS session is also shutdown, and all
         resources released, if a DTLS session was established for the
         data plane.  Any timers set for the current instance of the
         state machine are also cleared.  The AC's Service thread is
         terminated.
[...]
4.7.3.  DataChannelDeadInterval

   Default: 60
</text>

This are the last of the changes from Yong's review. After I've received
the OK, I will submit the drafts for publication, and the chairs can go
ahead with another WG last call.

PatC
-----Original Message-----
From: Pat Calhoun (pacalhou) 
Sent: Tuesday, July 08, 2008 8:43 AM
To: [email-masked]
Subject: [Capwap] New Issue 147: Timer Issues

4.7.6.  DTLSSessionDelete

   Default: 5

   Default: 5

---

From: "Pat Calhoun (pacalhou)" <[email-masked]>
Date: Tue, 8 Jul 2008 09:03:08 -0700

Sorry, I made a mistake on the AC portion of the Run to DTLS Teardown
state transition below. It should be start the timer, while the text
below refered to the timer expiring. The new text is:

<text>
         Section 4.7.7) expires.  The AC starts the DTLSSessionDelete

-----Original Message-----
From: Pat Calhoun (pacalhou) 
Sent: Tuesday, July 08, 2008 8:50 AM
To: [email-masked]
Subject: Re: [Capwap] New Issue 147: Timer Issues

<text>

   Default: 60
</text>

PatC
-----Original Message-----
From: Pat Calhoun (pacalhou)
Sent: Tuesday, July 08, 2008 8:43 AM
To: [email-masked]
Subject: [Capwap] New Issue 147: Timer Issues

4.7.6.  DTLSSessionDelete

   Default: 5

   Default: 5