# US 11,444,804 B2 · System and method for preventing switch loops in layer-2 networks

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

- Number: US 11,444,804 B2
- Document ID: US11444804B2
- Status: Granted
- Kind: B2
- Application number: 16/868,368
- Filed: 2020-05-06
- Published: 2021-05-27
- Granted: 2022-09-13
- Earliest claimed: 2019-11-21
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Leonid Rozenboim
- Web page: https://patentgrep.com/patent/US11444804B2

## CPC

- H04L 45/16: Multipoint routing
- H04L 12/437: Ring fault isolation or reconfiguration {(for SDH/SONET ring networks H04J3/085)}
- H04L 12/462: {LAN interconnection over a bridge based backbone}
- H04L 12/4675: {Dynamic sharing of VLAN information amongst network nodes (configuration of the network or of network elements H04L41/08)}
- H04L 47/32: by discarding or delaying data units, e.g. packets or frames
- H04L 49/354: for supporting virtual local area networks [VLAN]
- H04L 49/70: {Virtual switches}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Described herein are systems and methods for preventing switch loops in a layer 2 network. A method can provide, at a computer including a microprocessor, two or more virtual local area networks (VLANs), each VLAN comprising a number of bridges, a plurality of end nodes connected to the two or more VLANs via a plurality of network interface cards (NICs). The method can connect two of the plurality of nodes to two of the VLANs via two or more tunnels. The method can receive a first instance of a broadcast packet at a bridge of a VLAN, and then receive a second instance of the broadcast packet is the bridge of the VLAN. Upon the second instance of the broadcast packet being received within a configured time period, the method can drop the second instance of the broadcast packet.

## Claims

### Claim 1

A system for preventing switch loops in a layer 2 network, comprising:
a plurality of virtual local area networks (VLANs), each VLAN comprising a plurality of bridges; and
a plurality of end nodes connected to the two or more VLANs via a plurality of network interface cards (NICs), the plurality of end nodes comprising a computer comprising a microprocessor;
wherein a first VLAN of the plurality of VLANs and a second VLAN of the plurality of VLANs are interconnected via two or more virtual bridges, each virtual bridge providing a separate connection between the first VLAN and the second VLAN;
wherein a first instance of a broadcast packet is received at a bridge of the second VLAN;
wherein upon receiving the first instance of the broadcast packet at the bridge of the second VLAN, a forwarding table associated with the bridge of the second VLAN is updated to record a port of the bridge of the second VLAN on which the first instance of the broadcast packet was received and a time of arrival of the first instance of the broadcast packet at the bridge of the second VLAN;
wherein a second instance of the broadcast packet is received at the bridge of the second VLAN, wherein the second instance of the broadcast packet is received at the bridge of the second VLAN after the first instance of the broadcast packet is received at the bridge of the second VLAN; and
wherein the bridge of the second VLAN determines that the second instance of the broadcast packet is a result of a switch loop and drops the second instance of the broadcast packet.

### Claim 2 (depends on 1)

The system of claim 1,
wherein a first virtual bridge of the two or more virtual bridges comprises a first end node of the plurality of end nodes, the first end node being connected to the first VLAN and the second VLAN.

### Claim 3 (depends on 2)

The system of claim 2,
wherein a second virtual bridge of the two or more virtual bridges comprises a second end node of the plurality of end nodes, the second end node being connected to the first VLAN and the second VLAN.

### Claim 4 (depends on 1)

The system of claim 1,
wherein the bridge of the second VLAN determines that the second instance of the broadcast packet is a result of a switch loop by comparing a port on which the second instance of the broadcast packet is received on to the recorded port of the bridge of the second VLAN on which the first instance of the broadcast packet was received on.

### Claim 5 (depends on 4)

The system of claim 4,
wherein the bridge of the second VLAN determines mining that the port on which the second instance of the broadcast packet is received on is different than the recorded port of the bridge of the second VLAN on which the first instance of the broadcast packet was received on, the bridge of the second VLAN determines a time period between receiving the first instance of the broadcast packet and the second instance of the broadcast packet.

### Claim 6 (depends on 5)

The system of claim 5,
wherein the determined time period being less than a configured time period, the bridge of the second VLAN drops the received second instance of the broadcast packet.

### Claim 7

A method for preventing switch loops in a layer 2 network, comprising:
providing, at a computer comprising a microprocessor;
a plurality of virtual local area networks (VLANs), each VLAN comprising a plurality of bridges, and
a plurality of end nodes connected to the two or more VLANs via a plurality of network interface cards (NICs);
interconnecting a first VLAN of the plurality of VLANs and a second VLAN of the plurality of VLANs via two or more virtual bridges, each virtual bridge providing a separate connection between the first VLAN and the second VLAN;
receiving a first instance of a broadcast packet at a bridge of the second VLAN;
upon receiving the first instance of the broadcast packet at the bridge of the second VLAN, a forwarding table associated with the bridge of the second VLAN is updated to record a port of the bridge of the second VLAN on which the first instance of the broadcast packet was received and a time of arrival of the first instance of the broadcast packet at the bridge of the second VLAN;
receiving a second instance of the broadcast packet is received at the bridge of the second VLAN, wherein the second instance of the broadcast packet is received at the bridge of the second VLAN after the first instance of the broadcast packet is received at the bridge of the second VLAN;
determining, by the bridge of the second VLAN, that the second instance of the broadcast packet is a result of a switch loop; and
dropping the second instance of the broadcast packet.

### Claim 8 (depends on 7)

The method of claim 7,
wherein a first virtual bridge of the two or more virtual bridges comprises a first end node of the plurality of end nodes, the first end node being connected to the first VLAN and the second VLAN.

### Claim 9 (depends on 8)

The method of claim 8,
wherein a second virtual bridge of the two or more virtual bridges comprises a second end node of the plurality of end nodes, the second end node being connected to the first VLAN and the second VLAN.

### Claim 10 (depends on 7)

The method of claim 7,
wherein the bridge of the second VLAN determines that the second instance of the broadcast packet is a result of a switch loop by comparing a port on which the second instance of the broadcast packet is received on to the recorded port of the bridge of the second VLAN on which the first instance of the broadcast packet was received on.

### Claim 11 (depends on 10)

The method of claim 10,
wherein the bridge of the second VLAN, upon determining that the port on which the second instance of the broadcast packet is received on is different than the recorded port of the bridge of the second VLAN on which the first instance of the broadcast packet was received on, the bridge of the second VLAN determines a time period between receiving the first instance of the broadcast packet and the second instance of the broadcast packet.

### Claim 12 (depends on 11)

The method of claim 11,
wherein the determined time period being less than a configured time period, the bridge of the second VLAN drops the received second instance of the broadcast packet.

### Claim 13

A non-transitory computer readable storage medium having instructions thereon for preventing switch loops in a layer 2 network, which when read an executed cause a computer to perform steps comprising:
providing, at a computer comprising a microprocessor;
a plurality of virtual local area networks (VLANs), each VLAN comprising a plurality of bridges, and
a plurality of end nodes connected to the two or more VLANs via a plurality of network interface cards (NICs);
interconnecting a first VLAN of the plurality of VLANs and a second VLAN of the plurality of VLANs via two or more virtual bridges, each virtual bridge providing a separate connection between the first VLAN and the second VLAN;
receiving a first instance of a broadcast packet at a bridge of the second VLAN;
upon receiving the first instance of the broadcast packet at the bridge of the second VLAN, a forwarding table associated with the bridge of the second VLAN is updated to record a port of the bridge of the second VLAN on which the first instance of the broadcast packet was received and a time of arrival of the first instance of the broadcast packet at the bridge of the second VLAN;
receiving a second instance of the broadcast packet is received at the bridge of the second VLAN, wherein the second instance of the broadcast packet is received at the bridge of the second VLAN after the first instance of the broadcast packet is received at the bridge of the second VLAN;
determining, by the bridge of the second VLAN, that the second instance of the broadcast packet is a result of a switch loop; and
dropping the second instance of the broadcast packet.

### Claim 14 (depends on 13)

The non-transitory computer readable storage medium of claim 13,
wherein a first virtual bridge of the two or more virtual bridges comprises a first end node of the plurality of end nodes, the first end node being connected to the first VLAN and the second VLAN; and
wherein a second virtual bridge of the two or more virtual bridges comprises a second end node of the plurality of end nodes, the second end node being connected to the first VLAN and the second VLAN.

### Claim 15 (depends on 13)

The non-transitory computer readable storage medium of claim 13,
wherein the bridge of the second VLAN determines that the second instance of the broadcast packet is a result of a switch loop by comparing a port on which the second instance of the broadcast packet is received on to the recorded port of the bridge of the second VLAN on which the first instance of the broadcast packet was received on;
wherein the bridge of the second VLAN, upon determining that the port on which the second instance of the broadcast packet is received on is different than the recorded port of the bridge of the second VLAN on which the first instance of the broadcast packet was received on, the bridge of the second VLAN determines a time period between receiving the first instance of the broadcast packet and the second instance of the broadcast packet; and
wherein the determined time period being less than a configured time period, the bridge of the second VLAN drops the received second instance of the broadcast packet.
