Enhanced routing performance
AssigneeMellanox Technologies, Ltd.
InventorsGil Mey-Tal, Eran Gil Beracha, Tal Mund
Life of this patent
Estimating the term…
Abstract
Embodiments of the present disclosure are directed to network devices utilizing different types of routing. More specifically, embodiments are directed to preventing the synchronization of routing engines such as can happen with routing types such as round robin. According to one embodiment, a network device can utilize a first routing type, e.g., round robin routing, as a primary routing type but can first check whether the selected port is currently available. If the selected port is not available, rather than continue with the first routing type approach, a port can be selected utilizing a second, different type of routing such as random or pseudo-random routing.
Claims20
A communication device comprising:
- a plurality of communication ports;
- a control circuit controlling operation of the communication device, wherein the control circuit causes the communication device to:
- select a communication port from a first list of communication ports using a first routing type, the first list of communication ports comprising a list of all of the plurality of communication ports;
- determine whether the selected communication port from the first list of communication ports is currently available based on a second list of communication ports, the second list of communication ports comprising a dynamically determined list of available communication ports of the plurality of communication ports;
- in response to determining the selected communication port from the first list of communication ports is currently available, route a data packet to the selected communication port from the first list of communication ports;
- and
- in response to determining the selected communication port from the first list of communication ports is not currently available, route the data packet to an available communication port of the second list using a second routing type and the second list of communication ports.
A system comprising:
- a communication network;
- and
- a communication device coupled with the communication network, the communication device comprising:
- a plurality of communication ports, each communication port of the plurality of communication ports couple with the communication network;
- a control circuit controlling operation of the communication device, wherein the control circuit causes the communication device to:
- select a communication port from a first list of communication ports using a first routing type, the first list of communication ports comprising a list of all of the plurality of communication ports;
- determine whether the selected communication port from the first list of communication ports is currently available based on a second list of communication ports, the second list of communication ports comprising a dynamically determined list of available communication ports of the plurality of communication ports;
- in response to determining the selected communication port from the first list of communication ports is currently available, route a data packet to the selected communication port from the first list of communication ports;
- and
- in response to determining the selected communication port from the first list of communication ports is not currently available, route the data packet to an available communication port of the second list using a second routing type and the second list of communication ports.
A method for routing packets in a communication device, the method comprising:
- selecting, by a control circuit of the communication device, a communication port from a first list of communication ports using a first routing type, the first list of communication ports comprising a list of all of a plurality of communication ports in the communication device;
- determining, by the control circuit of the communication device, whether the selected communication port from the first list of communication ports is currently available based on a second list of communication ports, the second list of communication ports comprising a dynamically determined list of available communication ports of the plurality of communication ports, wherein each communication port of the plurality of communication ports comprises an egress queue, and wherein the communication ports of the second list of communication ports is dynamically determined based on a status of the egress queue of each of the plurality of communication ports;
- in response to determining the selected communication port from the first list of communication ports is currently available, routing, by the control circuit of the communication device, a data packet to the selected communication port from the first list of communication ports;
- and
- in response to determining the selected communication port from the first list of communication ports is not currently available, routing, by the control circuit of the communication device, the data packet to an available communication port of the second list using a second routing type and the second list of communication ports.
Dependencies are inferred from the claim text.