US 12,177,120 B2
Loop prevention in virtual layer 2 networks
Jagwinder Singh Brar, Bellevue, WA (US); Shane Baker, Bellevue, WA (US); Leonard Thomas Tracy, Bothell, WA (US); Steven Chervets, Seattle, WA (US); and Bryce Eugene Bockman, Seattle, WA (US)
Assigned to ORACLE INTERNATIONAL CORPORATION, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on May 11, 2023, as Appl. No. 18/315,970.
Application 18/315,970 is a continuation of application No. 17/192,681, filed on Mar. 4, 2021, granted, now 11,689,455.
Claims priority of provisional application 63/031,325, filed on May 28, 2020.
Prior Publication US 2023/0283549 A1, Sep. 7, 2023
Int. Cl. H04L 45/00 (2022.01); H04L 12/18 (2006.01); H04L 12/46 (2006.01); H04L 41/0806 (2022.01); H04L 41/082 (2022.01); H04L 41/0895 (2022.01); H04L 45/18 (2022.01); H04L 45/48 (2022.01); H04L 45/586 (2022.01); H04L 45/64 (2022.01); H04L 45/745 (2022.01); H04L 49/201 (2022.01); H04L 49/354 (2022.01)
CPC H04L 45/66 (2013.01) [H04L 12/18 (2013.01); H04L 45/18 (2013.01); H04L 45/745 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A network virtualization device comprising:
a plurality of ports comprising:
a first port connected with a first host machine hosting a first compute instance, the first compute instance being a first member of a virtual Layer 2 (L2) network;
a second port connected with a second host machine hosting a second compute instance, the second compute instance being a second member of the virtual L2 network;
one or more processors; and
one or more memories storing instructions, that upon execution by the one or more processors, configure the network virtualization device to:
generate a first L2 bridge protocol data unit (BPDU) by applying a first loop detection protocol specific, from among the plurality of ports, to only the first port and the first host machine;
transmit, to the first compute instance via the first port, a first frame that includes the first L2 BPDU;
receive, from the first compute instance via the first port, a second frame;
determine that the second frame comprises the first L2 BPDU;
determine that a loop exists between the network virtualization device and the first compute instance based on the first loop detection protocol and the first L2 BPDU of the second frame;
generate a second L2 BPDU by applying a second loop detection protocol specific to only the second port and the second host machine;
transmit, to the second compute instance via the second port, a third frame that includes the second L2 BPDU;
determine that the second L2 BPDU is not received back from the second compute instance; and
determine that no loop exists between the network virtualization device and the second compute instance.