Separation of data and control in a switching device
First Claim
1. A method comprising:
- receiving, by a network device, data at an input port of the network device;
transferring, by the network device, the data to a memory via an input switch of the network device;
reading, by the network device, a key from a header of the data at the input switch;
identifying, by the network device, a destination and an output port based on the key;
transmitting, by the network device, information identifying the destination and information identifying the output port to an output switch of the network device; and
initiating, by the output switch, transfer of the data from the memory to the output port based on the information identifying the destination and the information identifying the output port.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for switching a data packet between a source and destination in a network. The data packet includes a header portion and a data portion. The header portion includes routing information for the data packet. The method includes defining a data path in the router comprising a path through the router along which the data portion of the data packet travels and defining a control path comprising a path through the router along which routing information from the header portion travels. The method includes separating the data path and control path in the router such that the routing information can be separated from the data portion allowing for the separate processing of each in the router. The data portion can be stored in a global memory while routing decisions are made on the routing information in the control path.
22 Citations
19 Claims
-
1. A method comprising:
-
receiving, by a network device, data at an input port of the network device; transferring, by the network device, the data to a memory via an input switch of the network device; reading, by the network device, a key from a header of the data at the input switch; identifying, by the network device, a destination and an output port based on the key; transmitting, by the network device, information identifying the destination and information identifying the output port to an output switch of the network device; and initiating, by the output switch, transfer of the data from the memory to the output port based on the information identifying the destination and the information identifying the output port. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A device comprising:
-
a memory; an input switch to; receive data via an input port of the device, and transmit the data to the memory, and determine a key based on a header of the data; a controller to; receive the key from the input switch, determine a route for transmitting the data through the network device based on the key, identify an output port of the device based on the key, and transmit, based on the route, information identifying the data and information identifying the output port; and an output switch to; receive the information identifying the data and the information identifying the output port, and initiate a transfer of the data from the memory to the output port based on the information identifying the data and the information identifying the output port. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
a network device to; receive data at an input port of the network device, store the data in a memory, a data path used to transfer the data to the memory flowing directly from the input port to the memory, read a key from a header of the data, determine, while the data is stored in the memory, a routing decision based on the key, the routing decision being made via a control path that is separate from the data path used to transfer the data to the memory, generate a notification based on the routing decision and a location of the data in the memory, initiate a transfer of the data from the memory based on the notification, and transfer the data from the memory to an output port based on the routing decision. - View Dependent Claims (16, 17, 18, 19)
Specification