IP Library › Granted Patent US 10,044,614
Granted Patent B2
US 10,044,614 · App. 14/670,384 · Granted Aug 7, 2018

System and method for dynamic and configurable L2/L3 data—plane in FPGA

Inventors: Vinayak Bhat (Bangalore, IN); Likhit Kulkarni (Bangalore, IN); Anuj Kumar Srivastava (Bangalore, IN); Sachin Kashyap (Bangalore, IN); Abhijit Das (Bangalore, IN); Ravishankar Kumaraswamy (Bangalore, IN)
Assignee: TEJAS NETWORKS LIMITED
H04L45/745H04L45/50
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,044,614
App. No.
14/670,384
Granted
Aug 7, 2018
Kind
B2
Abstract

A system and method for providing multi-processor data plane architecture have been provided. The method comprises selecting several processing units for performing an egress data process and an ingress data process. A number of processing units are selected for performing an egress data process based on a type of switch and data rate. Several processing pipes are provided for each processing unit. Each processing pipe is divided into several processing stages based on a number of lookup tables used in the egress data process and the ingress data process to absorb a response time of a memory device. The data is stored in several databases in each processing unit, and the databases are copied into several banks to increase an access time with a storage device, such as DDR-SDRAM. Several headers are resynchronized using a fixed delay time through an ACL unit.

Claims (24)

1. A method for generating and managing dynamic data plane for MEF switches, MPLS-TP router in FPGA platform, the method comprises steps of:

selecting a plurality of processing units for performing an ingress data process and an egress data process, and wherein a number of processing units is selected for performing an ingress data process and an egress data process is based on a type of switch and data rate;

providing a plurality of processing pipes for each processing unit, and causing at least some of said plurality of processing units to perform said ingress data process by:

extracting all header data in a first stage of processing, and wherein a frame processing is completed in a preset interval of time, and wherein a plurality of look-up tables is generated in the first processing stage, and wherein the plurality of look-up table includes a first table for port database for admission and handling, a Flow-Point Classification Rule (FPCR) look-up table for a virtual database, and an Access Control List (ACL) table;

collecting FPCR details from a DDR-SDRAM in the second processing stage to perform Forward Database (FD B) construction, tunnel lookups and learning validation; and

creating a meta data header based on all look-up tables and forwarding the created metadata to Ingress Data Buffers (IDB) for forwarding a frame along with a header to a traffic manager;

dividing each processing pipe into a plurality of processing stages to absorb a response time of a memory, device, and wherein each processing pipe is divided into the plurality of processing stages based on a number of lookup tables used in the ingress data process and the egress data process;

storing a plurality of data in a plurality of databases provided in each processing unit, and wherein the plurality of databases are copied into a plurality of banks to increase an access time with said DDR-SDRAM; and

resynchronizing a plurality of headers using a fixed delay time through a lookup unit.

2. The method according to claim 1 , wherein an ingress data processing comprises the steps of:

assigning a plurality of ports to each processing unit by an ingress arbiter switch matrix;

splitting a stored data across a plurality of processing pipes using a Weighted Round Robin (WRR) block to reduce a processing load of each processing unit;

attaching a sequence number and a time stamp to each data frame;

copying a data into a temporary buffer, and wherein the temporary buffer is an ingress data buffer, and wherein the ingress data buffer is a slotted memory with buffers having a size of 128/256 bytes;

copying a header of preset size to each processing pipe as header queue;

performing a processing of the headers after a completion of the full header in the plurality of processing stages, and wherein a final processing stage is started after an elapse of an fixed delay to ensure that a processing of data and frames in all the processing stages are completed in a preset interval of time; and

updating a statistics block for frame information and updating a politer for remaining credit.

3. The method according to claim 1 , wherein an egress data processing comprises the steps of:

forwarding a frame received from a traffic manger to individual egress data buffers (EDB), and wherein EDB is arranged for each processing unit in egress process;

copying meta data separately to a control buffer;

generating a memory request for a frame processing;

processing the frame in a freely available processing unit after receiving a response for the generated memory request;

forwarding the processed frame to individual ports; and

performing a resynchronizing operation of a data, and wherein the resynchronization of the data is done in a plurality of ports, when a speed of port is more than 10G.

Priority Claims (1)
IN 1654/CHE/2014 · Mar 28, 2014 · national
Continuity (1)
Related Publication 20150281131A1 · Oct 1, 2015