Methods and apparatus related to a distributed switch fabric
AssigneeJuniper Networks, Inc.
InventorGunes AYBAY
Life of this patent
Estimating the term…
Abstract
A method of sending data to a switch fabric includes assigning a destination port of an output module to a data packet based on at least one field in a first header of the data packet. A module associated with a first stage of the switch fabric is selected based on at least one field in the first header. A second header is appended to the data packet. The second header includes an identifier associated with the destination port of the output module. The data packet is sent to the module associated with the first stage. The module associated with the first stage is configured to send the data packet to a module associated with a second stage of the switch fabric based on the second header.
Claims20
An apparatus, comprising:
- an input port configured to receive, from a first peripheral device, a first data packet including a first data packet header specifying a destination address, the input port configured to receive a second data packet including a second data packet header specifying the destination address;
- a processor operatively coupled to the input port, the processor configured to (1) parse the first data packet header and the second data packet header, (2) append an identifier of a destination edge device to the first data packet to define a first appended data packet, the identifier of the destination edge device based on the destination address, and (3) append the identifier of the destination edge device to the second data packet to define a second appended data packet;
- an output port operatively coupled to the processor, the output port configured to send the first appended data packet to a module associated with a first stage of a switch fabric based on the first data packet header such that the module associated with the first stage of the switch fabric sends the first appended data packet to a module associated with the second stage of the switch fabric based on the identifier of the destination edge device, the module associated with the first stage of the switch fabric being from a plurality of modules associated with the first stage of the switch fabric, the module associated with the second stage of the switch fabric being from a plurality of modules associated with the second stage of the switch fabric.
An apparatus, comprising:
- an input port configured to receive, from an edge device, (1) a first data packet including a first header and a second header, the second header having been appended to the first data packet by the edge device based on the first header and (2) a second data packet including a third header and a fourth header, the fourth header having been appended to the second data packet by the edge device based on the third header;
- and
- an output port operatively coupled to a processor and the input port, the processor and the output port collectively configured to send (1) the first data packet to a module associated with a stage of a switch fabric based on the second header such that the first data packet is routed to a peripheral device, at least a portion of a route to the peripheral device after the stage of the switch fabric determined based on the second header, the module associated with the stage of the switch fabric being from a plurality of modules associated with the stage of the switch fabric and (2) the second data packet to the module associated with the stage of the switch fabric such that the second data packet is routed to the peripheral device via the portion of the route after the stage of the switch fabric.
A non-transitory processor readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
- parse a first data packet header from a first data packet received from a first peripheral device via an input port, the first data packet header specifying a destination;
- append a destination identifier to the first data packet based on the first data packet header to define a first appended data packet;
- send the first appended data packet to a module associated with a first stage of a switch fabric based on the first data packet header such that the module associated the first stage of the switch fabric sends the first appended data packet to a module associated with a second stage of the switch fabric based on the destination identifier, the module associated with the first stage of the switch fabric being from a plurality of modules associated with the first stage of the switch fabric, the module associated with the second stage of the switch fabric being from a plurality of modules associated with the second stage of the switch fabric;
- parse a second data packet header from a second data packet received from a second peripheral device via the input port, the second data packet header specifying the destination;
- append the destination identifier to the second data packet based on the second data packet header to define a second appended data packet;
- and
- send the second appended data packet to the module associated with the first stage of the switch fabric based on first data packet header such that the module associated with the first stage of the switch fabric sends the second appended data packet to the module associated with the second stage of the switch fabric.
Dependencies are inferred from the claim text.