Browse Prior Art Database

Method to Increase Number of CP-DP Connections

IP.com Disclosure Number: IPCOM000239757D
Publication Date: 2014-Dec-01
Document File: 7 page(s) / 229K

Publishing Venue

The IP.com Prior Art Database

Abstract

Embedded networking software is divided into two logical entities, Control Plane (CP) and Data Plane (DP), with the advent of software defined networking and server virtualization. The CP and DP can be either physical or virtual. The CP usually creates packet processing context for the DP in switch, and the DP performs the actual packet processing. Typically, the databases created by routing protocols, switching protocols, etc., in the CP will be synchronized to the DP and used as inputs for the creation of packet processing context. Communication between the CP and DP takes place through transport channels. Typically there is one main connection and multiple auxiliary connections between the DP and the CP. Auxiliary connections are created by the DP and are helpful to improve the DP processing performance and exploit the parallelism of the most DP implementations. DP is like fast path implementation for various control functions like Web proxy firewall, VPN, routing, etc. For example, the DP can be based on soft switches or hardware switches like DP based on intelligent NIC or DP based on advanced packet processing layers similar to Layerscape.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 47% of the total text.

Method to Increase Number of CP-DP Connections

Abstract

Embedded networking software is divided into two logical entities, Control Plane (CP) and Data Plane (DP), with the advent of software defined networking and server virtualization. The CP and DP can be either physical or virtual. The CP usually creates packet processing context for the DP in switch, and the DP performs the actual packet processing. Typically, the databases created by routing protocols, switching protocols, etc., in the CP will be synchronized to the DP and used as inputs for the creation of packet processing context. Communication between the CP and DP takes place through transport channels. Typically there is one main connection and multiple auxiliary connections between the DP and the CP. Auxiliary connections are created by the DP and are helpful to improve the DP processing performance and exploit the parallelism of the most DP implementations. DP is like fast path implementation for various control functions like Web proxy firewall, VPN, routing, etc.  For example, the DP can be based on soft switches or hardware switches like DP based on intelligent NIC or DP based on advanced packet processing layers similar to Layerscape.

Background

FIG. 1 - Block Diagram showing the CP-DP Architecture

-       All the control processing intelligence is centralized and separated from DP.

-       DP performs only forwarding of the traffic.

-       One CP can manage multiple DPs.

-        Table miss flow packets that are exception packets in DP are sent to the CP through Transport channels.

-        Limitation is on multi-core utilization for CP-DP communication.

When the traffic arrives at DP, it traverses through pipeline processing of various tables.  Each table will have match fields.  Based on the match fields, field values will be extracted from the packet and will undergo the Table flow look-up.  If the flow is found, packet will be given to next table in the pipeline or it will be sent out on the given port.  If there is no flow match for the traffic, it will hit the default flow entry, which is "miss flow entry".  As part of miss flow entry, exception packets will be sent to the CP.  The CP does the control processing and adds the packet processing context in the form of flow to the DP.  Thereby, data forwarding takes place through the DP from the next packet onwards.  We can see the limitation on CP-DP communication while handling exceptions packets in multicore environment with increasing number of flows.

Body

                If the DP and CP are capable of supporting multi core, there are methods to achieve parallelism in table flow match fields lookup only in DP. But currently there is

v  No mechanism to scale up the number of auxiliary connections to use between CP and DP.

v  No entropy to distribute the table miss flow packets in DP across the scaled auxiliary connections pertaining to the CP to improve the DP performance.

v  No entropy to distribute the packets in CP across...