Tuesday, 12 April 2016

MITG Architecture

PSC:
====

Line Card ----- PSC Card
* L2 checks happen at Line card and it passes it to npu of psc card.
* Both are connected using a starchannel

And each psc card has a cpu and npu

* npu is also a cpu which is required for specific purpose(flow lookup and forwarding decision)
* cpu is used for generic purpose and runs processes for each mechanism like bgp, sessmgr, ospf

DPC Card:
=======

Each DPC card has 4 cpu's where the processes will be running along with switch fabric card(SF card)

MIO card:
=======

              ------------------------
5/1-5     |     NPU1                 |
              |                               |
              |                               |
5/6-10   |    NPU 2     CPU1  |
              |                                |
              |                                |
5/11-15  |    NPU3      CPU2  |
              |                                |
              |                                |
5/16-20  |  NPU4                   |
              |                               |
              ------SFCARD-------


Each MIO card has 4 npu's and 2 cpu's, SFcard(Switch Fabric)

a) Whenever BGP comes up a flow is installed on npu and for each flow an action is specified in the form of BIA.

BIA is added to each packet by npu and forwarded to sf card of that MIO.

BIA contains  | Slot | Module | Port |
     Slot : Demux card number
     Module : which cpu of the card
     Port :  which socket

b) When SF card receives the packet it looks at the Destination BIA and decides which card it has to forward to.

c) SF card if DPC card receives the packet and forwards it to relevant CPU.

d) Kernel in the cpu will forward it to ip stack and get it processed.
    Kernel will take care of device drivers and the processes.


                                                        DPC CPU Hierarchy
                                                        ------------------------

                                                          Application
                                                          ---------------
                                                          Socket Layer
                                                          ----------------
                                                              Kernel
                                                          --------------
                                                           HW Device





 Packet Flow from ingress to Egress:
=========================

Ingress Context | Egress Context
  (ctx id -2 )              (ctx id -3)

a) Packet receives on NPU of demux DPC (corresponding Ingress context)
b) Sessmgr of demux DPC card forwards it to corresponding DPC card(decided based on which subscriber is allotted to which DPC card)
c) Sessmgr of receiving DPC decides which context-id it has to forward it to.
d) NPU of the DPC will look into corresponding routing table and will take a forwarding decision.

All NPU's of all the DPC cards will have exact same database, which contains ingress flows, routing tables of all the context's.

Demux card decides which session manager of which DPC card should handle which subscriber.

Fragmentation and Reassembly happens at Incoming NPU.

Buffering happens at receiving NPU.

Flow control is taken care by flow drivers of MIO card.

NPU is responsible for both "ingress flow lookup"and "egress forwarding"