Virtual distributed bridging
First Claim
1. A method for identifying destination tunnel endpoints for outgoing packets, the method comprising:
- receiving a first packet from a distributed bridging module executing at a same host machine as a source tunnel endpoint in an overlay logical network, the first packet comprising a tunnel address of the source tunnel endpoint, a source media access control (MAC) address and a destination MAC address;
associating the destination MAC address with the tunnel address in a bridge identification table as a MAC address assigned to the distributed bridging module for bridging; and
using the bridge identification table to identify a destination tunnel endpoint when subsequently transmitting a second packet that requires bridging and that has a particular source MAC address that (i) is the same as the destination MAC address of the first packet and (ii) is associated with the destination tunnel endpoint in the bridge identification table.
1 Assignment
0 Petitions
Accused Products
Abstract
Virtualization software that includes a VDRB (virtual distributed router/bridge) module for performing L3 routing and/or bridging operations is provided. At least some of the VDRBs are configured as VDBs (virtual distributed bridge) for performing bridging operations between different network segments in a distributed manner. The bridging tasks of a network are partitioned among several VDBs of the network based on MAC addresses. MAC addresses of VMs or other types of network nodes belonging to an overlay logical network are partitioned into several shards, each shard of MAC addresses assigned to a VDB in the network. Each VDB assigned a shard of MAC addresses performs bridging when it receives a packet bearing a MAC address belonging to its assigned shard. A VDB does not perform bridging on packets that do not have MAC address that falls within the VDB'"'"'s shard of MAC addresses.
362 Citations
18 Claims
-
1. A method for identifying destination tunnel endpoints for outgoing packets, the method comprising:
-
receiving a first packet from a distributed bridging module executing at a same host machine as a source tunnel endpoint in an overlay logical network, the first packet comprising a tunnel address of the source tunnel endpoint, a source media access control (MAC) address and a destination MAC address; associating the destination MAC address with the tunnel address in a bridge identification table as a MAC address assigned to the distributed bridging module for bridging; and using the bridge identification table to identify a destination tunnel endpoint when subsequently transmitting a second packet that requires bridging and that has a particular source MAC address that (i) is the same as the destination MAC address of the first packet and (ii) is associated with the destination tunnel endpoint in the bridge identification table. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer comprising:
-
a set of processing units; and a non-transitory machine readable medium storing virtualization software for hosting a plurality of data compute nodes (DCNs) and for serving as a tunnel endpoint in an overlay logical network, wherein the virtualization software comprises sets of instruction for; receiving a first packet from a source tunnel endpoint in the overlay logical network, the packet comprising a tunnel address of the source tunnel endpoint, a source media access control (MAC) address and a destination MAC address; associating the source MAC address with the tunnel address in a machine-identification first table when the first packet is not a bridged packet; associating the destination MAC address with the tunnel address in a bridge-identification second table when the first packet is a bridged packet; and to transmit a second packet from a DCN executing on the computer, using the first table to identify a destination tunnel endpoint when the second packet does not require bridging and using the second table to identify a destination tunnel endpoint when the second packet (i) requires bridging and (ii) originates from a MAC address stored in the second table. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory machine readable medium storing a program for execution by at least one processing unit, the program comprising sets of instructions for:
-
receiving a first packet from a distributed bridging module executing at a same host machine as a source tunnel endpoint in an overlay logical network, the first packet comprising a tunnel address of the source tunnel endpoint, a source media access control (MAC) address and a destination MAC address; associating the destination MAC address with the tunnel address in a bridge identification table as a MAC address assigned to the distributed bridging module for bridging; and using the bridge identification table to identify a destination tunnel endpoint when subsequently transmitting a second packet that requires bridging and has a particular source MAC address that (i) is the same as the destination MAC address of the first packet and (ii) is associated with the destination tunnel endpoint in the bridge identification table. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification