Method for weighted load-balancing among network interfaces
AssigneeMarvell Israel (M.I.S.L) Ltd.
InventorCarmi Arad
Life of this patent
Estimating the term…
Abstract
A logical load-balancing method for distributing traffic according to a set of weights among a group of network interfaces. A logical identity of a packet may be generated, e.g., by generating a hash index of the packet's header. Each of the weights may be associated with a network interface. A range of logical identities, or its boundary, may be determined for an interface according to the weight associated with the interface member. A packet may be directed to an interface if the packet's logical identify falls into the range of the interface.
Claims19
A method for load-balancing traffic in a Link Aggregation Group (LAG) which comprises a plurality of LAG members, the method comprising:
- generating a logical identity of a packet;
- associating a weight with each LAG member, the weight corresponding to a percentage of network traffic that is to be assigned to the LAG member, wherein a weight associated with a first LAG member is different from a weight associated with a second LAG member;
- determining a range of logical identities assignable to the first LAG member according to the weight associated with the first LAG member;
- and
- distributing the packet, by a network traffic distributing device, to the first LAG member if the packet's logical identity falls into the range of logical identities assignable to the first LAG member,
- wherein the determining further comprises:
- determining a logical identity boundary for the first LAG member,
- wherein the number of logical identities assignable to the second LAG member is a difference between boundaries of the first LAG member and the second LAG member,
- wherein the boundary of the range of logical identities is determined using the following equation:
- Ri=Ri-1Wi*2n/W, and
- wherein i is an LAG member number;
- Ri is a boundary value associated with an LAG member i;
- Wi is a weight associated with an LAG member i:
- n is the hash index width;
- and
- W is the sum of all Wi's associated with valid LAG members.
A method for weighted load-balancing traffic among a plurality of network interfaces, comprising:
- generating a logical identity of a packet;
- associating a weight with each network interface, the weight corresponding to a percentage of network traffic that is to be assigned to the network interface;
- determining a range of logical identities assignable to the network interface according to the weight associated with the network interface;
- distributing the packet, by a network traffic distributing device, to the network interface if the packet's logical identity falls into the range of logical identities assignable to the network interface, and
- determining a logical identity boundary for the network interface using the following equation:
- Ri=Ri-1+Wi*2n/W
- wherein i is a network interface number;
- Ri is a boundary value associated with a network interface i;
- W is a weight associated with a network interface i;
- n is the hash index width;
- and
- W is the sum of all Wi's associated with valid network interfaces.
A device for distributing network traffic, comprising:
- at least one input port for receiving packets;
- at least two output ports for transmitting packets;
- and
- a control module for distributing packets received at the input port among the output ports, wherein the control module:
- generates a logical identity of a packet;
- associates a weight with each output port, the weight corresponding to a percentage of network traffic that is to be assigned to the output port;
- determines a range of logical identities assignable to the output port according to the weight associated with the output port;
- and
- distributes the packet to the output port if the packet's logical identity falls into the range of logical identities assignable to the output port, and
- determining a logical identity boundary for an output port using the following equation:
- Ri=Ri-1+Wi*2n/W
- wherein i is an output port number;
- Ri is a boundary value associated with an output port;
- Wi is a weight associated with an output port i;
- n is the hash index width;
- and
- W is the sum of all W's associated with valid output ports.
Dependencies are inferred from the claim text.