Nova Patents
US9270608B2

Multi-stage large send offload

Summary by NHIP

Multi-stage Large Send Offload

The method transmits large packets by splitting them across two operating systems before network interface card processing. A first operating system receives an indicator of a first LSO packet size that is a multiple of a second LSO packet size supported by the network interface card, then transfers the formatted data to a second operating system for splitting into smaller packets.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

A network stack sends very large packets with large segment offload (LSO) by performing multi-pass LSO. A first-stage LSO filter is inserted between the network stack and the physical NIC. The first-stage filter splits very large LSO packets into LSO packets that are small enough for the NIC. The NIC then performs a second pass of LSO by splitting these sub-packets into standard MTU-sized networking packets for transmission on the network.

US9270608B2, drawing sheet 1
Sheet 1 of 6

Term

3.5 yearsleft in the term

Expires 11 March 2030.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

24 claims: 3 independent, 21 dependent

  1. 1
    Broadest claimClaim Score 49, average(NHIP)A method for transmitting packets over a network, comprising:receiving at a first operating system operating on a computing device, an indicator of a first large segment offload (LSO) packet size wherein the first LSO packet size is a multiple of a second LSO packet size that is supported by a network interface card connected to the computing device;formatting data into a first packet of a first LSO packet size;transferring the first packet to a second operating system on the same computing device;splitting the first packet on the second operating system into multiple LSO packets of a second LSO packet size;sending the multiple LSO packets to the network interface card for transmission on the network in packets of a size supported by the network.
  2. 9
    A computer-readable storage device having stored thereon computer-readable instructions, the computer-readable instructions, upon execution on a computing device causing a system at least to:receive at a first operating system operating on a computing device, an indicator of a first large segment offload (LSO) packet size wherein the first LSO packet size is a multiple of a second LSO packet size that is supported by a network interface card connected to the computing device;format data into a first packet of a first LSO packet size;transfer the first packet to a second operating system on the same computing device wherein the first packet is split on the second operating system into multiple LSO packets of a second LSO packet size and the multiple LSO packets sent to the network interface card for transmission on the network in packets of a size supported by the network.
  3. 17
    A system comprising:one or more processing devices;at least one memory in communication with the one or more processing devices when the system is operational, the at least one memory having stored thereon computer-readable instructions, the computer-readable instructions, upon execution on the one or more processing devices causing the system at least to: receive at a first operating system operating on a computing device, an indicator of a first large segment offload (LSO) packet size wherein the first LSO packet size is a multiple of a second LSO packet size that is supported by a network interface card connected to the computing device;format data into a first packet of a first LSO packet size;transfer the first packet to a second operating system on the same computing device wherein the first packet is split on the second operating system into multiple LSO packets of a second LSO packet size and the multiple LSO packets sent to the network interface card for transmission on the network in packets of a size supported by the network.