802.17c Protected Inter-Ring Connection Rafi Ram - Corrigent Systems May 2007
2 PIRC Sublayer in MAC Block Diagram
3 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 stations in a PG is provisioned as the “0” member, and the other as the “1” member One of the interconnected rings shall be provisioned as the “primary” ring and the other as “secondary” ring
4 Network Diagram Stations A & B are protection group members on the primary ring Station A is the “0” member and station B is the “1” member Stations C & D are protection group members on the secondary ring Station C is the “0” member and station D is the “1” member Stations A & C are “peer” stations Stations B & D are “peer” stations Stations A & B are “mate” stations Stations C & D are “mate” stations
5 PGM State Machine Self-OK : The communication with the peer station is OK (and no “admin-down”) Mate-OK : The protection group stations are visible in the topology of both the primary and secondary rings, and the mate station advertises status “self-OK” The c specification should not include a mandatory method for determining the value of the “hold-off” timer
6 myFlow(frame) Function The function could be used to implementation of the load-balancing functionality On of the possible implementations of the myFlow function could be : myFlow(frame) = (hashing(frame) modulo 2) == member-type “member-type” equals to 0 if the station is the 0 member, and equals to 1 if the station is the 1 member
7 PIRC Sublayer Logic on the Path Client MAC as State Table RowConditionAction 1MAC is on primary ringForward 2PG state is “fwd-none”Discard 3PG state is “fwd-all”Forward 4(myFlow(frame)Forward 5-Discard
8 PIRC Sublayer Logic on the Path Client MAC as Pseudo-Code if (MAC is on primary ring) forward frame else if (((PG state is “fwd-mine”) and myFlow(frame) ) or (PG state is “fwd-all”)) then forward frame else discard frame
9 PIRC Sublayer Logic on the Path MAC Client as State Table RowConditionAction 1(MAC is on primary ring) and (RPR SA is the mate MAC address) and (PG state is “fwd-all”) Discard 2MAC is on primary ringForward 3RPR SA is the mate MAC addressDiscard 4PG state is “fwd-none”Discard 5PG state is “fwd-all”Forward 6myFlow(frame)Forward 7-Discard
10 PIRC Sublayer Logic on the Path MAC Client as Pseudo-Code if (MAC is on primary ring) if ((PG state is “fwd-all”) and (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 (((PG state is “fwd-mine”) and myFlow(frame)) or (PG state is “fwd-all”)) then forward frame else discard frame