1 / 31

802.17c Protected Inter-Ring Connection

802.17c Protected Inter-Ring Connection. Rafi Ram - Corrigent Systems March 2008. PIRC Suggestion Highlights. Stations A & B are members of a protection group (PG) for interconnect between two rings Station A and station B are protection group members (PGM)

kumiko
Download Presentation

802.17c Protected Inter-Ring Connection

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 802.17cProtected Inter-Ring Connection Rafi Ram - Corrigent Systems March 2008

  2. PIRC Suggestion Highlights • Stations A & B are members of a protection group (PG) for interconnect between two rings • Station A and station B are protection group members (PGM) • One of the interconnected rings shall be provisioned as the “primary” ring and the other as “secondary” ring • The station on the secondary ring with the lower MAC address is designated as the “0” member, and the other as the “1” member

  3. Network Diagram • Stations A & C are “peer” stations • Stations B & D are “peer” stations • Stations A & B are “mate” stations • Stations C & D are “mate” stations

  4. PIRC Protection Command • Each PIRC station shall support the following protection commands per PG: • Idle • Manual Switch • Forced Switch

  5. PIRC Protection Status • Each PIRC station shall maintain a PIRC protection status per PG as follows (in order of priority): • Forced Switch – operator initiated forced switch protection command • Failure – peer/RPR interface failure or Miss-configuration • Peer Down – peer station not forwarding • WTR – delay following failure clear to prevent toggling in/out of failure state

  6. PIRC Protection Status (cont) • Protecting – Mate station not forwarding • Manual Switch – operator initiated manual switch protection command • Back-Off – delay to prevent loop before starting to forward traffic • No Request – protection group idle (no failure or protection command)

  7. Forwarding States • Forward None • Protection Status = WTR or Failure or ForcedSwitch or ManualSwitch or BackOff or PeerDown • Forward Mine • Protection Status = NoRequest • Forward All • Protection Status = Protecting

  8. PIRC Stations Communication

  9. Station-OK State Variable station-OK = KA-peer-OK && (OperStatus==Up) && !missConfigDetected missConfigDetected = indication that miss-configuration was detected

  10. Peer Stations Communication • Peer stations exchange PIRC sync messages which are also used as “keep-alive” • The messages consist the following information (per protection group): • Station-OK • Protection Status • The peer messages are sent : • periodically • Immediately after change of value of station-OK or Protection Status

  11. peer_ProtStatus & peer_station-OK • peer_ProtStatus and peer_station-OK are the ProtStatus and station-OK variables of the peer station • They are advertised using the Peer sync messages

  12. Self-OK State Variable self-OK = station-OK && peer_station-OK &&(ProtStatus!=ForcedSwitch) && (peer_ProtStatus!=ForcedSwitch) &&(ProtStatus!=Failure) &&(peer_ProtStatus!=Failure) &&(ProtStatus!=WTR) &&(peer_ProtStatus!=WTR)

  13. Self-MS State Variable self-MS =(ProtStatus==ManualSwitch) || (peer_ProtStatus==ManualSwitch)

  14. Mate Stations Communication • Mate stations exchange messages which are also used as “keep-alive” • The messages consist the following information (per protection group): • Self-OK • Self-MS • The mate messages are sent : • periodically • Immediately after change of value of self-OK or self-MS • The messages could be new control type or new OAM type

  15. mate_self-OK & mate_self-MS • mate_self-OK and mate_self-MS are the self-OK and self-MS variables of the peer station • They are advertised using the Peer sync messages

  16. Mate-OK State Variable Mate-OK = mateVisable && KA-mate-OK &&mate_self-OK mateVisable – indication if mate station is visible in RPR topology

  17. Protection Status State Machine • The Protection Status State Machine is updated upon : • Activation of protection command • Change of value of one of the following variables : station-OK, peer_station-OK, peer_protStatus, mate-OK, mate-self-MS

  18. Protection Status State Machine – State ForcedSwitch if ((protCmd==Idle) || ((protCmd==ManualSwitch) && mate_self-MS)) if (!station-OK) protStatus = Failure else if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS)) protStatus = PeerDown else protStatus = BackOff /* trigger backoff timer */ else if (protCmd==ManualSwitch) protStatus = ManualSwitch else protStatus = ForcedSwitch

  19. Protection Status State Machine – State Failure if (protCmd==ForcedSwitch) protStatus = ForcedSwitch else if (!station-OK) protStatus = Failure else protStatus = WTR /* trigger WTR timer */

  20. Protection Status State Machine – State WTR if (protCmd==ForcedSwitch) protStatus = ForcedSwitch else if (!station-OK) protStatus = Failure else if (!WTR_timer_expired) protStatus = WTR else if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS)) protStatus = PeerDown else if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch else protStatus = BackOff /* trigger backoff timer */

  21. Protection Status State Machine – State PeerDown if (protCmd==ForcedSwitch) protStatus = ForcedSwitch else if (!station-OK) protStatus = Failure else if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS)) protStatus = PeerDown else if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch else protStatus = BackOff /* trigger backoff timer */

  22. Protection Status State Machine – State BackOff if (protCmd==ForcedSwitch) protStatus = ForcedSwitch else if (!station-OK) protStatus = Failure else if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS)) protStatus = PeerDown else if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch else if (!backoff_timer_expired) protStatus = BackOff else if (!mate-OK || (peer_protStatus==Protecting) || (mate-self-MS && (peer_protStatus!=ManualSwitch)) protStatus = Protecting else protStatus = NoRequest

  23. Protection Status State Machine – State Protecting if (protCmd==ForcedSwitch) protStatus = ForcedSwitch else if (!station-OK) protStatus = Failure else if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS)) protStatus = PeerDown else if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch else if (!mate-OK || (peer_protStatus==Protecting) || (mate-self-MS && (peer_protStatus!=ManualSwitch)) protStatus = Protecting else protStatus = NoRequest

  24. Protection Status State Machine – State ManualSwitch if (protCmd==ForcedSwitch) protStatus = ForcedSwitch else if (!station-OK) protStatus = Failure else if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS)) protStatus = PeerDown else if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch else protStatus = BackOff /* trigger backoff timer */

  25. Protection Status State Machine – State NoRequest if (protCmd==ForcedSwitch) protStatus = ForcedSwitch else if (!station-OK) protStatus = Failure else if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS)) protStatus = PeerDown else if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch else protStatus = NoRequest

  26. MAC Table Flush • 802.17b – When an interconnecting station no longer appears in the topology, the MAC entries associated with that stations are deleted • When a PIRC station it sends SAS_Group_Notify message when : • Forwarding state changes to FwdNone • Forwarding state changes from FwdAll to FwdMine

  27. myFlow(frame) Function • The function could be used for implementation of the load-balancing functionality • On of the possible implementations of the myFlow function could be : myFlow(frame) =(hashing(frame.vlan) modulo 2) == member-type

  28. PIRC Sublayer Logic on the Path Client MAC as State Table

  29. PIRC Sublayer Logic on the Path Client MAC as Pseudo-Code if (frame is unicast) // not flooded, broadcast or multicast frame forward frame else if (MAC is on primary ring) forward frame else if (((FwdState==FwdMine) && myFlow(frame)) || (FwdState==FwdAll)) then forward frame else discard frame

  30. PIRC Sublayer Logic on the Path MAC  Client as State Table

  31. PIRC Sublayer Logic on the Path MAC  Client as Pseudo-Code if (frame is unicast) // not flooded, broadcast or multicast frame forward frame else if (MAC is on primary ring) if ((FwdState==FwdAll) && (RPR SA is the mate MAC address)) discard frame else forward frame else if (RPR SA is the mate MAC address) discard frame else if (((FwdState==FwdMine) && myFlow(frame)) || (FwdState==FwdAll)) then forward frame else discard frame

More Related