IP Library Granted Patent US 11,038,717
Granted Patent B2
US 11,038,717 · App. 16/566,350 · Granted Jun 15, 2021

Label-based methods for identifying a source location in service chaining topology

Inventors: Mansi Babbar (Fremont, CA); Subin Cyriac Mathew (San Jose, CA); Chidambareswaran Raman (Campbell, CA)
Assignee: VMware, Inc.
H04L12/4633G06F9/45545H04L12/4641H04L61/6022H04L69/22G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,038,717
App. No.
16/566,350
Granted
Jun 15, 2021
Kind
B2
Abstract

In an embodiment, a computer-implemented method provides mechanisms for identifying a source location in a service chaining topology. In an embodiment, a method comprises: determining, at an egress interface of a host that hosts a virtual machine (“VM”), whether a service plane MAC address (“spmac”) in a packet header of a packet, provided to the egress interface, is the same as an inner destination MAC address in the packet; in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is the same as the inner destination MAC address in the packet: encapsulating the packet with a destination virtual tunnel endpoint (“VTEP”) address retrieved from a mapping of VTEP-labels onto VTEP addresses; and causing providing the packet from the egress interface of the host that hosts the VM to a source host that hosts a source guest virtual machine (“GVM”).

Claims (81)

1. A computer-implemented method for identifying a source location of a packet-originating guest virtual machine in a service chaining topology, the method comprising:

determining, at an egress interface of a host that hosts a virtual machine (“VM”), whether a service plane MAC address (“spmac”) in a packet header of a packet, provided to the egress interface, is the same as an inner destination MAC address in the packet;

in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is the same as the inner destination MAC address in the packet:

encapsulating the packet with a destination virtual tunnel endpoint (“VTEP”) address retrieved from a mapping of VTEP-labels onto VTEP addresses; and

causing providing the packet from the egress interface of the host that hosts the VM to a source host that hosts a source guest virtual machine (“GVM”).

2. The computer-implemented method of claim 1 , further comprising:

in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is not the same as the inner destination MAC address in the packet:

determining, at the egress interface of the host that hosts the VM, whether the spmac in the packet header of the packet, provided to the egress interface, is the same as an inner source MAC address in the packet header;

in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is the same as the inner source MAC address in the packet header:

encapsulating the packet with a source VTEP-label of the host; and

causing providing the packet from the egress interface of the host that hosts the VM to a first service host that hosts a first service virtual machine (“SVM”) in a service chain.

3. The computer-implemented method of claim 2 , further comprising:

in response to determining, at the egress interface of the host that hosts the VM, that the spmac in the packet header of the packet, provided to the egress interface, is not the same as the inner source MAC address in the packet header:

encapsulating the packet with a source VTEP-label retrieved the mapping of VTEP-labels onto VTEP addresses; and

causing providing the packet from the egress interface of the host that hosts the VM to a second service host that hosts a second SVM of the service chain.

4. The computer-implemented method of claim 3 , wherein encapsulating the packet with a label comprises including the label in an option field of a Geneve header and adding the Geneve header to the packet; wherein the service chain includes one or more SVMs configured to service the packet; and wherein the service chain includes at least the first SVM.

5. The computer-implemented method of claim 4 , wherein the VTEP-label is generated and assigned to a VTEP by a management plane; and wherein the source VTEP-label is associated with a MAC address and an IP address of the VTEP.

6. The computer-implemented method of claim 5 , further comprising:

determining, at an ingress interface of the host that hosts the VM, whether the spmac in the packet header of the packet, provided to the ingress interface, is not the same as an inner destination MAC address in the packet;

in response to determining that the spmac in the packet header of the packet, provided to the ingress interface, is not the same as the inner destination MAC address in the packet:

learning the mapping of the spmac to the VTEP-label; and

causing providing the packet from the ingress interface of the host that hosts the VM to the VM of the service chain.

7. The computer-implemented method of claim 6 , further comprising:

in response to determining, at the ingress interface of the host that hosts the VM, that the spmac in the packet header of the packet, provided to the ingress interface, is the same as the inner destination MAC address in the packet:

omitting learning the mapping of the spmac to the VTEP-label; and

causing providing the packet from the ingress interface of the host that hosts the VM to the GVM.

8. One or more non-transitory computer-readable storage media storing one or more computer instructions which, when executed by one or more processors, cause the one or more processors to perform:

determining, at an egress interface of a host that hosts a virtual machine (“VM”), whether a service plane MAC address (“spmac”) in a packet header of a packet, provided to the egress interface, is the same as an inner destination MAC address in the packet;

in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is the same as the inner destination MAC address in the packet:

encapsulating the packet with a destination virtual tunnel endpoint (“VTEP”) address retrieved from a mapping of VTEP-labels onto VTEP addresses; and

causing providing the packet from the egress interface of the host that hosts the VM to a source host that hosts a source guest virtual machine (“GVM”).

9. The one or more non-transitory computer-readable storage media of claim 8 , storing additional instructions for:

in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is not the same as the inner destination MAC address in the packet:

determining, at the egress interface of the host that hosts the VM, whether the spmac in the packet header of the packet, provided to the egress interface, is the same as an inner source MAC address in the packet header;

in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is the same as the inner source MAC address in the packet header:

encapsulating the packet with a source VTEP-label of the host; and

causing providing the packet from the egress interface of the host that hosts the VM to a first service host that hosts a first service virtual machine (“SVM”) in a service chain.

10. The one or more non-transitory computer-readable storage media of claim 9 , storing additional instructions for:

in response to determining, at the egress interface of the host that hosts the VM, that the spmac in the packet header of the packet, provided to the egress interface, is not the same as the inner source MAC address in the packet header:

encapsulating the packet with a source VTEP-label retrieved the mapping of VTEP-labels onto VTEP addresses; and

causing providing the packet from the egress interface of the host that hosts the VM to a second service host that hosts a second SVM of the service chain.

11. The one or more non-transitory computer-readable storage media of claim 10 , wherein encapsulating the packet with a label comprises including the label in an option field of a Geneve header and adding the Geneve header to the packet; wherein the service chain includes one or more SVMs configured to service the packet; and wherein the service chain includes at least the first SVM.

12. The one or more non-transitory computer-readable storage media of claim 11 , wherein the VTEP-label is generated and assigned to a VTEP by a management plane; and wherein the source VTEP-label is associated with a MAC address and an IP address of the VTEP.

13. The one or more non-transitory computer-readable storage media of claim 12 , storing additional instructions for:

determining, at an ingress interface of the host that hosts the VM, whether the spmac in the packet header of the packet, provided to the ingress interface, is not the same as an inner destination MAC address in the packet;

in response to determining that the spmac in the packet header of the packet, provided to the ingress interface, is not the same as the inner destination MAC address in the packet:

learning the mapping of the spmac to the VTEP-label; and

causing providing the packet from the ingress interface of the host that hosts the VM to the VM of the service chain.

14. The one or more non-transitory computer-readable storage media of claim 13 , storing additional instructions for:

in response to determining, at the ingress interface of the host that hosts the VM, that the spmac in the packet header of the packet, provided to the ingress interface, is the same as the inner destination MAC address in the packet:

omitting learning the mapping of the spmac to the VTEP-label; and

causing providing the packet from the ingress interface of the host that hosts the VM to the GVM.

15. A hypervisor implemented in a computer network and configured to implement mechanisms for identifying a source location of a packet-originating guest virtual machine in a service chaining topology, the hypervisor comprising:

one or more processors;

one or more memory units; and

one or more non-transitory computer-readable storage media storing one or more computer instructions which, when executed by the one or more processors, cause the one or more processors to perform:

determining, at an egress interface of a host that hosts a virtual machine (“VM”), whether a service plane MAC address (“spmac”) in a packet header of a packet, provided to the egress interface, is the same as an inner destination MAC address in the packet;

in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is the same as the inner destination MAC address in the packet:

encapsulating the packet with a destination virtual tunnel endpoint (“VTEP”) address retrieved from a mapping of VTEP-labels onto VTEP addresses; and

causing providing the packet from the egress interface of the host that hosts the VM to a source host that hosts a source guest virtual machine (“GVM”).

16. The hypervisor of claim 15 , storing additional instructions for:

in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is not the same as the inner destination MAC address in the packet:

determining, at the egress interface of the host that hosts the VM, whether the spmac in the packet header of the packet, provided to the egress interface, is the same as an inner source MAC address in the packet header;

in response to determining that the spmac in the packet header of the packet, provided to the egress interface, is the same as the inner source MAC address in the packet header:

encapsulating the packet with a source VTEP-label of the host; and

causing providing the packet from the egress interface of the host that hosts the VM to a first service host that hosts a first service virtual machine (“SVM”) in a service chain.

17. The hypervisor of claim 16 , storing additional instructions for:

in response to determining, at the egress interface of the host that hosts the VM, that the spmac in the packet header of the packet, provided to the egress interface, is not the same as the inner source MAC address in the packet header:

encapsulating the packet with a source VTEP-label retrieved the mapping of VTEP-labels onto VTEP addresses; and

causing providing the packet from the egress interface of the host that hosts the VM to a second service host that hosts a second SVM of the service chain.

18. The hypervisor of claim 17 , wherein encapsulating the packet with a label comprises including the label in an option field of a Geneve header and adding the Geneve header to the packet; wherein the service chain includes one or more SVMs configured to service the packet;

and wherein the service chain includes at least the first SVM.

19. The hypervisor of claim 18 , storing additional instructions for:

determining, at an ingress interface of the host that hosts the VM, whether the spmac in the packet header of the packet, provided to the ingress interface, is not the same as an inner destination MAC address in the packet;

in response to determining that the spmac in the packet header of the packet, provided to the ingress interface, is not the same as the inner destination MAC address in the packet:

learning the mapping of the spmac to the VTEP-label; and

causing providing the packet from the ingress interface of the host that hosts the VM to the VM of the service chain.

20. The hypervisor of claim 19 , storing additional instructions for:

in response to determining, at the ingress interface of the host that hosts the VM, that the spmac in the packet header of the packet, provided to the ingress interface, is the same as the inner destination MAC address in the packet:

omitting learning the mapping of the spmac to the VTEP-label; and

causing providing the packet from the ingress interface of the host that hosts the VM to the GVM.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2019
From: BABBAR, MANSI; MATHEW, SUBIN CYRIAC; RAMAN, CHIDAMBARESWARAN
To: VMWARE, INC.
Reel/Frame 050331/0390 →
Continuity (1)
Related Publication 20210075641A1 · Mar 11, 2021