Software architecture overview
1 / 41

Software Architecture Overview - PowerPoint PPT Presentation

  • Uploaded on

Software Architecture Overview. Control Plane-Platform Development Kit. Nick Wang & Ting-Chao Hou National Chung Cheng University. Outline. Managing Data Structures Microblock Core Component CP-PDK Overview Control Plane PDK Architecture Control Plane Module Transport Plug-in

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Software Architecture Overview' - arav

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Software architecture overview

Software Architecture Overview

Control Plane-Platform Development Kit

Nick Wang & Ting-Chao Hou

National Chung Cheng University


  • Managing Data Structures

  • Microblock

  • Core Component

  • CP-PDK Overview

  • Control Plane PDK Architecture

    • Control Plane Module

    • Transport Plug-in

    • Forwarding Plane Module


Managing data structures
Managing Data Structures

  • Linked List Management Structure

  • Ring Buffers

  • SRAM Q_Array Controller

  • The Many-to-One Problem

Ring and linked list
Ring and linked list

  • Ring

    • Communication mechanism

    • Fixed-Size

    • Easy for maintenance

    • Next-neighbor register, scratchpad, SRAM

  • Linked List

    • Packet buffering

    • Variable-length

    • SRAM

The many to one problem
The Many-to-One Problem




  • A building block represents a unit of packet-processing functionality

    • IPV4 routing, Ethernet bridging

  • Intel Provides two kinds of building block

    • Packet ProcessingMicroblock

    • Driver Microblock

Core component overview
Core component overview

  • During initialization, each core component does the following:

    • Sets up memory for shared tables

    • Patches symbols

  • Processing exception packets

    • Non-IP Packets

    • Packets with no route information

    • Packets that require fragmentation

    • Packets for local IP addresses

    • Packets with IP options

Core component functions
Core component Functions

  • Configures its microblock (static configuration by means of imported variables and dynamic configuration through control blocks).

  • Initializes and maintains common data structures that may be updated by other applications.

  • Provides exception as well as control message handler to process packets/messages sent by the microblock.

Core component overview1
Core component overview

  • Core components need to register different types of handlers.

    • Packet Handlers

    • Message Handlers

  • init() and fini() Functions

    • ix_error ix_cc_<component-name>_init()

    • ix_error ix_cc_<component-name>_fini()

Cp pdk overview
CP-PDK Overview

  • Three logical operational components

    • Control Plane

      • Control and configure the Forwarding Plane

      • Signaling and routing protocol

    • Forwarding Plane

      • Manipulate the network traffic

      • Forwarding, classification, filtering

    • Management Plane

      • Manage the control and forwarding planes

      • Start or stop routing process

      • Performance logging

Npf network processing forum api
NPF (Network Processing Forum) API

  • Standardized the APIs within the three planes

  • mix and match components available from different vendors

  • presents a flexible and well-known programming interface to the control plane applications

  • the protocol stacks and network processors available can be easily integrated with the NPF APIs

Control plane
Control Plane

  • NP Forum defines two sets of APIs

    • NPF Application API

      • IPv4 API, MPLS API, DiffServ API

    • NPF Management API

Features of control plane module
Features of Control Plane module

  • One-to-many mapping

  • Inter-forwarding plane forwarding

  • Binding and capability discovery of the forwarding planes

  • OS abstraction layer achieve independence from the control plane hardware and OS

Application api implementation module
Application API Implementation Module

  • IPv4 and IPv6 Unicast Forwarding API

    • Configuration and management objects

      • Ex. IP route and ARP tables

    • Receiving notification

      • Ex. ARP events


    • Configuring the MPLS Core Component

      • Setup the labels required for label swapping


    • Configuring and management VP,VC parameters

  • Qos API

    • Configuration the IntServ and DiffServ CC

Configuration and management module
Configuration and Management Module

  • Layer 2 objects

    • bridges and forwarding databases

  • Ports

    • Ethernet

  • Layer 3 IP object

    • Interface, IP route table, IPv6, Diffserv

Binding and capability discovery module
Binding and Capability Discovery Module

  • Responsible for binding and capability discovery of the underlying forwarding planes

  • Provides consistent semantics for heterogeneous forwarding plane

Forwarding plane topology manager
Forwarding Plane Topology Manager

  • The forwarding plane could be connected in a bus, mesh, star

  • The control data being downloaded must also be slightly modified in some case to simulate the one virtual router

Inter fe forwarding module
Inter-FE Forwarding Module

  • Assigning labels to be used for inter-FE forwarding on per-router label information base.

Callback and event handler module
Callback and Event Handler Module

  • Maintaining all API callbacks registered by the applications and also the callbacks registered for event notifications

Cp module manager
CP Module Manager

  • Initialization and shutdown of CP module

  • The CP module manager starts all the sub-modules in the CP in a well-defined order, including the CP Agent, which is a part of the transport plug-in

Cp multi client module
CP Multi-client Module

  • Allows the PDK to run with multiple clients on Linux

  • The multi-client module uses RPC.

Protocol support service
Protocol Support Service

  • Virtual Interface Device Driver (VIDD)

  • CE packet handler

  • Routing Cache Manager (RCM)

Transport plug in
Transport Plug-in

  • Provide in-process communication between the control plane and the forwarding plane in the case of co-location

  • Different forwarding plane can be connected to the control plane over different interconnects.