CA2913167C

Method and apparatus for implementing and managing virtual switches

Abstract

In general, the present invention relates to a virtual platform in which one or more distributed virtual switches can be created for use in virtual networking. According to some aspects, the distributed virtual switch according to the invention provides the ability for virtual and physical machines to more readily, securely, and efficiently communicate with each other even if they are not located on the same physical host and/or in the same subnet or VLAN. According other aspects, the distributed virtual switches of the invention can support integration with traditional IP networks and support sophisticated IP technologies including NAT functionality, stateful firewalling, and notifying the IP network of workload migration.; According to further aspects, the virtual platform of the invention creates one or more distributed virtual switches which may be allocated to a tenant, application, or other entity requiring isolation and/or independent configuration state. According to still further aspects, the virtual platform of the invention manages and/or uses VLAN or tunnels (e.g., GRE) to create a distributed virtual switch for a network while working with existing switches and routers in the network. The present invention finds utility in both enterprise networks, datacenters and other facilities.

CA2913167C, drawing sheet 1
Sheet 1 of 3

Term

3.5 yearsleft in the term

Expires 1 April 2030.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

20 claims: 2 independent, 18 dependent

  1. 1
    The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:1. A method for implementing a logical forwarding element, that connects a plurality of machines, on a physical forwarding element that also implements other logical forwarding elements for connecting other pluralities of machines, the method comprising: mapping an incoming packet, from a machine in the plurality of machines connected by the logical forwarding element, to a logical context that identifies the logical forwarding element, wherein the physical forwarding element implements the logical forwarding element with at least one additional physical forwarding element;making a logical forwarding decision on the packet, in order to identify a logical egress port of the logical forwarding element;mapping the logical egress port to a physical next hop address;and forwarding the packet out of a physical egress port based on the physical next hop address.
  2. 11
    A machine readable medium storing program code which when executed by at least one processing unit implements a logical forwarding element, that connects a plurality of machines, on a physical forwarding element that also implements other logical forwarding elements for connecting other pluralities of machines, the program code comprising sets of instructions for:mapping an incoming packet, from a machine in the plurality of machines connected by the logical forwarding element, to a logical context that identifies the logical forwarding element, wherein the physical forwarding element implements the logical forwarding element with at least one additional physical forwarding element;making a logical forwarding decision on the packet, in order to identify a logical egress port of the logical forwarding element;mapping the logical egress port to a physical next hop address;and forwarding the packet out of a physical egress port based on the physical next hop CA 2913167 2017-09-22 address.