802.17c protected inter-ring connection

31
802.17c Protected Inter-Ring Connection Rafi Ram - Corrigent Systems March 2008

Upload: kumiko

Post on 09-Feb-2016

21 views

Category:

Documents


0 download

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 802.17c Protected Inter-Ring Connection

802.17cProtected Inter-Ring Connection

Rafi Ram - Corrigent SystemsMarch 2008

Page 2: 802.17c Protected Inter-Ring Connection

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

Page 3: 802.17c Protected Inter-Ring Connection

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

Station ARPR MAC

Station BRPR MAC

Client

Station CRPR MAC

Station DRPR MAC

Client

Primary Ring

Secondary RingFilter

optional localtributaries

Page 4: 802.17c Protected Inter-Ring Connection

4

PIRC Protection Command

• Each PIRC station shall support the following protection commands per PG:– Idle– Manual Switch– Forced Switch

Page 5: 802.17c Protected Inter-Ring Connection

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

Page 6: 802.17c Protected Inter-Ring Connection

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)

Page 7: 802.17c Protected Inter-Ring Connection

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

Page 8: 802.17c Protected Inter-Ring Connection

8

PIRC Stations Communication

Station ARPR MAC

Client

Station CRPR MAC

Peer Sync

Station BRPR MAC

Station DRPR MAC

Client Peer Sync

Mate Sync

Mate Sync

Page 9: 802.17c Protected Inter-Ring Connection

9

Station-OK State Variable

station-OK = KA-peer-OK && (OperStatus==Up) && !missConfigDetected

missConfigDetected = indication that miss-configuration was detected

Page 10: 802.17c Protected Inter-Ring Connection

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

Page 11: 802.17c Protected Inter-Ring Connection

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

Page 12: 802.17c Protected Inter-Ring Connection

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)

Page 13: 802.17c Protected Inter-Ring Connection

13

Self-MS State Variable

self-MS = (ProtStatus==ManualSwitch) || (peer_ProtStatus==ManualSwitch)

Page 14: 802.17c Protected Inter-Ring Connection

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

Page 15: 802.17c Protected Inter-Ring Connection

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

Page 16: 802.17c Protected Inter-Ring Connection

16

Mate-OK State Variable

Mate-OK = mateVisable && KA-mate-OK &&mate_self-OK

mateVisable – indication if mate station is visible in RPR topology

Page 17: 802.17c Protected Inter-Ring Connection

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

Page 18: 802.17c Protected Inter-Ring Connection

18

Protection Status State Machine – State ForcedSwitch

if ((protCmd==Idle) || ((protCmd==ManualSwitch) && mate_self-MS))if (!station-OK) protStatus = Failureelse

if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS)) protStatus = PeerDown

elseprotStatus = BackOff /* trigger backoff timer */

elseif (protCmd==ManualSwitch) protStatus = ManualSwitchelse protStatus = ForcedSwitch

Page 19: 802.17c Protected Inter-Ring Connection

19

Protection Status State Machine – State Failure

if (protCmd==ForcedSwitch)protStatus = ForcedSwitch

elseif (!station-OK)

protStatus = Failureelse

protStatus = WTR /* trigger WTR timer */

Page 20: 802.17c Protected Inter-Ring Connection

20

Protection Status State Machine – State WTR

if (protCmd==ForcedSwitch) protStatus = ForcedSwitchelse

if (!station-OK) protStatus = Failureelse

if (!WTR_timer_expired) protStatus = WTRelse

if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS))

protStatus = PeerDownelse

if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch

elseprotStatus = BackOff /* trigger backoff timer */

Page 21: 802.17c Protected Inter-Ring Connection

21

Protection Status State Machine – State PeerDown

if (protCmd==ForcedSwitch)protStatus = ForcedSwitch

elseif (!station-OK)

protStatus = Failureelse

if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS))

protStatus = PeerDownelse

if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch

elseprotStatus = BackOff /* trigger backoff timer */

Page 22: 802.17c Protected Inter-Ring Connection

22

Protection Status State Machine – State BackOff

if (protCmd==ForcedSwitch) protStatus = ForcedSwitchelse

if (!station-OK) protStatus = Failureelse

if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS))

protStatus = PeerDownelse

if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch

elseif (!backoff_timer_expired) protStatus = BackOffelse

if (!mate-OK || (peer_protStatus==Protecting) || (mate-self-MS && (peer_protStatus!=ManualSwitch))protStatus = Protecting

else protStatus = NoRequest

Page 23: 802.17c Protected Inter-Ring Connection

23

Protection Status State Machine – State Protecting

if (protCmd==ForcedSwitch) protStatus = ForcedSwitchelse

if (!station-OK) protStatus = Failureelse

if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS))

protStatus = PeerDownelse

if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch

elseif (!mate-OK || (peer_protStatus==Protecting) || (mate-self-MS && (peer_protStatus!=ManualSwitch))

protStatus = Protecting else

protStatus = NoRequest

Page 24: 802.17c Protected Inter-Ring Connection

24

Protection Status State Machine – State ManualSwitch

if (protCmd==ForcedSwitch)protStatus = ForcedSwitch

elseif (!station-OK)

protStatus = Failureelse

if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS))

protStatus = PeerDownelse

if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch

elseprotStatus = BackOff /* trigger backoff timer */

Page 25: 802.17c Protected Inter-Ring Connection

25

Protection Status State Machine – State NoRequest

if (protCmd==ForcedSwitch)protStatus = ForcedSwitch

elseif (!station-OK)

protStatus = Failureelse

if (!peer_station-OK || ((peer_protStatus==ManualSwitch) && !mate-self-MS))

protStatus = PeerDownelse

if ((protCmd==ManualSwitch) && !mate_self-MS) protStatus = ManualSwitch

else protStatus = NoRequest

Page 26: 802.17c Protected Inter-Ring Connection

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

Page 27: 802.17c Protected Inter-Ring Connection

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

Page 28: 802.17c Protected Inter-Ring Connection

28

PIRC Sublayer Logic on the Path Client MAC as State Table

Row Condition Action

1 Unicast(frame) Forward

2 MAC is on primary ring Forward

3 FwdState==FwdNone Discard

4 FwdState==FwdAll Forward

5 myFlow(frame) Forward

6 - Discard

Page 29: 802.17c Protected Inter-Ring Connection

29

PIRC Sublayer Logic on the Path Client MAC as Pseudo-Code

if (frame is unicast) // not flooded, broadcast or multicast frameforward frame

elseif (MAC is on primary ring)

forward frameelse

if (((FwdState==FwdMine) && myFlow(frame)) || (FwdState==FwdAll)) then

forward frameelse

discard frame

Page 30: 802.17c Protected Inter-Ring Connection

30

PIRC Sublayer Logic on the Path MAC Client as State Table

Row Condition Action

1 Unicast(frame) Forward

2 (MAC is on primary ring) && (RPR SA is the mate MAC address) && (FwdState==FwdAll)

Discard

3 MAC is on primary ring Forward

4 RPR SA is the mate MAC address Discard

5 FwdState==FwdNone Discard

6 FwdState==FwdAll Forward

7 myFlow(frame) Forward

8 - Discard

Page 31: 802.17c Protected Inter-Ring Connection

31

PIRC Sublayer Logic on the Path MAC Client as Pseudo-Code

if (frame is unicast) // not flooded, broadcast or multicast frameforward frame

elseif (MAC is on primary ring)

if ((FwdState==FwdAll) && (RPR SA is the mate MAC address))discard frame

elseforward frame

elseif (RPR SA is the mate MAC address)

discard frameelse

if (((FwdState==FwdMine) && myFlow(frame)) || (FwdState==FwdAll)) then

forward frameelse

discard frame