software architecture overview
Skip this Video
Download Presentation
Software Architecture Overview

Loading in 2 Seconds...

play fullscreen
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.