# US 2018/0321965 A1 · Ordering of interface adapters in virtual machines

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

- Number: US 2018/0321965 A1
- Document ID: US20180321965A1
- Status: Published application
- Kind: A1
- Application number: 15/970,117
- Filed: 2018-05-03
- Published: 2018-11-08
- Earliest claimed: 2017-05-05
- Assignees: Entit Software LLC
- Applicants: Entit Software LLC
- Inventors: Reubenur Rahman; Prashant Naik; Raghuveer KV Shenoy; Preethi Maria Dsilva; Arun Kumar M.
- Web page: https://patentgrep.com/patent/US20180321965A1

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 9/48: Program initiating; Program switching, e.g. by interrupt
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computing device includes a hardware processor and a machine-readable storage medium storing instructions. The instructions are executable by the processor to: initiate a virtual machine (VM) using a user specification including a plurality of virtual interface adapters in a first order; identify a first virtual slot associated with a first virtual interface adapter of the plurality of virtual interface adapters; identify, based on the first virtual slot, a first virtual device identifier associated with the first virtual interface adapter; identify, based on the first virtual device identifier, an ordered interface name of the first virtual interface adapter; and reorder, based on the ordered interface name, an interface ordering file to list the plurality of virtual interface adapters in a second order.

## Claims

### Claim 1

A computing device, comprising:
a hardware processor; and
a machine-readable storage medium storing instructions, the instructions executable by the hardware processor to:
initiate a virtual machine (VM) using a user specification including a plurality of virtual interface adapters in a first order;
identify a first virtual slot associated with a first virtual interface adapter of the plurality of virtual interface adapters;
identify, based on the first virtual slot, a first virtual device identifier associated with the first virtual interface adapter;
identify, based on the first virtual device identifier, an ordered interface name of the first virtual interface adapter; and
reorder, based on the ordered interface name, an interface ordering file to list the plurality of virtual interface adapters in a second order.

### Claim 2 (depends on 1)

The computing device of claim 1, the instructions executable to identify an entry of the interface ordering file associated with the ordered interface name of the first virtual interface adapter.

### Claim 3 (depends on 2)

The computing device of claim 2, the instructions executable to modify the identified entry to be in a highest position in an order of the interface ordering file.

### Claim 4 (depends on 3)

The computing device of claim 3, the instructions executable to modify remaining entries of the interface ordering file to be below the identified entry.

### Claim 5 (depends on 4)

The computing device of claim 4, wherein the remaining entries of the interface ordering file represent virtual external network adapters.

### Claim 6 (depends on 5)

The computing device of claim 5, wherein the first virtual interface adapter is a virtual local bus adapter.

### Claim 7 (depends on 6)

The computing device of claim 6, wherein virtual local bus adapter is a Peripheral Component Interconnect (PCI) passthrough adapter assigned to the VM.

### Claim 8

A computer implemented method comprising:
initiating, by a hypervisor, a virtual machine (VM) based on a user specification specifying a plurality of virtual interface adapters in a first order;
determining, by the hypervisor, a first virtual slot identifier associated with a first virtual interface adapter of the plurality of virtual interface adapters;
determining, by the hypervisor, using the first virtual slot identifier, a first virtual device identifier associated with the first virtual interface adapter;
determining, by the hypervisor, using the first virtual device identifier, an ordered interface name of the first virtual interface adapter; and
modifying by the hypervisor, using the ordered interface name, an interface ordering file to list the plurality of virtual interface adapters in a second order.

### Claim 9 (depends on 8)

The computer implemented method of claim 8, wherein determining the first virtual slot identifier comprises querying an application programming interface (API) of a datacenter management application.

### Claim 10 (depends on 8)

The computer implemented method of claim 8, wherein determining the first virtual device identifier comprises using an “lspci” command to access virtual device information associated with the first virtual slot identifier.

### Claim 11 (depends on 8)

The computer implemented method of claim 8, wherein determining the ordered interface name of the first virtual interface adapter comprises using an “ethtool” command to access interface information associated with the first virtual device identifier.

### Claim 12 (depends on 8)

The computer implemented method of claim 8, wherein modifying the interface ordering file comprises:
identifying an entry of the interface ordering file associated with the ordered interface name of the first virtual interface adapter;
modifying the identified entry to be in a highest position in an order of the interface ordering file; and
modifying remaining entries of the interface ordering file to be below the identified entry.

### Claim 13 (depends on 12)

The computer implemented method of claim 12, wherein the remaining entries of the interface ordering file represent virtual external network adapters.

### Claim 14 (depends on 13)

The computer implemented method of claim 13, wherein the first virtual interface adapter is a virtual local bus adapter.

### Claim 15

An article comprising a machine-readable storage medium storing instructions that upon execution cause a processor to:
execute a virtual machine (VM) based on a user specification including a plurality of virtual interface adapters in a first order;
determine a first virtual slot identifier associated with a first virtual interface adapter of the plurality of virtual interface adapters;
determine, based on the first virtual slot identifier, a first virtual device identifier associated with the first virtual interface adapter;
determine, based on the first virtual device identifier, an ordered interface name of the first virtual interface adapter; and
generate, based on the ordered interface name, an interface ordering file to list the plurality of virtual interface adapters in a second order.

### Claim 16 (depends on 15)

The article of claim 15, the instructions executable to identify an entry of the interface ordering file associated with the ordered interface name of the first virtual interface adapter.

### Claim 17 (depends on 16)

The article of claim 16, the instructions executable to:
modify the identified entry to be in a highest position in an order of the interface ordering file; and
modify remaining entries of the interface ordering file to be below the identified entry.

### Claim 18 (depends on 17)

The article of claim 17, wherein the remaining entries of the interface ordering file represent virtual external network adapters.

### Claim 19 (depends on 15)

The article of claim 15, wherein the first virtual interface adapter is a virtual local bus adapter.

### Claim 20 (depends on 19)

The article of claim 19, wherein virtual local bus adapter is a Peripheral Component Interconnect (PCI) passthrough adapter assigned to the VM.
