Patent ID: 8891516

Claim:
A system for providing link aggregation (LAG) to heterogeneous switches, the system comprising: at least two switches connected to a server, each switch being connected via a plurality of connections to the server, wherein the at least two switches are connected to one another via one or more inter-switch links (ISLs), wherein the server comprises logic configured to: send a LAG request on each connection to each of the at least two switches in order to create a plurality of LAG groups, one LAG group per switch including all connections therebetween, wherein each of the at least two switches comprises logic configured to: receive the LAG request from the server; and forward the LAG request to a switch controller in electrical communication with the at least two switches, and wherein the switch controller comprises logic configured to: receive the forwarded LAG requests from the at least two switches; determine that multiple LAG requests have been received, from more than one switch, corresponding to the server; group connections referenced by each of the multiple LAG requests into separate LAG groups according to a particular switch from which a particular LAG request was received; correlate all the separate LAG groups with the server and form a multi-switch LAG group comprising all the separate LAG groups; instruct each of the at least two switches to setup a LAG group with the server according to the separate LAG groups determined by the switch controller; and create, as directed by the switch controller, for a first flow through a first switch via a first LAG group to the server, one or more alternate flows through one or more second switches via one or more second LAG groups connected to the server.