IP Library Granted Patent US 9,118,596
Granted Patent B2
US 9,118,596 · App. 13/779,744 · Granted Aug 25, 2015

Reducing fragmentation of packets in a networking environment

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 9,118,596
App. No.
13/779,744
Granted
Aug 25, 2015
Kind
B2
Abstract

Automated techniques reduce packet fragmentation in a communications network environment, including a networking environment that uses tunnels. In a tunneling environment, a tunnel endpoint evaluates whether tunnel processing for an outbound packet will cause the packet to exceed a particular size such as a message transmission unit (“MTU”) size, which in turn would lead to error processing and/or fragmentation of the packet. Similar MTU and packet mismatch may occur in a system across the virtual machine and the hypervisor, a networking stack and the physical MTU possible on the network. If so, the tunnel endpoint or the network driver simulates an error condition and returns an error message to the protocol stack that prepared the packet, so that the packet size can be reduced before the packet is actually sent on the tunnel. Existing functionality is leveraged to perform the size reduction, thus obviating the need for administrator intervention.

Claims (31)

1. A method comprising:

by computer program instructions on a computing device, wherein the computing device is a hypervisor in a virtualized computing environment:

receiving a packet prepared for transmission over a communication link to a network, wherein data values to be added by the computing device are absent from the prepared packet;

determining whether to transmit the received packet over the communication link based on whether a size of the received packet exceeds a threshold, wherein the threshold accounts for the data values to be added by the computing device in view of a maximum packet size for packets prepared for transmission to the network; and

in response to determining that the size of the received packet exceeds the threshold, determining not to send the received packet over the communication link including generating a simulated error condition and sending an error message to a preparer of the received packet, the error message adapted to automatically cause the preparer to reformat payload data of the packet into a smaller-sized packet and then send the smaller-sized packet to the computing device for transmission to the network.

2. The method according to claim 1 , further comprising:

responsive to determining that the size of the received packet does not exceed the threshold, adding the data values to the received packet to create a tunnel packet and sending the tunnel packet over the communication link for transmission to the network.

3. The method according to claim 1 , wherein the preparer is a protocol stack.

4. The method according to claim 1 , wherein a size of the smaller-sized packet is determined by existing functionality of the preparer.

5. The method according to claim 1 , wherein the maximum packet size is a link layer maximum transmission unit (MTU) size.

6. The method according to claim 1 , wherein the tunnel is an Internet Protocol Security (IPSec) tunnel.

7. The method according to claim 1 , wherein the computing device is partition management firmware in a virtualized computing environment.

8. An apparatus comprising:

a computer comprising a processor and a computing device, wherein the computing device is a hypervisor in a virtualized computing environment; and

instructions that when executed by the processor cause the computing device to carry out the steps of:

receiving a packet prepared for transmission over a communication link to a network, wherein data values to be added by the computing device are absent from the prepared packet;

determining whether to transmit the received packet over the communication link based on whether a size of the received packet exceeds a threshold, wherein the threshold accounts for the data values to be added by the computing device, in view of a maximum packet size for packets prepared for transmission to the network; and

in response to determining that the size of the received packet exceeds the threshold, determining not to send the received packet over the communication link including generating a simulated error condition and sending an error message to a preparer of the received packet, the error message adapted to automatically cause the preparer to reformat payload data of the packet into a smaller-sized packet and then send the smaller-sized packet to the computing device for transmission to the network.

9. The apparatus according to claim 8 , further comprising:

responsive to determining that the size of the received packet does not exceed the threshold, adding the data values to the received packet to create a tunnel packet and sending the tunnel packet over the communication link for transmission to the network.

10. The apparatus according to claim 8 , wherein the preparer is a protocol stack of an operating system virtual machine in the non-virtualized computing environment.

11. The apparatus according to claim 8 , wherein the maximum packet size is a link layer maximum transmission unit (MTU) size.

12. A computer program product comprising:

a computer-readable storage medium having computer readable program code embodied therein, wherein the computer readable storage medium is not a signal, the computer-readable program code when executed by a computing device causes the computing device to carry out the steps of:

receiving a packet prepared for transmission over a communication link to a network, wherein data values to be added by the computing device are absent from the prepared packet;

determining whether to transmit the received packet over the communication link based on whether a size of the received packet exceeds a threshold, wherein the threshold accounts for a maximum packet size for packets able to be transmitted on the communication link; and

in response to determining that the size of the received packet exceeds the threshold, determining not to send the received packet over the communication link including generating a simulated error condition and sending an error message to a preparer of the received packet without transmitting the packet on the communication link, the error message adapted to automatically cause the preparer to reformat payload data of the packet into a smaller-sized packet and then send the smaller-sized packet to the computing device for transmission to the network, wherein the computing device is a hypervisor in a virtualized computing environment.

13. The computer program product according to claim 12 , wherein the size of the received packet exceeds the threshold due to maximum transmission unit (MTU) size constriction on a transmission path of the packet.

14. The computer program product according to claim 12 , wherein the error message comprises an Internet Control Message Protocol (ICMP) error message.

15. The computer program product according to claim 12 , wherein the maximum packet size is a link layer maximum transmission unit (MTU) size.

16. The computer program product according to claim 12 , wherein the communication link is a Generic Routing Encapsulation (GRE) tunnel.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050300/0878 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT CONTAINING TYPO ERRORS PREVIOUSLY RECORDED AT REEL: 037101 FRAME: 0969. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 28, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037689/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037101/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0111 →