One document matched: draft-hu-pim-route-flap-damping-00.txt




Pim                                                          Fangwei. Hu
Internet-Draft                                                Jacni. Qin
Intended status: Standards Track                            Zheng. Zhang
Expires: April 26, 2012                                     BenChong. Xu
                                                         ZTE Corporation
                                                            Oct 24, 2011


                         PIM Route Flap Damping
                 draft-hu-pim-route-flap-damping-00.txt

Abstract

   This document describes the route flap damping functions for PIM-SM
   [RFC4601], to reduce the processing load caused by the instability of
   routing peers.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 26, 2012.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.



Hu, et al.               Expires April 26, 2012                 [Page 1]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Parameters Definition  . . . . . . . . . . . . . . . . . . . .  3
   3.  PIM Join/Prune message Damping . . . . . . . . . . . . . . . .  3
     3.1.  (*,*, RP)Join/Prune Message Damping  . . . . . . . . . . .  3
     3.2.  (*, G) Join/Prune Message Damping  . . . . . . . . . . . .  7
     3.3.  (S, G) Join/Prune Message Damping  . . . . . . . . . . . . 10
     3.4.  (S, G, RPT) Join/Prune Message Damping . . . . . . . . . . 14
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . . 17
   5.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 18
   6.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
     6.1.  Normative references . . . . . . . . . . . . . . . . . . . 18
     6.2.  Informative References . . . . . . . . . . . . . . . . . . 18
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18




































Hu, et al.               Expires April 26, 2012                 [Page 2]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


1.  Introduction

   The instability of downstream routers, which may include the frequent
   change of, for instance the unicast routing, the physical state of
   multicast interfaces etc., will trigger an excessive number of Join/
   Prune messages sent upwards to the routing peers where an extra
   amount of updates of routing state are made.  This is referred to
   herein as "route flap".

   This document specifies the damping functions to reduce the
   processing load caused by route flaps on the upstream routers.  The
   damping functions are categorized according to route flaps resulting
   from different types of Join/Prune messages received.  In addition,
   it should be noted that the original operations and state machines of
   the PIM protocol are preserved when the design of these damping
   functions is implemented.


2.  Parameters Definition

   Flap count: It is used to count the times of PIM multicast route item
   flapping.

   Damping threshold: This value is expressed as a number of PIM
   multicast route withdrawals.  It is above which a PIM multicast route
   will be suppressed.

   Damping reuse threshold: This value is expressed as a number of PIM
   multicast route withdrawals.  It is below which a suppressed item
   will now be used again.

   Half life timer: It is a cycle timer.  When half life timer is
   expired, the flap count will be reduced by half if it is bigger than
   1.  If the flap count is 1, it is reduced to 0.  The half life timer
   is used in the NoDamping and Damping state.

   Maximum hold timer: This value is the maximum time a suppressed PIM
   multicast route item should be reuse no matter how unstable it has
   been prior to this period of stability.


3.  PIM Join/Prune message Damping

3.1.  (*,*, RP)Join/Prune Message Damping

   The (*,*, RP) Damping state is shown in figure 1, there are three
   states:




Hu, et al.               Expires April 26, 2012                 [Page 3]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


   Idle
      The damping function isn't enabled yet in this router.

   Damping
      The (*,*, RP) state is damped in this router.  The (*, *, RP)
      damping route is in damping list.

   NoDamping
      The (*,*, RP) state is not damped in this router.  The (*, *, RP)
      damping route is in damping pending list.

   The following events can change the (*,*, RP) Join/Prune message
   damping state:

      E1: damping function is enabled in the router.

      E2: damping disable is disabled in the router.

      E3: The flap count is above the damping threshold.

      E4: The flap count is below the damping reuse threshold.

      E5: maximum hold timer is expired.

   (*,*, RP)damping state machine

    +------+           E1                +----------+
    | Idle |---------------------------> | NoDamping|
    +------+ <-------------------------  +----------+
        ^               E2                  ^  |
        |                                   |  |
        |                                   |  |
    E2  |                         E4 or E5  |  |
        |                                   |  |
        |                                   |  |  E3
        |                 +-------+         |  |
        +-----------------|Damping|---------+  |
                          +-------+ <----------+

                                 Figure 1

   (*, *, RP) state machine for triggered messages in tabular form:









Hu, et al.               Expires April 26, 2012                 [Page 4]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


           | Event |     Idle      |     Damping    |    NoDamping   |
           +-------+---------------+----------------+----------------+
           |  E1   |  ->NoDamping  |       N/A      |      N/A       |
           |       |  [Action A1]  |                |                |
           +-----------------------+----------------+----------------+
           |  E2   |     N/A       |    -> Idle     |    -> Idle     |
           |       |               |    [Action A2] |   [Action A2]  |
           +-----------------------+----------------+----------------+
           |       |               |                |    -> Damping  |
           |  E3   |     N/A       |        N/A     |   [Action A3]  |
           +-----------------------+----------------+----------------+
           |  E4   |     N/A       | -> NoDamping   |      N/A       |
           |       |               |  [Action A4]   |                |
           +-----------------------+----------------+----------------+
           |  E5   |     N/A       | -> NoDamping   |      N/A       |
           |       |               |  [Action A5]   |                |
           +-----------------------+----------------+----------------+

   Transitions from Idle state
      When the (*, *, RP) damping state machine is in Idle state, the
      following events may trigger transitions:

         E1:The damping function is enabled in this router.  The (*, *,
         RP)damping state machine enters into NoDamping state

   Transitions from NoDamping State
      When the (*, *, RP) damping state machine is in NoDamping state,
      the following events may trigger transitions:

         E3: The flap count is used to count the changes of (*, *, RP)
         route.  If the (*, *, RP)item is in Join state and the new
         Join/Prune message received indicates that the route should be
         pruned, the flap count should record the change, and vice
         versa, if the (*, *, RP) route is in delete state and new Join/
         Prune message received indicates that the route should be
         created, the flap count also records it.  If the flap count is
         above the damping threshold, event E3 is triggered, the state
         machine enters into damping state.

   Transitions from NoDamping State
      When the (*, *, RP) damping state machine is in damping state, the
      following events may trigger transitions:

         E2: The damping function is disabled in this router.  The (*,
         *, RP) damping state machine enters into Idle state.






Hu, et al.               Expires April 26, 2012                 [Page 5]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


         E4: The flap count is below the damping reuse threshold, the
         item in damping list is reused, and the (*, *, RP) damping
         route state machine enters into NoDamping state.

         E5: The maximum hold timer is expired.  The PIM (*, *, RP)
         route item in Damping state is reused no matter how unstable it
         has been prior to this period of stability.  The (*, *, RP)
         damping route state machine enters into NoDamping state.

   (*,*, RP) damping state machine actions:

      Action A1: The damping function is enabled in the router.  The
      router is ready to record the times of (*,*, RP) route state
      changed.  If the PIM Join/Prune message is received and a new
      (*,*, RP) item is required to create, the (*,*, RP) item is added
      to damping pending list if there is no item for that (*,*, RP) and
      the state is Join, and the flap count should plus one.  If the PIM
      Join/Prune message is received and a (*,*, RP) item is required to
      prune from the (*,*, RP) table, the (*,*, RP) item is added to
      damping pending list if there is no item for that (*,*, RP) and
      the state is Prune, and the flap count should plus one.  The half
      life timer is started when the (*,*, RP) item is added to the
      damping pending list.

      The cycle half life timer is running when the damping pending (*,
      *, RP) is in NoDamping state.  If half life timer is expired, the
      flap count is reduced by half.

      If the flap count is reduced to zero, (*, *, RP) route should be
      recovery based on the state in the damping list.  If the state of
      (*, *, RP) in the damping pending list is Join, the (*, *, RP)
      route will be added to the multicast routing table.  If the
      damping (*, *, RP) route state in damping list is prune, the (*,
      *, RP) route will be deleted from the multicast routing table if
      the (*, *, RP) route is existed in.  The damping pending (*, *,
      RP) is deleted from the damping pending list.

      Action A2: The damping function is disabled in the router.  The
      state machine enters Idle state.  The half life timer is stopping
      if it runs.  The flap count is reset and stop counting the times
      of (*,*, RP) route state change.

      Action A3: The PIM (*,*, RP) route state is suppressed and moved
      from the damping pending list to damping list, and the cycle half
      life timer for that (*,*,RP) route is started.  The maximum
      holding timer is started if it doesn't run.





Hu, et al.               Expires April 26, 2012                 [Page 6]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


      Action A4: The suppressed item is reused again.  If the damping
      (*,*, RP) route state in damping list is join, the (*,*, RP) route
      will be added to the multicast routing table.  If the damping
      (*,*, RP) route state in damping list is prune, the (*,*, RP)
      route will be deleted from the multicast routing table if the
      (*,*, RP) route is existed in.  The damping (*,*, RP) route is
      deleted from the damping list.  The flap count is reset and stop
      counting the times of (*, *, RP) damping route state change.  The
      cycle half life timer and maximum hold timer are stopped.

      Action A5: The maximum hold timer is expired.  The (*,*, RP) route
      state item in Damping state is reused.  If the damping (*,*, RP)
      route state in damping list is join, the (*,*, RP) route will be
      added to the multicast routing table.  If the damping (*,*, RP)
      route state in damping list is prune, the (*,*, RP) route will be
      deleted from the multicast routing table if the (*,*, RP) route is
      existed in.  The reuse timer and maximum hold timer are stopped if
      they run.  The damping (*,*, RP) route is deleted from the damping
      list.  The flap count is reset and stop counting the times of (*,
      *, RP) damping route state changed.  The cycle half life timer and
      maximum hold timer are stopped.

3.2.  (*, G) Join/Prune Message Damping

   The (*, G) Damping state is shown in figure 2, there are three
   states:

   Idle
      The damping function isn't enabled yet in this router

   Damping
      The (*, G) state is damped in this router.  The (*, G) damping
      route is in damping list.

   NoDamping
      The (*, G) state is not damped in this router.  The (*, G) damping
      route is in damping pending list.

   The following events can change the (*, G) Join/Prune message damping
   state:

      E1: damping function is enabled in the router.

      E2: damping disable is disabled in the router.

      E3: The flap count is above the damping threshold.





Hu, et al.               Expires April 26, 2012                 [Page 7]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


      E4: The flap count is below the damping reuse threshold

      E5: maximum hold timer is expired.

   (*,G)damping state machine

    +------+           E1                +----------+
    | Idle |---------------------------> | NoDamping|
    +------+ <-------------------------  +----------+
        ^               E2                  ^  |
        |                                   |  |
        |                                   |  |
    E2  |                         E4 or E5  |  |
        |                                   |  |
        |                                   |  |  E3
        |                 +-------+         |  |
        +-----------------|Damping|---------+  |
                          +-------+ <----------+

                                 Figure 2

   (*, G) state machine for triggered messages in tabular form:


           | Event |     Idle      |     Damping    |    NoDamping   |
           +-------+---------------+----------------+----------------+
           |  E1   |  ->NoDamping  |       N/A      |      N/A       |
           |       |  [Action A1]  |                |                |
           +-----------------------+----------------+----------------+
           |  E2   |     N/A       |    -> Idle     |    -> Idle     |
           |       |               |    [Action A2] |   [Action A2]  |
           +-----------------------+----------------+----------------+
           |       |               |                |    -> Damping  |
           |  E3   |     N/A       |        N/A     |   [Action A3]  |
           +-----------------------+----------------+----------------+
           |  E4   |     N/A       | -> NoDamping   |      N/A       |
           |       |               |  [Action A4]   |                |
           +-----------------------+----------------+----------------+
           |  E5   |     N/A       | -> NoDamping   |      N/A       |
           |       |               |  [Action A5]   |                |
           +-----------------------+----------------+----------------+

   Transitions from Idle state
      When the (*, G) damping state machine is in Idle state, the
      following events may trigger transitions:

         E1:The damping function is enabled in this router.  The (*, G)
         damping state machine enters into NoDamping state



Hu, et al.               Expires April 26, 2012                 [Page 8]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


   Transitions from NoDamping State
      When the (*, G) damping state machine is in NoDamping state, the
      following events may trigger transitions:

         E3: The flap count is used to count the changes of (*, G)
         route.  If the (*, G) item is in Join state and the new Join/
         Prune message received indicates that the route should be
         pruned, the flap count should record the change, and vice
         versa, if the (*, G) route is in delete state and new Join/
         Prune message received indicates that the route should be
         created, the flap count also records it.  If the flap count is
         above the damping threshold, event E3 is triggered, the state
         machine enters into damping state.

   Transitions from NoDamping State
      When the (*, G) damping state machine is in damping state, the
      following events may trigger transitions:

         E2: The damping function is disabled in this router.  The (*,
         G) damping state machine enters into Idle state.

         E4: The flap count is below the damping reuse threshold, the
         item in damping list is reused, and the (*, G) damping route
         state machine enters into NoDamping state.

         E5: The maximum hold timer is expired.  The PIM (*, G) route
         item in Damping state is reused no matter how unstable it has
         been prior to this period of stability.  The (*,G)damping route
         state machine enters into NoDamping state.

   (*, G) damping state machine actions:

      Action A1: The damping function is enabled in the router.  The
      router is ready to record the times of (*, G) route state change.
      If the PIM Join/Prune message is received and a new (*, G) item is
      required to create, the (*, G) item is added to damping pending
      list if there is no item for that (*, G) and the state is Join,
      and the flap count should record the change.  If the PIM Join/
      Prune message is received and a (*, G) item is required to prune
      from the (*, G) table, the (*, G) item is added to damping pending
      list if there is no item for that (*, G) and the state is Prune,
      and the flap count should record the change.  The cycle half life
      timer is started when the (*, G) item is added to the damping
      pending list.

      The cycle half life timer is running when the (*, G) is in
      NoDamping state.  If half life timer is expired, the flap count is
      reduced by half.



Hu, et al.               Expires April 26, 2012                 [Page 9]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


      If flap count is reduced to zero, (*, G) route should be recovery
      based on the state in the damping list.  If the state of (*, G) in
      the damping pending list is Join, the (*, G) route will be added
      to the multicast routing table.  If the damping (*, G) route state
      in damping list is prune, the (*, G) route will be deleted from
      the multicast routing table if the (*, G) route is existed in.
      The damping pending (*, G) is deleted from the damping pending
      list.

      Action A2: The damping function is disabled in the router.  The
      state machine enters Idle state.  The half life timer is stopping
      if it runs.  The flap count is reset and stop counting the times
      of (*, G) route state flapping.

      Action A3: The PIM (*, G) route state is suppressed and moved from
      the damping pending list to damping list, and the cycle half life
      timer for that (*,G) route is started.  The maximum holding timer
      is started if it doesn't run.

      Action A4: The suppressed item is reused again.  If the damping
      (*, G) route state in damping list is join, the (*, G) route will
      be added to the multicast routing table.  If the damping (*, G)
      route state in damping list is prune, the (*, G) route will be
      deleted from the multicast routing table if the (*, G) route is
      existed in.  The damping (*, G) route is deleted from the damping
      list.  The flap count is reset and stop counting the times of (*,
      G) damping route state changed.  The cycle half life timer and
      maximum hold timer are stopped.

      Action A5: The maximum hold timer is expired.  The (*, G) route
      state item in damping state is reused.  If the damping (*, G)
      route state in damping list is join, the (*, G) route will be
      added to the multicast routing table.  If the damping (*, G) route
      state in damping list is prune, the (*, G) route will be deleted
      from the multicast routing table if the (*, G) route is existed
      in.  The reuse timer and maximum hold timer are stopped if they
      run.  The (*, G) damping route is deleted from the damping list.
      The flap count is reset and stop counting the times of (*, G)
      damping route state changed.  The cycle half life timer and
      maximum hold timer are stopped.

3.3.  (S, G) Join/Prune Message Damping

   The (S, G) damping state is shown in figure 3, there are three
   states:






Hu, et al.               Expires April 26, 2012                [Page 10]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


   Idle
      The damping function isn't enabled yet in this router

   Damping
      The (S, G) state is damped in this router.  The(S, G) damping
      route is in damping list.

   NoDamping
      The (S, G) state is not damped in this router.  The(S, G)damping
      route is in damping pending list.

   The following events can change the (S, G) Join/Prune message damping
   state:

      E1: damping function is enabled in the router.

      E2: damping disable is disabled in the router.

      E3: the flap count is above the damping threshold.

      E4: the flap count is below the damping reuse threshold.

      E5: maximum hold timer is expired.

   (S,G)damping state machine

    +------+           E1                +----------+
    | Idle |---------------------------> | NoDamping|
    +------+ <-------------------------  +----------+
        ^               E2                  ^  |
        |                                   |  |
        |                                   |  |
    E2  |                         E4 or E5  |  |
        |                                   |  |
        |                                   |  |  E3
        |                 +-------+         |  |
        +-----------------|Damping|---------+  |
                          +-------+ <----------+

                                 Figure 3

   (S, G) state machine for triggered messages in tabular form:









Hu, et al.               Expires April 26, 2012                [Page 11]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


           | Event |     Idle      |     Damping    |    NoDamping   |
           +-------+---------------+----------------+----------------+
           |  E1   |  ->NoDamping  |       N/A      |      N/A       |
           |       |  [Action A1]  |                |                |
           +-----------------------+----------------+----------------+
           |  E2   |     N/A       |    -> Idle     |    -> Idle     |
           |       |               |    [Action A2] |   [Action A2]  |
           +-----------------------+----------------+----------------+
           |       |               |                |    -> Damping  |
           |  E3   |     N/A       |        N/A     |   [Action A3]  |
           +-----------------------+----------------+----------------+
           |  E4   |     N/A       | -> NoDamping   |      N/A       |
           |       |               |  [Action A4]   |                |
           +-----------------------+----------------+----------------+
           |  E5   |     N/A       | -> NoDamping   |      N/A       |
           |       |               |  [Action A5]   |                |
           +-----------------------+----------------+----------------+

   Transitions from Idle state
      When the (S, G) damping state machine is in Idle state, the
      following events may trigger transitions:

         E1:The damping function is enabled in this router.  The (S, G)
         damping state machine enters into NoDamping state

   Transitions from NoDamping State
      When the (S, G) damping state machine is in NoDamping state, the
      following events may trigger transitions:

         E3: The flap count is used to count the changes of (S, G)
         route.  If (S, G) item is in join state and new Join/Prune
         message received indicates that the route should be pruned, the
         flap count should record the change, and vice versa, if the (S,
         G) route is in delete state and new Join/Prune message received
         indicates that the route should be created, the flap count also
         records it.  If the flap count is above the damping threshold,
         event E3 is triggered, the (S, G) damping state machine enters
         into damping state.

   Transitions from NoDamping State
      When the (S, G) damping state machine is in damping state, the
      following events may trigger transitions:

         E2: The damping function is disabled in this router.  The (S,
         G) damping state machine enters into Idle state.






Hu, et al.               Expires April 26, 2012                [Page 12]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


         E4: The flap count is below the damping reuse threshold, the
         item in damping list is reused, and the (S, G) damping state
         machine enters into NoDamping state.

         E5: The maximum hold timer is expired.  The PIM (S, G) route
         item in Damping state is reused no matter how unstable it has
         been prior to this period of stability.  The (S, G) damping
         state machine enters into NoDamping state.

   (S, G) damping state machine actions:

      Action A1: The damping function is enabled in the router.  The
      router is ready to record the times of (S, G) route state change.
      If the PIM Join/Prune message is received and a new(S, G) item is
      required to create, the (S, G) item is added to damping pending
      list if there is no item for that (S, G) and the state is Join,
      and the flap count should record the change.  If the PIM Join/
      Prune message is received and a (S, G) item is required to prune
      from the (S, G) table, the (S, G) item is added to damping pending
      list if there is no item for that (S, G) and the state is Prune,
      and the flap count also record the change.  The cycle half life
      timer is started when the (S, G) item is added to the damping
      pending list.

      The cycle half life timer is running when the damping pending (S,
      G) is in NoDamping state.  If it is expired, the flap count is
      reduced by half.

      If the flap count is reduced to zero, (S, G) route should be
      recovery based on the state in the damping list, that is, if the
      state of (S, G) in the damping pending list is Join, the (S, G)
      route will be added to the multicast routing table, otherwise, the
      damping (S, G) route state in damping list is prune, the (S, G)
      route state will be deleted from the multicast routing table if
      the (S, G) route is existed in yet.  The damping pending (S, G)
      item is deleted from the damping pending list.

      Action A2: The damping function is disabled in the router.  The
      state machine enters into Idle state.  The half life timer is
      stopping if it runs.  The flap count is reset and stop counting
      the times of (S, G) route state changed.

      Action A3: The PIM (S, G) route state is suppressed and moved from
      the damping pending list to damping list, and the cycle half life
      timer for that (S,G) route is started.  The maximum holding Timer
      is started if it doesn't run.





Hu, et al.               Expires April 26, 2012                [Page 13]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


      Action A4: The suppressed item is reused again.  If the damping
      (S, G) route state in damping list is Join, the (S, G) route will
      be added to the multicast routing table.  If the damping (S, G)
      route state in damping list is Prune, the (S, G) route will be
      deleted from the multicast routing table if the (S, G) route is
      existed in.  The damping(S, G) route is deleted from the damping
      list.  The flap count is reset and stop counting the times of (S,
      G) damping route state flapping.  The cycle half life timer and
      maximum hold timer are stopped.

      Action A5: The maximum hold timer is expired.  The (S, G) route
      state item in Damping state is reused.  If the damping (S, G)
      route state in damping list is Join, the (S, G) route will be
      added to the multicast routing table.  If the damping (S, G) route
      state in damping list is Prune, the (S, G) route will be deleted
      from the multicast routing table if the (S, G) route is existed
      in. maximum hold timer is stopped if they run.  The damping(S, G)
      route is deleted from the damping list.  The flap count is reset
      and stop counting the times of (S, G) damping route state
      flapping.  The cycle half life timer and maximum hold timer are
      stopped.

3.4.  (S, G, RPT) Join/Prune Message Damping

   The (S, G, RPT) Damping state is shown in figure 4, there are three
   states:

   Idle
      The damping function isn't enabled yet in this router.

   Damping
      The (S, G, RPT) state is damped in this router.  The (S, G, RPT)
      damping route is in damping list.

   NoDamping
      The (S, G, RPT) state is not damped in this router.  The (S, G,
      RPT) damping route is in damping pending list.

   The following events can change the (S, G, RPT) Join/Prune message
   damping state:

      E1: damping function is enabled in the router.

      E2: damping disable is disabled in the router.

      E3: the flap count is above the damping threshold.





Hu, et al.               Expires April 26, 2012                [Page 14]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


      E4: the flap count is below the damping reuse threshold.

      E5: maximum hold timer is expired.

   (S,G,RPT)damping state machine

    +------+           E1                +----------+
    | Idle |---------------------------> | NoDamping|
    +------+ <-------------------------  +----------+
        ^               E2                  ^  |
        |                                   |  |
        |                                   |  |
    E2  |                         E4 or E5  |  |
        |                                   |  |
        |                                   |  |  E3
        |                 +-------+         |  |
        +-----------------|Damping|---------+  |
                          +-------+ <----------+

                                 Figure 4

   (S, G, RPT) state machine for triggered messages in tabular form:


           | Event |     Idle      |     Damping    |    NoDamping   |
           +-------+---------------+----------------+----------------+
           |  E1   |  ->NoDamping  |       N/A      |      N/A       |
           |       |  [Action A1]  |                |                |
           +-----------------------+----------------+----------------+
           |  E2   |     N/A       |    -> Idle     |    -> Idle     |
           |       |               |    [Action A2] |   [Action A2]  |
           +-----------------------+----------------+----------------+
           |       |               |                |    -> Damping  |
           |  E3   |     N/A       |        N/A     |   [Action A3]  |
           +-----------------------+----------------+----------------+
           |  E4   |     N/A       | -> NoDamping   |      N/A       |
           |       |               |  [Action A4]   |                |
           +-----------------------+----------------+----------------+
           |  E5   |     N/A       | -> NoDamping   |      N/A       |
           |       |               |  [Action A5]   |                |
           +-----------------------+----------------+----------------+

   Transitions from Idle state
      When the (S, G, RPT) damping state machine is in Idle state, the
      following events may trigger transitions:

         E1:The damping function is enabled in this router.  The (S, G,
         RPT) damping state machine enters into NoDamping state



Hu, et al.               Expires April 26, 2012                [Page 15]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


   Transitions from NoDamping State
      When the (S, G, RPT) damping state machine is in NoDamping state,
      the following events may trigger transitions:

         E3: The flap count is used to count the changes of (S, G, RPT)
         route.  If the (S, G,RPT) item is in Join state and the new
         Join/Prune message received indicates that the route should be
         pruned, the flap count should record the change, and vice
         versa, if the (S, G, RPT) route is in delete state and new
         Join/Prune message received indicates that the route should be
         created, the flap count also records it.  If the flap count is
         above the damping threshold, event E3 is triggered, the state
         machine enters into damping state.

   Transitions from NoDamping State
      When the (S, G, RPT) damping state machine is in damping state,
      the following events may trigger transitions:

         E2: The damping function is disabled in this router.  The (S,
         G, RPT) damping state machine enters into Idle state.

         E4: The flap count is below the damping reuse threshold, the
         item in damping list is reused, and the (S, G, RPT) damping
         route state machine enters into NoDamping state.

         E5: The maximum hold timer is expired.  The PIM (S, G, RPT)
         route item in Damping state is reused no matter how unstable it
         has been prior to this period of stability.  The (S,G,
         RPT)damping route state machine enters into NoDamping state.

   (S, G, RPT) damping state machine actions:

      Action A1: The damping function is enabled in the router.  The
      router is ready to record the times of (S, G, RPT) route state
      changed.  If the PIM Join/Prune message is received and a new
      (S,G,RPT) item is required to create, the (S,G,RPT) item is added
      to damping pending list if there is no item for that (S,G,RPT) and
      the state is Join, and the flap count should plus one.  If the PIM
      Join/Prune message is received and a (S,G,RPT) item is required to
      prune from the (S,G,RPT) table, the (S,G,RPT) item is added to
      damping pending list if there is no item for that (S,G,RPT) and
      the state is Prune, and the flap count should plus one.  The half
      life timer is started when the (S, G, RPT) item is added to the
      damping pending list.

      The cycle half life timer is running when the damping pending (S,
      G, RPT) is in NoDamping state.  If half life timer is expired, the
      flap count is reduced by half.



Hu, et al.               Expires April 26, 2012                [Page 16]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


      If flap count is reduced to zero, (S, G, RPT) route should be
      recovery based on the state in the damping list.  If the state of
      (S, G, RPT) in the damping pending list is Join, the (S, G, RPT)
      route will be added to the multicast routing table.  If the
      damping (S, G, RPT) route state in damping list is prune, the (S,
      G, RPT) route will be deleted from the multicast routing table if
      the (S, G, RPT) route is existed in.  The damping pending (S, G,
      RPT) is deleted from the damping pending list.

      Action A2: The damping function is disabled in the router.  The
      state machine enters Idle state.  The half life timer is stopping
      if it runs.  The flap count is reset and stop counting the times
      of (S, G, RPT) route state change.

      Action A3: The PIM (S,G,RPT) route state is suppressed and moved
      from the damping pending list to damping list, and the cycle half
      life timer for that (S,G, RPT) route is started.  The maximum
      holding timer is started if it doesn't run.

      Action A4: The suppressed item is reused again.  If the damping
      (S, G, RPT) route state in damping list is join, the (S, G, RPT)
      route will be added to the multicast routing table.  If the
      damping (S, G, RPT) route state in damping list is prune, the (S,
      G, RPT) route will be deleted from the multicast routing table if
      the (S, G, RPT) route is existed in.  The damping (S, G, RPT)
      route is deleted from the damping list.  The flap count is reset
      and stop counting the times of (S, G, RPT) damping route state
      flapping.  The cycle half life timer and maximum hold timer are
      stopped.

      Action A5: The maximum hold timer is expired.  The (S, G, RPT)
      route state item in Damping state is reused.  If the damping (S,
      G, RPT) route state in damping list is join, the (S, G, RPT) route
      will be added to the multicast routing table.  If the damping (S,
      G, RPT) route state in damping list is prune, the (S, G, RPT)
      route will be deleted from the multicast routing table if the (S,
      G, RPT) route is existed in.  There reuse timer and maximum hold
      timer are stopped if they run.  The damping(S, G, RPT) route is
      deleted from the damping list.  The flap count is reset and stop
      counting the times of (S, G, RPT) damping route state flapping.
      The cycle half life timer and maximum hold timer are stopped.


4.  Security Considerations







Hu, et al.               Expires April 26, 2012                [Page 17]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


5.  Acknowledgements


6.  References

6.1.  Normative references

   [RFC4601]  Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
              "Protocol Independent Multicast - Sparse Mode (PIM-SM):
              Protocol Specification (Revised)", RFC 4601, August 2006.

6.2.  Informative References

   [RFC2439]  Villamizar, C., Chandra, R., and R. Govindan, "BGP Route
              Flap Damping", RFC 2439, November 1998.


Authors' Addresses

   Fangwei Hu
   ZTE Corporation
   889 Bibo Road
   Shanghai 201203
   China

   Phone: +86-21-68896273
   Email: hu.fangwei@zte.com.cn


   Jacni Qin
   ZTE Corporation
   shanghai
   China

   Email: jacni@jacni.com


   Zheng Zhang
   ZTE Corporation
   No.68 Zijinghua Rd.Yuhuatai District
   Nanjing 210012
   China

   Email: zhang.zheng@zte.com.cn







Hu, et al.               Expires April 26, 2012                [Page 18]

Internet-Draft           PIM Route Flap Damping                 Oct 2011


   BenChong Xu
   ZTE Corporation
   No.68 Zijinghua Rd.Yuhuatai District
   Nanjing 210012
   China

   Email: xu.benchong@zte.com.cn












































Hu, et al.               Expires April 26, 2012                [Page 19]


PAFTECH AB 2003-20262026-04-23 00:43:42