1 / 41

Software Architecture Overview

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

arav
Download Presentation

Software Architecture Overview

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. Software Architecture Overview Control Plane-Platform Development Kit Nick Wang & Ting-Chao Hou National Chung Cheng University

  2. Outline • Managing Data Structures • Microblock • Core Component • CP-PDK Overview • Control Plane PDK Architecture • Control Plane Module • Transport Plug-in • Forwarding Plane Module • CPPUI

  3. Managing Data Structures • Linked List Management Structure • Ring Buffers • SRAM Q_Array Controller • The Many-to-One Problem

  4. Memory Resource Utilization in Processing a Packet

  5. Linked List Management Structure

  6. Linked List Management Structure

  7. Linked List Management Structure

  8. Linked List Management Structure

  9. Ring and linked list • Ring • Communication mechanism • Fixed-Size • Easy for maintenance • Next-neighbor register, scratchpad, SRAM • Linked List • Packet buffering • Variable-length • SRAM

  10. Enqueueing to Cached Q_Array

  11. Enqueueing to Non-Cached Q_Array

  12. Dequeueing to Cached Q_Array

  13. Dequeueing to Non-Cached Q_Array

  14. The Many-to-One Problem Many-to-Many Many-to-One

  15. Elements of the Intel IXA Portability Framework

  16. Microblock • 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

  17. 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

  18. 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.

  19. 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()

  20. 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

  21. 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

  22. Control Plane PDK Architecture

  23. Control Plane PDK Architecture

  24. Control Plane Module

  25. Control Plane • NP Forum defines two sets of APIs • NPF Application API • IPv4 API, MPLS API, DiffServ API • NPF Management API

  26. 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

  27. 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 • MPLS API • Configuring the MPLS Core Component • Setup the labels required for label swapping • ATM API • Configuring and management VP,VC parameters • Qos API • Configuration the IntServ and DiffServ CC

  28. Configuration and Management Module • Layer 2 objects • bridges and forwarding databases • Ports • Ethernet • Layer 3 IP object • Interface, IP route table, IPv6, Diffserv

  29. Namespace Module

  30. Binding and Capability Discovery Module • Responsible for binding and capability discovery of the underlying forwarding planes • Provides consistent semantics for heterogeneous forwarding plane

  31. 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

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

  33. Callback and Event Handler Module • Maintaining all API callbacks registered by the applications and also the callbacks registered for event notifications

  34. 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

  35. CP Multi-client Module • Allows the PDK to run with multiple clients on Linux • The multi-client module uses RPC.

  36. Protocol Support Service • Virtual Interface Device Driver (VIDD) • CE packet handler • Routing Cache Manager (RCM)

  37. 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.

  38. Forwarding Plane Module

  39. CPPUI for conformance test

  40. Remote CP-PDK

  41. Co-located CP-PDK

More Related