# US 2014/0157267 A1 · Data flow affinity for heterogenous virtual machines

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

- Number: US 2014/0157267 A1
- Document ID: US20140157267A1
- Status: Published application
- Kind: A1
- Application number: 13/775,203
- Filed: 2013-02-24
- Published: 2014-06-05
- Earliest claimed: 2012-12-05
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Francisco J. Alanis; Omar Cardona; Shaival J. Chokshi
- Web page: https://patentgrep.com/patent/US20140157267A1

## CPC

- 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/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- 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

According to one aspect of the present disclosure, a method and technique for data flow affinity for heterogeneous virtual machines is disclosed. The method includes: connecting first and second logical partitions to a shared virtual adapter, the first logical partition having a maximum receive unit (MRU) different than a MRU of the second logical partition; and responsive to receiving data by the shared virtual adapter destined for the first or second logical partitions, performing transmission control protocol (TCP) segmentation offload processing of the data by the shared virtual adapter utilizing the MRU of the first logical partition as the transmission unit for data destined for the first logical partition and utilizing the MRU of the second logical partition as the transmission unit for data destined for the second logical partition.

## Claims

### Claim 1

A method, comprising:
connecting first and second logical partitions to a shared virtual adapter, the first logical partition having a maximum receive unit (MRU) different than a MRU of the second logical partition; and
responsive to receiving data by the shared virtual adapter destined for the first or second logical partitions, performing transmission control protocol (TCP) segmentation offload processing of the data by the shared virtual adapter utilizing the MRU of the first logical partition as the transmission unit for data destined for the first logical partition and utilizing the MRU of the second logical partition as the transmission unit for data destined for the second logical partition.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, responsive to connecting of the first and second logical partitions to the shared virtual adapter, identifying the MRU for the respective first and second logical partitions.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
receiving by the shared virtual adapter an address resolution protocol (ARP) response packet corresponding to the first logical partition; and
identifying the MRU for the first logical partition from the ARP response packet.

### Claim 4 (depends on 3)

The method of claim 3, further comprising including a field in the ARP response packet identifying the MRU of the first logical partition.

### Claim 5 (depends on 1)

The method of claim 1, further comprising aggregating, by the shared virtual adapter, incoming packets of the data up to the respective MRU.

### Claim 6 (depends on 1)

The method of claim 1, further comprising storing, by the shared virtual adapter, the MRU corresponding to the first and second logical partitions.

### Claim 7 (depends on 1)

The method of claim 1, further comprising disabling large receive offload (LRO) processing of data by a physical adapter.

### Claim 8

A method, comprising:
receiving incoming data packets by a shared virtual adapter;
parsing the incoming data packets to identify a destination address;
responsive to determining that the destination address corresponds to a logical partition connected to the shared virtual adapter, determining a maximum receive unit (MRU) for the destination logical partition;
setting a data transmission unit for the data to the destination logical partition to the MRU for the destination logical partition;
aggregating the incoming data packets up to the identified MRU; and
performing transmission control protocol (TCP) segmentation offload processing of the data packets to the logical partition utilizing the set transmission unit.

### Claim 9 (depends on 8)

The method of claim 8, further comprising, responsive to connecting of the logical partition to the shared virtual adapter, identifying the MRU for the logical partition.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
receiving by the shared virtual adapter an address resolution protocol (ARP) response packet corresponding to the logical partition; and
identifying the MRU from the ARP response packet.

### Claim 11 (depends on 10)

The method of claim 10, further comprising including a field in the ARP response packet identifying the MRU.

### Claim 12 (depends on 8)

The method of claim 8, further comprising disabling large receive offload (LRO) processing of data by a physical adapter connected to the shared virtual adapter.
