2pm-Shaun-Missett-Technology-Profile-and-Speed-Profile-Implementation
2pm-Shaun-Missett-Technology-Profile-and-Speed-Profile-Implementation
Implementation
Shaun Missett (System Architect)
Radisys
VOLTHA Technical Lockdown Jan, 2018 AT&T Facility
San Ramon CA
U/S GEM Config & Sched Attributes D/S GEM Config & Sched Attributes
1. Per GEM Port Attributes: 1. Per GEM Port Attributes:
I. P-Bit Map V. Weight I. P-Bit Map V. Weight
II. AES Encryption VI. Discard Policy II. AES Encryption VI. Discard Policy
a. Min Threshold a. Min Threshold
III. Scheduling Policy b. Max Threshold
III. Scheduling Policy
b. Max Threshold
IV. Priority c. Max Probability IV. Priority c. Max Probability
BBF Standards and xPON Service Models
• Access Service Definition and Compliance Testing: N:1, 1:1, VBES,
Multicast, Wholesale Model
BBF TR-101
BBF TR-178
Using the MEF (MEF 10.3 ) Service definitions we can allow for a Flow Bandwidth to have
the following attributes:
CIR – Committed Information Rate, CBS - Committed Burst Size
EIR - Excess Information Rate, EBS - Excess Burst Size
And for Upstream Bandwidth only the DBA parameters allow for an AIR component.
An Openflow Meter will have up to three Meter Bands. Initially we had up to two bands
but since the Fixed Bandwidth was moved out of the Technology Profile we ended up with
three. 9
Upstream Bandwidth Profile Representation
Burst == 0
Assured BW RA RA RA
Meter Band 1 Meter Band 1 Meter Band 2
(AIR) (AIR) (AIR)
Maximum BW RM = RF RM = RA RM > RA RM RM ≥ RF + RA
Meter Band 1 Meter Band 2 Meter Band 2 Meter Band 1 Meter Band 3
(CIR) (AIR) (PIR) (PIR) (PIR)
(igmp)
(vod/icc)
13
Technology Profile Example(AT&T HSIA Service)
Name: ‘4QueueHybridProfileMap1’
OpenFlow Table ID; 64
Profile Type: xPON, Profile Version: 1.0
Upstream Aggregate Scheduler Attributes:
• T-CONT; Single Instance per ONU or multi-instance: Multi-instance(BBF TR-280)
• T-CONT; Single Instance per UNI or multi-instance: Single-instance
• T-CONT; xPON Fixed Bandwidth upstream guaranteed bandwidth RF (Section 7
G.989.3): 0 b/s
• T-CONT; xPON Priority (DBA Scheduling Priority): 0
• T-CONT; xPON Weight (DBA Scheduling weight): 0
• Queue Scheduling Policy; {WRR | Strict Priority | Hybrid}: Hybrid
Upstream GEM Port configuration and scheduling attributes:
• GEM Ports (Queues) per Service: 4 14
AT&T HSIA Upstream GEM Port Configuration
• GEM Port 1 Attributes:
i. P-Bit Map to GEM Port: PBit Mask (00000101), PBits 0 and 2
ii. AES Encryption: True
iii. GEM Port Scheduling Policy; {WRR | Strict Priority}: WRR
iv. GEM Port (Queue) Priority: 0
v. GEM Port (Queue) Weight: 25%
vi. Queue Discard Policy; {Tail-drop | WTail-drop | RED | WRED}: Tail-drop
• GEM Port 2 Attributes:
i. P-Bit Map to GEM Port: PBit Mask (00011010), PBits 1, 3 and 4
ii. AES Encryption: True
iii. GEM Port Scheduling Policy; {WRR | Strict Priority}: WRR
iv. GEM Port (Queue) Priority: 1
v. GEM Port (Queue) Weight: 75%
vi. Queue Discard Policy; {Tail-drop | WTail-drop | RED | WRED}: Tail-drop
• GEM Port 3 Attributes:
i. P-Bit Map to GEM Port: PBit Mask (00100000), PBit 5
ii. AES Encryption: True
iii. GEM Port Scheduling Policy; {WRR | Strict Priority}: Strict Priority
iv. GEM Port (Queue) Priority: 2
v. GEM Port (Queue) Weight: 0
vi. Queue Discard Policy; {Tail-drop | WTail-drop | RED | WRED}: Tail-drop
• GEM Port 4 Attributes:
i. P-Bit Map to GEM Port: PBit Mask (11000000), PBits 6 and 7
ii. AES Encryption: True
iii. GEM Port Scheduling Policy; {WRR | Strict Priority}: Strict Priority
iv. GEM Port (Queue) Priority: 3
v. GEM Port (Queue) Weight: 0 15
vi. Queue Discard Policy; {Tail-drop | WTail-drop | RED | WRED}: Tail-drop
AT&T HSIA Downstream Scheduler Configuration
16
AT&T HSIA Downstream GEM Port Configuration
• GEM Port 1 Attributes:
i. P-Bit Map to GEM Port: PBit Mask (00000101), PBits 0 and 2
ii. AES Encryption: True
iii. GEM Port Scheduling Policy; {WRR | Strict Priority}: WRR
iv. GEM Port (Queue) Priority: 0
v. GEM Port (Queue) Weight: 10%
vi. Queue Discard Policy; {Tail-drop | WTail-drop | RED | WRED}: Tail-drop
• GEM Port 2 Attributes:
i. P-Bit Map to GEM Port: PBit Mask (00011010), PBits 1, 3 and 4
ii. AES Encryption: True
iii. GEM Port Scheduling Policy; {WRR | Strict Priority}: WRR
iv. GEM Port (Queue) Priority: 1
v. GEM Port (Queue) Weight: 90%
vi. Queue Discard Policy; {Tail-drop | WTail-drop | RED | WRED}: Tail-drop
• GEM Port 3 Attributes:
i. P-Bit Map to GEM Port: PBit Mask (00100000), PBit 5
ii. AES Encryption: True
iii. GEM Port Scheduling Policy; {WRR | Strict Priority}: Strict Priority
iv. GEM Port (Queue) Priority: 2
v. GEM Port (Queue) Weight: 0
vi. Queue Discard Policy; {Tail-drop | WTail-drop | RED | WRED}: Tail-drop
• GEM Port 4 Attributes:
i. P-Bit Map to GEM Port: PBit Mask (11000000), PBits 6 and 7
ii. AES Encryption: True
iii. GEM Port Scheduling Policy; {WRR | Strict Priority}: Strict Priority
iv. GEM Port (Queue) Priority: 3
v. GEM Port (Queue) Weight: 0
vi. Queue Discard Policy; {Tail-drop | WTail-drop | RED | WRED}: Tail-drop
17
AT&T HSIA Service: Mapping to Service profile
‘4QueueHybridProfileMap1’ Using OpenFlow Table ID
• The ‘4QueueHybridProfileMap1’ Service Profile is assigned the Table ID value
of 64, and assume that the Service Flow associated with Table ID 64 is a HSIA
and the Customer C-TAG to be used is 122, with an S-Tag of 2.
• The Customer has signed up for a 1G Upstream and 1G Downstream Service.
• OpenFlow will create a Meter in the Meter Table for the Customer HSIA
Downstream Service Flow: Single Meter Band:
• Band Type : NA(No actions on the Packet when Band Exceeded) (Best Effort Service)
• Rate: 1Gb/s (EIR)
• Burst: 384 Kbits (EBS)
18
AT&T HSIA Service: Mapping to Service profile
‘4QueueHybridProfileMap1’ Using OpenFlow Table ID
• The Customer has signed up for a 1G Upstream and 1G Downstream
Service.
• OpenFlow will create a Meter in the Meter Table for the Customer
HSIA Upstream Service Flow: Single Meter Band:
• Meter Band 1:
• Rate: 1Gb/s (EIR)
• Burst: 384 Kbits (EBS)
19
Flow Decomposition Issue
When ONOS Configures an Upstream or Downstream Flow the Flow is Split into Two
Parts:
• Table 0 ;Ingress/Egress Port and Match Action Rule and Transition to Table 1
• Table 1; Ingress/Egress Port Match Action Rules and Transition to Tech Profile Table with Meter Band
The Flow Decomposer in the vCore sends each Table Data to either the ONU or OLT
Adapter:
• Upstream ONU gets Table 0 (No Tech Profile or Meter Ref), OLT gets Table 1
• Downstream OLT get Table 0 (No Tech Profile or Meter Ref), ONU gets Table 1
20
Transition from Table ID Reference to Tech. Profile ID to
Using Metadata
OpenFlow Customer 2/122 Downstream Messages:
Table 64 (The Service Profile Reference) contains a Default Rule of Match-All, No Action.
21
Transition from Table ID Reference to Tech. Profile ID to
Using Metadata
Ingress Packet at OLT NNI (In Port = 65536), STAG = 4, CTAG = 2, Match on Tags 4, 2 POP outer Tag(4), modify Inner Tag to be 0(Priority Tagged; 2->0); Apply Technology Profile Reference = 1,
and Downstream Meter Reference = 2, Egress Port =30736, Downstream Metadata to write : CTAG = 2, TPID = 1, Egress Port = 30736; 0x0002000100007810 (02/01/30736)
Ingress Packet at ONU UNI (In Port = 30736), Priority Tagged, QTAG = 0, Match on Tag 0, Change Outer Tag to be 2 (CTAG; 0->2), PUSH STAG 4; Apply Technology Profile Reference = 1,
and Upstream Meter Reference = 1, Egress Port =65536 Upstream Metadata to write : STAG = 4, TPID = 1, Egress Port = 65536; 0x0004000100010000 (04/01/65536)
Metadata 8 bytes:
Most Significant 2 Bytes = Inner VLAN
Next 2 Bytes = Tech Profile ID(TPID)
Least Significant 4 Bytes = Port ID
(OLT Flow) id=ac0000d0fc7486, state=ADDED, bytes=0, packets=0, duration=4, liveType=UNKNOWN, priority=1000, tableId=0, appId=org.opencord.olt, payLoad=null, selector=[IN_PORT:65536, VLAN_VID:4],
treatment=DefaultTrafficTreatment{immediate=[VLAN_POP], deferred=[], write metadata=METADATA:02/01/30736}, transition=TABLE:1, meter=[METER:2], cleared=false, StatTrigger=null,
(ONT Flow) id=ac00001801d6d1, state=ADDED, bytes=0, packets=0, duration=4, liveType=UNKNOWN, priority=1000, tableId=1, appId=org.opencord.olt, payLoad=null, selector=[IN_PORT:65536, VLAN_VID:2],
treatment=DefaultTrafficTreatment{immediate=[VLAN_ID:0, OUTPUT:30736], write metadata=METADATA:0/01/0, transition=None, meter=[METER:2], cleared=false, StatTrigger=null}
(ONT Flow) id=ac000000f780f6, state=ADDED, bytes=0, packets=0, duration=4, liveType=UNKNOWN, priority=1000, tableId=0, appId=org.opencord.olt, payLoad=null, selector=[IN_PORT:30736, VLAN_VID:0],
treatment=DefaultTrafficTreatment{immediate=[VLAN_ID:2], deferred=[], write metadata=METADATA:04/01/65536, transition=TABLE:1, meter=[METER:1], cleared=false, StatTrigger=null}
(OLT Flow) id=ac0000c9fd17bf, state=ADDED, bytes=0, packets=0, duration=4, liveType=UNKNOWN, priority=1000, tableId=1, appId=org.opencord.olt, payLoad=null, selector=[IN_PORT: 30736 , VLAN_VID:2],
treatment=DefaultTrafficTreatment{immediate=[VLAN_PUSH:vlan, VLAN_ID:4, OUTPUT: 65536 ], write metadata=METADATA:0/01/0, transition=None, meter=[METER:1], cleared=false, StatTrigger=null}
22
Traffic Management:
: BAL 2.6 Edgecore
BAL 2.6 Downstream Queue Scheduling Limitation -
Desired
FlowQueues Flow UNI ONU PON
Scheduler Scheduler Scheduler Scheduler
P 6.7 TM_Q P0
ONU#1 P 5 TM_Q
P1
P 4,3,1 TM_Q
P3
4 TM_Queues
NNI
: PON TM
: Sched PON#
1
: P0
: P1
P 6,7 TM_Q
P 5 TM_Q
ONU#128 P 4,3,1 TM_Q
TM-Sched
P2
4 TM_Queues
BAL 2.6 Downstream Queue Scheduling Limitation -
Actual
ONU
FlowQueues Flow UNI PON
Scheduler
Scheduler Scheduler P0 Scheduler
P 6.7 TM_Q
ONU#1 P 5 TM_Q P1
P 4,3,1 TM_Q
P 2,0 TM_Q
Flows TM-Sched
P2
P3
4 TM_Queues
NNI
: PON TM
: Sched PON#1
P0
:
P1
:
P 6,7 TM_Q
P 5 TM_Q TM-Sched
ONU#128 P 4,3,1 TM_Q
P2
P 2,0 TM_Q P3
Flows
4 TM_Queues
Technology Profiles; AT&T
: Service Model-OLT ;Upstream -
Desired – BAL 2.6
NNI FlowQueues Flow Spec TCONT(DBA)
Scheduler
P0
P1 TM _SCHED(DBA) ONU#1
GEM Port ID
o_pbits=7,6
GEM Port ID
GEM Port ID
o_pbits=7,6
:
o_pbits=2,0
P2
S GEM Port ID :
o_pbits=5
P 4,3,1 TM _Q
GEM Port ID
o_pbits=4,3,1
TM _SCHED(DBA) ONU#128
GEM Port ID
P 2,0 TM _Q o_pbits=2,0
P3
4 TM_Queues NNI
:
Technology Profiles; AT&T Service Model-OLT ;Upstream – Actual BAL 2.6
Flow Spec
NNI FlowQueues (More complex until TCONT(DBA)
PBIT Map Supported) Scheduler
P0 pbits=0
P 0 TM _Q
TM _SCHED(DBA)-Service 1
pbits=1
P1 P 1 TM _Q TM _SCHED(DBA )-Service 2
pbits=2 ONU#1
pbits=3 Services
P2 P 2 TM _Q TM _SCHED(DBA )-Service 3
TM _SCHED(DBA )-Service 4
P 3 TM _Q
P3 pbits=4
NNI TM
pbits=5
:
pbits=6
NNI Sched pbits=7
: PON#1
:
pbits=0
P4 :
P 4 TM _Q
pbits=1
TM _SCHED(DBA)-Service 2
pbits=4
ONU#128
P6
P 6 TM _Q pbits=5
TM _SCHED(DBA )-Service 3
Services
pbits=6
TM _SCHED(DBA )-Service 4
P7 P 7 TM _Q
pbits=7
8 TM_Queues NNI