# US 12,184,450 B2 · Mapping VLAN of container network to logical network in hypervisor to support flexible IPAM and routing container traffic

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

- Number: US 12,184,450 B2
- Document ID: US12184450B2
- Status: Granted
- Kind: B2
- Application number: 17/724,433
- Filed: 2022-04-19
- Published: 2023-09-21
- Granted: 2024-12-31
- Earliest claimed: 2022-03-18
- Assignees: VMware, Inc.
- Applicants: VMware LLC
- Inventors: Jianjun Shen; Ran Gu; Caixia Jiang; Yves Fauser
- Web page: https://patentgrep.com/patent/US12184450B2

## CPC

- H04L 12/4645: {Details on frame tagging (routing of packets H04L45/00; support for virtual LAN H04L49/354)}
- H04L 61/5084: Providing for device mobility (network addressing or numbering for mobility support in wireless networks H04W8/26; mobile IP H04W80/04)
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5016: {the resource being the memory}
- G06F 9/505: {considering the load}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 41/0803: Configuration setting
- H04L 41/0893: Assignment of logical groups to network elements
- H04L 41/122: of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 45/76: Routing in software-defined topologies, e.g. routing between virtual machines
- H04L 47/781: {Centralised allocation of resources}
- H04L 47/803: {Application aware}
- H04L 47/825: {Involving tunnels, e.g. MPLS}
- H04L 61/2514: between local and global IP addresses
- H04L 61/2535: {Multiple local networks, e.g. resolving potential IP address conflicts}
- H04L 61/5007: Internet protocol [IP] addresses
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L 61/2525: {Translation at a client}
- H04L 2101/668: Internet protocol [IP] address subnets
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Some embodiments of the invention provide a method for adding routable subnets to a logical network that connects multiple machines and is implemented by a software defined network (SDN). The method receives an intent-based API that includes a request to add a routable subnet to the logical network. The method defines (i) a VLAN (virtual local area network) tag associated with the routable subnet, (ii) a first identifier associated with a first logical switch to which at least a first machine in the multiple machines that executes a set of containers belonging to the routable subnet attaches, and (iii) a second identifier associated with a second logical switch designated for the routable subnet. The method generates an API call that maps the VLAN tag and the first identifier to the second identifier. The method provides the API call to a management and control cluster of the SDN.

## Claims

### Claim 1

A method of adding routable subnets to a logical network that connects a plurality of machines and is implemented by a software defined network (SDN), the method comprising:
receiving an intent-based API comprising a request to add a routable subnet to the logical network;
defining (i) a VLAN (virtual local area network) tag associated with the routable subnet, (ii) a first identifier associated with a first logical switch to which at least a first machine in the plurality of machines that executes a set of containers belonging to the routable subnet attaches, and (iii) a second identifier associated with a second logical switch designated for the routable subnet;
generating an API call that maps the VLAN tag and the first identifier to the second identifier; and
providing the API call to a management and control cluster of the SDN to direct the management and control cluster to implement the routable subnet;
wherein the first machine is configured to execute the set of containers, and the routable subnet enables a plurality of containers belonging to the routable subnet to be deployed across the plurality of machines connected by the logical network.

### Claim 2 (depends on 1)

The method of claim 1, wherein the method is performed by a control system, wherein receiving the intent-based API comprises receiving the intent-based API through a user interface provided by the control system.

### Claim 3 (depends on 1)

The method of claim 1, wherein the management and control cluster interacts with local controllers operating on network elements in order to configure the network elements to implement the routable segment according to the API call.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first and second identifiers comprise first and second logical switch identifiers.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first identifier comprises a logical switch identifier and the second identifier comprises a virtual private cloud (VPC) identifier.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first identifier comprises a VNIC (virtual network interface card) identifier and the second identifier comprises a virtual private cloud (VPC) identifier.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first identifier comprises a logical switch port identifier associated with the first logical switch and the second identifier comprises a virtual private cloud (VPC) identifier.

### Claim 8 (depends on 1)

The method of claim 1, wherein the intent-based API is a first intent-based API, the routable subnet is a first routable subnet of the logical network, the VLAN tag is a first VLAN tag, the set of containers is a first set of containers, and the API call is a first API call, the method further comprising:
receiving a second intent-based API comprising a request to add a second routable subnet to the logical network;
defining (i) a second VLAN tag associated with the second routable subnet, (ii) a third identifier associated with a third logical switch to which at least a second machine in the plurality of machines that executes a second set of containers belonging to the second routable subnet attaches, and (iii) a fourth identifier associated with a fourth logical switch designated for the second routable subnet;
generating a second API call that maps the second VLAN tag and the third identifier to the fourth identifier; and
providing the second API call to the management and control cluster of the SDN to direct the management and control cluster to implement the second routable segment.

### Claim 9 (depends on 8)

The method of claim 8, wherein a third set of containers belonging to the second routable subnet execute on the first machine separately from the first set of containers, the method further comprising:
generating a third API call that maps the second VLAN tag and the first identifier to the third identifier; and
providing the third API call to the management and control cluster of the SDN to direct the management and control cluster to update an implementation of the second routable segment.

### Claim 10 (depends on 9)

The method of claim 9, wherein the first set of containers are attached to the second logical switch designated for the first routable subnet and the second and third sets of containers are attached to the fourth logical switch designated for the second routable subnet.

### Claim 11 (depends on 10)

The method of claim 10, wherein the second logical switch transports traffic tagged with the first VLAN tag and the fourth logical switch transports traffic tagged with the second VLAN tag.

### Claim 12

A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for adding routable subnets to a logical network that connects a plurality of machines and is implemented by a software defined network (SDN), the program comprising sets of instructions for:
receiving an intent-based API comprising a request to add a routable subnet to the logical network;
defining (i) a VLAN (virtual local area network) tag associated with the routable subnet, (ii) a first identifier associated with a first logical switch to which at least a first machine in the plurality of machines that executes a set of containers belonging to the routable subnet attaches, and (iii) a second identifier associated with a second logical switch designated for the routable subnet;
generating an API call that maps the VLAN tag and the first identifier to the second identifier; and
providing the API call to a management and control cluster of the SDN to direct the management and control cluster to implement the routable subnet;
wherein the first machine is configured to execute the set of containers, and the routable subnet enables a plurality of containers belonging to the routable subnet to be deployed across the plurality of machines connected by the logical network.

### Claim 13 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the management and control cluster interacts with local controllers operating on network elements in order to configure the network elements to implement the routable segment according to the API call.

### Claim 14 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the first and second identifiers comprise first and second logical switch identifiers.

### Claim 15 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the first identifier comprises a logical switch identifier and the second identifier comprises a virtual private cloud (VPC) identifier.

### Claim 16 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the first identifier comprises a VNIC (virtual network interface card) identifier and the second identifier comprises a virtual private cloud (VPC) identifier.

### Claim 17 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the first identifier comprises a logical switch port identifier associated with the first logical switch and the second identifier comprises a virtual private cloud (VPC) identifier.

### Claim 18 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the intent-based API is a first intent-based API, the routable subnet is a first routable subnet of the logical network, the VLAN tag is a first VLAN tag, the set of containers is a first set of containers, and the API call is a first API call, the program further comprising sets of instructions for:
receiving a second intent-based API comprising a request to add a second routable subnet to the logical network;
defining (i) a second VLAN tag associated with the second routable subnet, (ii) a third identifier associated with a third logical switch to which at least a second machine in the plurality of machines that executes a second set of containers belonging to the second routable subnet attaches, and (iii) a fourth identifier associated with a fourth logical switch designated for the second routable subnet;
generating a second API call that maps the second VLAN tag and the third identifier to the fourth identifier; and
providing the second API call to the management and control cluster of the SDN to direct the management and control cluster to implement the second routable segment.

### Claim 19 (depends on 18)

The non-transitory machine readable medium of claim 18, wherein a third set of containers belonging to the second routable subnet execute on the first machine separately from the first set of containers, the program further comprising sets of instructions for:
generating a third API call that maps the second VLAN tag and the first identifier to the third identifier; and
providing the third API call to the management and control cluster of the SDN to direct the management and control cluster to update an implementation of the second routable segment.

### Claim 20 (depends on 19)

The non-transitory machine readable medium of claim 19, wherein:
the first set of containers are attached to the second logical switch designated for the first routable subnet and the second and third sets of containers are attached to the fourth logical switch designated for the second routable subnet; and
the second logical switch transports traffic tagged with the first VLAN tag and the fourth logical switch transports traffic tagged with the second VLAN tag.
