# US 9,001,825 B2 · Virtual link aggregation using state machine

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,001,825 B2
- Document ID: US9001825B2
- Status: Granted
- Kind: B2
- Application number: 13/734,214
- Filed: 2013-01-04
- Published: 2014-07-10
- Granted: 2015-04-07
- Earliest claimed: 2013-01-04
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Tamanna Z. Sait; Venkatesan Selvaraj; Shoou Yiu; Yu H. Guo
- Web page: https://patentgrep.com/patent/US9001825B2

## CPC

- H04L 49/30: {Peripheral units, e.g. input or output ports}
- H04L 45/245: {Link aggregation, e.g. trunking}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Physical links between an access switch and a pair aggregation switches are aggregated into a virtual link aggregation group (vLAG). Each aggregation switch is a local switch to itself and a remote switch to the other aggregation switch. Each aggregation switch maintains a state machine including initialization, local-up, remote-up, and formed states. In the initialization state, the physical link between the access switch and each aggregation switch is down, and the vLAG is down. In the local-up state, just the physical link between the access switch and the local switch is up, and the vLAG is down. In the remote-up state, just the physical link between the access switch and the remote switch is up, and the vLAG is down. In the formed state, the physical link between the access switch and each aggregation switch is up, and the vLAG is up.

## Claims

### Claim 1

A method comprising:
performing virtual link aggregation, by a local aggregation switch, among physical links between an access switch and a pair of aggregation switches including the local aggregation switch and a remote aggregation switch;
maintaining, by the local aggregation switch, a state machine for the local aggregation switch to provide for the virtual link aggregation, the state machine comprising a plurality of states include an initialization state, a local-up state, a remote-up state, and a formed state;
in response to the physical link between the access switch and the local aggregation switch and the physical link between the access switch and the remote aggregation switch being down, and a virtual link aggregation group (vLAG) being down, maintaining, by the local aggregation switch, the state machine in the initialization state;
in response to the physical link between the access switch and the local aggregation switch being up, the physical link between the access switch and the remote aggregation switch being down, and the vLAG being down, maintaining, by the local aggregation switch, the state machine in the local-up state;
in response to the physical link between the access switch and the remote aggregation switch being up, the physical link between the access switch and the local aggregation switch being down, and the vLAG being down, maintaining, by the local aggregation switch, the state machine in the remote-up state; and
in response to the physical link between the access switch and the local aggregation switch and the physical link between the access switch and the remote aggregation switch being up, and the vLAG being up, maintaining, by the local aggregation switch, the state machine in the formed state.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
transitioning, by the local aggregation switch, the state machine from the initialization state to the local-up state in response to detecting that the physical link between the access switch and the local aggregation switch is up.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
transitioning, by the local aggregation switch, the state machine from the local-up state to the formed state in response to detecting that the physical link between the access switch and the remote aggregation switch is up.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
transitioning, by the local aggregation switch, the state machine from the initialization state to the remote-up state in response to detecting that the physical link between the access switch and the remote aggregation switch is up.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
transitioning, by the local aggregation switch, the state machine from the remote-up state to the formed state in response to detecting that the physical link between the access switch and the local aggregation switch is up.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
transitioning, by the local aggregation switch, the state machine from the formed state to the local-up state in response to detecting that the physical link between the access switch and the remote aggregation switch is down.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
transitioning, by the local aggregation switch, the state machine from the local-up state to the initialization state in response to detecting that the physical link between the access switch and the local aggregation switch is down.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
transitioning, by the local aggregation switch, the state machine from the formed state to the remote-up state in response to detecting that the physical link between the access switch and the local aggregation switch is down.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
transitioning, by the local aggregation switch, the state machine from the remote-up state to the initialization state in response to detecting that the physical link between the access switch and the remote aggregation switch is down.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
upon transitioning the state machine to the formed state, performing, by the local aggregation switch, one or more vLAG formation processes corresponding to and denoting that the vLAG has been formed.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
upon transitioning the state machine from the formed state, performing, by the local aggregation switch, one or more vLAG termination processes corresponding to and denoting that the vLAG has been terminated.

### Claim 12 (depends on 1)

The method of claim 1, wherein the vLAG aggregates the physical links between the access switch and the pair of aggregation switches into a virtual link transparent to the access switch.

### Claim 13 (depends on 1)

The method of claim 1, wherein the method is also performed by the remote aggregation switch.

### Claim 14

An aggregation switch comprising:
a hardware network port to communicate with an access switch over a physical link between the access switch and the aggregation switch, the physical link to be aggregated with a physical link between the access switch and a remote aggregation switch within a virtual link aggregation group (vLAG) corresponding to a virtual link transparent to the access switch;
a communication mechanism comprising one or more other hardware network ports to communicate with the remote aggregation switch to receive a status of the physical link between the access switch and the remote aggregation switch as one of up and down; and
hardware to implement logic to maintain a state machine for the aggregation switch by which the aggregation switch is to assist in aggregation of the physical link between the access switch and the aggregation switch and the physical link between the aggregation access switch and the remote aggregation switch as the vLAG, by:
where the physical link between the access switch and the local aggregation switch and the physical link between the access switch and the remote aggregation switch are down, and the vLAG is down, maintaining the state machine in an initialization state;
where the physical link between the access switch and the local aggregation switch is up, the physical link between the access switch and the remote aggregation switch is down, and the vLAG is down, maintaining the state machine in the local-up state;
where the physical link between the access switch and the remote aggregation switch is up, the physical link between the access switch and the local aggregation switch is down, and the vLAG is down, maintaining the state machine in the remote-up state; and
where the physical link between the access switch and the local aggregation switch and the physical link between the access switch and the remote aggregation switch are up, and the vLAG is up, maintaining the state machine in the formed state.

### Claim 15 (depends on 14)

The aggregation switch of claim 14, wherein the hardware comprises one of an applications-specific integrated circuit (ASIC) and a field-programmable gate array (FPGA) that implements the logic.

### Claim 16 (depends on 14)

The aggregation switch of claim 14, wherein the hardware comprises a processor and a computer-readable data storage medium storing computer-executable code that is executed by the processor to implement the logic.

### Claim 17

A computer program product comprising:
a non-transitory computer-readable storage medium having executable computer-readable code embodied therein that when executed by a processor causes the processor to:
perform virtual link aggregation among physical links between an access switch and a pair of aggregation switches including a local aggregation switch and a remote aggre ag tion switch by maintaining a state machine;
transition the state machine from an initialization state for a local aggregation switch to a local-up state in response to detecting that a physical link between an access switch and the local aggregation switch is up;
transition the state machine from the initialization state to a formed state of the state machine in response to detecting that a physical link between the access switch and a remote aggregation switch is up;
transition the state machine from the initialization state to a remote-up state of the state machine in response to detecting that the physical link between the access switch and the remote aggregation switch is up; and
transition the state machine from the remote-up state to the formed state in response to detecting that the physical link between the access switch and the local aggregation switch is up,
wherein a virtual link aggregation group (vLAG) aggregates the physical link between the access switch and the local aggregation switch and the physical link between the access switch and the remote aggregation switch into a virtual link transparent to the access switch.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the executable computer-readable code when executed by the processor further causes the processor to:
transition the state machine from the formed state to the local-up state in response to detecting that the physical link between the access switch and the remote aggregation switch is down;
transition the state machine from the local-up state to the initialization state in response to detecting that the physical link between the access switch and the local aggregation switch is down;
transition the state machine from the formed state to the remote-up state in response to detecting that the physical link between the access switch and the local aggregation switch is down; and
transition the state machine from the remote-up state to the initialization state in response to detecting that the physical link between the access switch and the remote aggregation switch is down.

### Claim 19 (depends on 17)

The computer program product of claim 17, wherein the executable computer-readable code when executed by the processor further causes the processor to:
maintain the state machine in the initialization state, in response to the physical link between the access switch and the local aggregation switch and the physical link between the access switch and the remote aggregation switch being down, and the vLAG being down,
maintain the state machine in the local-up state, in response to the physical link between the access switch and the local aggregation switch being up, the physical link between the access switch and the remote aggregation switch being down, and the vLAG being down,
maintain the state machine in the remote-up state, in response to the physical link between the access switch and the remote aggregation switch being up, the physical link between the access switch and the local aggregation switch being down, and the vLAG being down,
maintain the state machine in the formed state, in response to the physical link between the access switch and the local aggregation switch and the physical link between the access switch and the remote aggregation switch being up, and the vLAG being up.
