Methods and apparatus for load balancing across member ports for traffic egressing out of a port channel
AssigneeCisco Technology, Inc.
InventorsShyam Kapadia, Nilesh Shah
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for load balancing across member ports for traffic egressing out of a port channel are provided herein. An example method according to one implementation may include: assigning a quantized value based on current load to each of the network ports in the port channel; receiving a data packet addressed to egress through the port channel; identifying a traffic flow with which the received data packet is associated; determining whether the identified traffic flow is a new traffic flow; and selecting one of the network ports in the port channel as an egress port. Selection of the egress port may be weighted according to the quantized value of each of the network ports in the port channel.
Claims20
A method for providing load balancing for a port channel including a plurality of network ports, comprising:
- assigning a quantized value to each of the network ports in the port channel, each quantized value being based on a current load on each of the network ports in the port channel;
- assigning a respective number of n-bit hash values of a plurality of possible n-bit hash values to each of the network ports in the port channel, wherein the respective number of n-bit hash values assigned to each of the network ports in the port channel is weighted according to the quantized value of each of the network ports in the port channel;
- receiving a data packet addressed to egress through the port channel;
- identifying a traffic flow with which the received data packet is associated;
- determining whether the identified traffic flow is a new traffic flow;
- upon determining that the identified traffic flow is a new traffic flow, selecting one of the network ports in the port channel as an egress port, wherein a probability of selecting each of the network ports in the port channel as the egress port is based on the respective number of n-bit hash values assigned to each of the network ports in the port channel.
A non-transitory computer-readable recording medium having computer-executable instructions stored thereon for providing load balancing for a port channel including a plurality of network ports of a network device that, when executed by the network device, cause the network device to:
- assign a quantized value to each of the network ports in the port channel, each quantized value being based on a current load on each of the network ports in the port channel;
- assign a respective number of n-bit hash values of a plurality of possible n-bit hash values to each of the network ports in the port channel, wherein the respective number of n-bit hash values assigned to each of the network ports in the port channel is weighted according to the quantized value of each of the network ports in the port channel;
- receive a data packet addressed to egress through the port channel;
- identify a traffic flow with which the received data packet is associated;
- determine whether the identified traffic flow is a new traffic flow;
- upon determining that the identified traffic flow is a new traffic flow, select one of the network ports in the port channel as an egress port, wherein a probability of selecting each of the network ports in the port channel as the egress port is based on the respective number of n-bit hash values assigned to each of the network ports in the port channel.
A network device for providing load balancing for a port channel, comprising:
- a plurality of network ports configured as the port channel;
- a central forwarding engine;
- and
- a memory communicatively connected to the central forwarding engine having computer-executable instructions stored thereon that, when executed by the central forwarding engine, cause the central forwarding engine to:
- assign a quantized value to each of the network ports in the port channel, each quantized value being based on a current load on each of the network ports in the port channel;
- assign a respective number of n-bit hash values of a plurality of possible n-bit hash values to each of the network ports in the port channel, wherein the respective number of n-bit hash values assigned to each of the network ports in the port channel is weighted according to the quantized value of each of the network ports in the port channel;
- receive a data packet addressed to egress through the port channel;
- identify a traffic flow with which the received data packet is associated;
- determine whether the identified traffic flow is a new traffic flow;
- upon determining that the identified traffic flow is a new traffic flow, select one of the network ports in the port channel as an egress port, wherein a probability of selecting each of the network ports in the port channel as the egress port is based on the respective number of n-bit hash values assigned to each of the network ports in the port channel.
Dependencies are inferred from the claim text.