1 / 66

Tiger4 OLT QOS introduction

Tiger4 OLT QOS introduction. By Jianguang Li. Agenda. Tiger4 OLT ASIC Architecture Tiger4 OLT data path FE Header t TE Header o BM ES Flow control. Tiger4 OLT ASIC Architecture (1 die). Tiger-4. 10G OLT Port. Cross Switch. 1G OLT Port. 1G OLT SERDES. SFI (1G). Ingress

dena
Download Presentation

Tiger4 OLT QOS introduction

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. Tiger4 OLT QOS introduction By Jianguang Li

  2. Agenda • Tiger4 OLT ASIC Architecture • Tiger4 OLT data path • FE • Header t • TE • Header o • BM • ES • Flow control

  3. Tiger4 OLT ASIC Architecture (1 die) Tiger-4 10G OLT Port Cross Switch 1G OLT Port 1G OLT SERDES SFI (1G) Ingress Aggregation XFI (10G) Forward Engine Traffic Engineering 10G (EPON) SERDES IBM EBM DDR3 SDRAM Control 10G/1G ONU Port Packet Replication 10G (EPON) SERDES XFI (10G) Cascade 10G Port Egress Dispatch Output Scheduler 4xGE (UNI) Port XAUI/ 4xGE XAUI SERDES Uplink 10G Port MII ARM926 CPU ARM Peripheral MII Port Management Access

  4. CS8124 chip 0 data path

  5. FE: forward engine • Upstream and downstream • PSB (upstream) and IPB(downstream) • Rx/TX 8021p mapping • Rx/TX DSCP/TC mapping • 8021p/ DSCP/TC TE remark • FE rate limit and policy control • VOQ • EPB

  6. FE

  7. Upstream and downstream • Upstream: the packet from PON port(1G PON and 10G PON). • Downstream: the packet from other port.

  8. PSB and IPB table • FlowID_Sel_BM • Top_802_1p_mode_sel and 802_1p_mark_control_BM • default_802_1p • DSCP_mode_sel and DSCP_mark_control_BM • default_DSCP • COS_mode_sel and COS_control_BM • default_COS • WRED_TD enable(IPB for both US and DS) • SPID and to CPU rate limit enable

  9. FlowID_Sel_BM B[3] : FlowID from S-Classification FIB; B[2] : FlowID from G-Classification FIB; B[1] : FlowID from VLAN Engine FIB; B[0] : FlowID from MC_FIB table for Non-Known UC packet. FlowID from EPSB table for Known UC packet. The priority is B[3] -> B[2] -> B[1] -> B[0] If all 4 bits are 0, upstream packets’ flow id = SPLLID, downstream to PON known UC packets’ flow id = 512 + DPLLID, other packets’ flow id = default flow id.

  10. Top_802_1p_mode_sel • 00 (default): Outgoing top 8021p <= Rx_Top_8021p or IPB default 8021p(Untagged packets); • 01(L2 Marking): Outgoing top 8021p <= IPB_8021p_Mark_BM; • 10(L2 mapping): Outgoing top 8021p <= Map from Received top 8021p; • 11(L3 to L2 mapping): Outgoing top 8021p <= Map from Outgoing DSCP.

  11. 802_1p_mark_control_BM B[4] : 8021p from S-Classification FIB; B[3] : 8021p from G-Classification FIB; B[2] : 8021p from VLAN Engine FIB; B[1]: Reserved; B[0] represents 8021p from IPB default setting. The priority to select is: 1) S-Classify Engine 8021p; 2) G-Classify Engine 8021p; 3) VLAN Mapping Engine 8021p; 4) IPB_Default_8021p

  12. DSCP_mode_sel 00 (default): Final DSCP <= Rx_DSCP ; 01 (L3 Marking): Final DSCP <= IPB_DSCP_Mark_BM; 10 (L3 mapping): Final DSCP <= Map from Rx DSCP; 11: Final DSCP <= from IPB default DSCP.

  13. DSCP_mark_control_BM B[3] : DSCP from S-Classification FIB; B[2] : DSCP from G-Classification FIB; B[1] : DSCP from VLAN Engine FIB; B[0] : DSCP from IPB default setting. The priority to select is: 1) S-Classify Engine DSCP; 2) G-Classify Engine DSCP; 3) VLAN Mapping Engine DSCP; 4) IPB_Default_DSCP; If all 4 bits are 0, TX DSCP = Rx DSCP

  14. COS_mode_sel 000 : Final COS <= map from Rx_Top_8021p; 001: Final COS <= map from Rx_ DSCP (If non-IP, map Rx_Top_8021p); 010:(Marking): Final COS <= IPB_COS_Select_BM; 011: From IPB.COS 100: Final COS <= map from Tx_Top_8021p; 101: Final COS <= map from Tx_ DSCP (If non-IP, map Tx_Top_8021p); 110,111: same as 0.

  15. COS_control_BM B[3] : COS from S-Classification FIB; B[2] : COS from G-Classification FIB; B[1] : COS from VLAN Engine FIB and B[0] : COS from IPB default setting. The priority to select is: 1) S-Classify Engine COS; 2) G-Classify Engine COS; 3) VLAN Mapping Engine COS; 4) IPB _Default_COS;

  16. Rx 8021p mapping

  17. TX 8021p mapping

  18. Rx DSCP/tc mapping

  19. TX DSCP/TC mapping

  20. 8021p TE remarked

  21. Dscp/tc TE remarked

  22. MII project QOS

  23. MII configuration Downstream: configure uplink -> cascade don’t mark Upstream: only pass one time FE, no problem. Local switch and p2p: has problem.

  24. 8 port project solution

  25. 8 ports problem • Downstream: inner chip no problem, cross chip has problem. • Upstream: no problem. • P2p and local switch: has problem.

  26. FE rate limit control • To CPU rate limit enable • Mirror rate limit enable(total, section 0~3) • Special packet control(rate limit enable and id) • Group A rate limit control(group A mode, group A half mode) • Root_MC_ID control

  27. Group A rate limit control • total 1024 group A id • Total 8 modes • 0. disable • 0~511 US subs id, 512~1023 DS subs id • 0~511 SP_LLID, 512~1023 DP_LLID • 0~511 ROOT_MC_RL_ID, 512~1023 US subs id • 0~511 ROOT_MC_RL_ID, 512~1023 DS subs id • 0~511 P2P_Group_ID[7:0] +256*UC, 512~1023 DS subs • Sub CLS engine • VLAN engine

  28. Root_MC id control • PR group id *2 +cos[0] • Vlan group id *2 +cos[0] • 0~255 DS vlan group id based MC, 256~511 DS vlan group id based BC and unknown MC • MC group id

  29. FE policy control • Default flow • Mark enable, include def_flow,MC_fib,epsb,dpllid,spllid. • Flow_b mode • Flow_id for 2k llid • Policy enable

  30. Flow B mode 0: disable 1: SPLLID[6,0]*8 + cos[2,0] 2: SPLLID[7,0]*4 + cos[1,0] 3: cos[2,0]*128 + SPLLID[6,0]

  31. Flow_id for 2k llid • 2k llid flow chart enable. • Cos[2:0] use as msb. • Lower 1024 llid use for Flow id and upper 1024 llid use for flow B id.

  32. VOQ: virtual output queue • To PON known UC(include per llid replicated packet) VOQ = LLID*8 + COS(LLID = 0~255) • Other known UC VOQ or per port replicated packet = 0x800+port*8 + COS • Unknown packet(root MC VOQ), VOQ = 0x838 + COS

  33. EPB: egress port behavior • Bank id mode and bank id, bank0~bank3 are used for to PON port known UC, bank id = llid[1:0], bank4~bank7 are used for other packets, bank id = cos[1:0] • Destination port selection, select IBM, EBM, management, etc.

  34. VOQ remapping

  35. Bank id remap

  36. Head T 1 oam_excl_rm [128] (1) : 0x1 Dp_llid [127:119] (9) : 0x0 Dp_llid_vld [118] (1) : 0x0 Voqid_cos [117:115] (3) : 0x0 special pkt type [114:110] (5) : 0x14 MATCH_KEEP-alive_OAM Flow_id_cir_en [109] (1) : 0x1 Dpid_is_cpu [108] (1) : 0x0 DPID [107:105] (3) : 0x0 Mc_pkt_ind [104] (1) : 0x0

  37. Head t 2 pon_source_ind [103] (1) : 0x1 sp_cpu_rl_en [102] (1) : 0x0 spllid_cpu_rl_en [101] (1) : 0x0 sect_Mir_rl_en [100] (1) : 0x0 drop [99] (1) : 0x1 fe_te_dont_mark [98] (1) : 0x0 Pkt_color [97:96] (2) : 0x0 green flow_b_pl_en [95] (1) : 0x0 flow_b_id [94:85] (10) : 0x0 group_a_rl_en [84] (1) : 0x1

  38. Head t 3 group_a_id [83:74] (10) : 0x0 Wred_TD_en [73] (1) : 0x1 Spid_rl_en [72] (1) : 0x1 Cpu_rl_en [71] (1) : 0x0 Bank_id [70:68] (3) : 0x0 Pkt_len [67:57] (11) : 0x44 Voq_id [56:45] (12) : 0x800 Mir_rl_en [44] (1) : 0x0 Mir_ind [43] (1) : 0x0 Mir_sect_id [42:41] (2) : 0x0

  39. Head t 4 Pkt_type [40:39] (2) : 0x1 Mark_flag [38] (1) : 0x0 Mark_en [37] (1) : 0x1 cos [36:33] (4) : 0x0 spid [32:30] (3) : 0x0 spllid [29:21] (9) : 0x0 spec_pkt_rl_en [20] (1) : 0x0 spec_pkt_id [19:16] (4) : 0x0 Oam_excl_spid [15] (1) : 0x1 isp_plc_en [14] (1) : 0x0

  40. Head t 5 isp_id [13:11] (3) : 0x0 Policing_en [10] (1) : 0x1 Flow_id [9:0] (10) : 0x0

  41. TE

  42. TE function Rate limit Policy WRED Token bucket Counter

  43. Rate limit • Source port total rate limit • Source port packet type rate limit(BC, MC, UUC) • Source port special packet id rate limit(16 ID) • Source port to CPU rate limit • Total mirror and mirror section rate limit • LLID to CPU rate limit • Total to CPU rate limit • Group A rate limit(1024 id) • ONU special packet type rate limit

  44. policy • 1024 Flow id based policy • 1024 Flow B id based policy • CIR(commit input rate) and PIR(prommit input rate) • 8 ISP id policy • remark

  45. WRED: Weighted Random Early Detection • BM and TE • PWM flag • PRVT flag • MAX buf flag • DS/US, MC/UC, COS[2:0],MARK/UNMARK • 64 drop possibilities • Weight: Old(1-1/2^n) + New(1/2^n)

  46. Token bucket • Delta, add bytes per time • Time, 8000 clocks • CBS, the depth of token bucket, the maximum value of token add. • TBC, token bucket counter, when write CBS to CSR, TBC will be updated.

  47. Token bucket

  48. Head o 1 Bf_af_pr_ind [95] (1) : 0x0 Pkt_fwd_dest [94:92] (3) : 0x1 mirror_section_id [91:90] (2) : 0x1 mirror_pkt [89] (1) : 0x0 drop_pkt [83] (1) : 0x0 drop_src [88:84] (5) : 0x0 eth pkt type [82:81] (2) : 0x0 bank_id [80:78] (3) : 0x7 voqid [77:66](12) : 0x807 flow id h2b [65:64] (2) : 0x0

  49. Head o 2 flow id l7b [63:57] (7) : 0x0 packet rplind [56] (1) : 0x0 know UC ind [55] (1) : 0x1 pspid [54:52] (3) : 0x4 spllid [51:43] (9) : 0x0 traffic type [42:41] (2) : 0x0 pr_group_id [40:33] (8) : 0x0 marked [32] (1) : 0x0 cos [31:29] (3) : 0x7 die_id [28:27] (2) : 0x2

  50. Head o 3 dpid [26:20] (7) : 0x0 dpllid [19:11] (9) : 0x0 full_pkt_size [10: 0](11) : 0x40

More Related