IP Library › Granted Patent US 11,997,533
Granted Patent B2
US 11,997,533 · App. 17/489,753 · Granted May 28, 2024

Uplink segmentation offload to modem

Inventors: Alok Mitra (San Diego, CA); Sitaramanjaneyulu Kanamarlapudi (San Diego, CA); Uppinder Babbar (San Diego, CA); Vaibhav Kumar (Encinitas, CA); Haim Snapy (San Diego, CA); Vamsi Dokku (San Diego, CA); Dan Gilboa Waizman (San Diego, CA); Joseph Giacalone (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04W28/06H04L47/36H04L69/161H04L69/22H04W80/06
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 11,997,533
App. No.
17/489,753
Filed
Sep 29, 2021
Granted
May 28, 2024
Kind
B2
Examiner
DUONG, DUC T
Art Unit
2467
USPC
370/229
Abstract

This disclosure provides a method, apparatus, and computer-readable medium for wireless communication at a modem, comprising receiving, via an interface with a host, an internet protocol (IP) packet including a first transport protocol header and a first IP header. The IP packet has a size greater than a maximum transport unit (MTU) size allowable for each packet transmitted over a communication link. The modem segments the IP packet into a plurality of segments based on a segment size indicated by a segmentation policy. Each segment includes a respective derived segment transport protocol header and a respective derived segment IP header derived from the IP packet. Each of these derived headers includes at least one field based on the segmentation policy, and each of the segment transport protocol headers includes a checksum for the respective segment. Additionally, the modem transmits the plurality of segments over the communication link.

Claims (54)

1. A method of wireless communication at a modem, comprising:

receiving, via an interface with a host, an internet protocol (IP) packet including a first transport protocol header and a first IP header, the IP packet having a size greater than a maximum transport unit (MTU) size allowable for each packet transmitted over a communication link;

segmenting the IP packet into a plurality of segments based on a segment size indicated by a segmentation policy for the IP packet for the communication link, each segment including a respective segment transport protocol header derived from the first transport protocol header and a respective segment IP header derived from the first IP header, each of the segment transport protocol headers and each of the segment IP headers including at least one field based on the segmentation policy, and each of the segment transport protocol headers including a respective checksum for the respective segment, wherein segmenting the IP packet into the plurality of segments comprises selectively incrementing or not incrementing a respective identification field in the respective segment IP header in each of the plurality of segments based on the segmentation policy; and

transmitting the plurality of segments over the communication link.

2. The method of claim 1 , wherein the IP packet includes a segmentation header that indicates the segment size and wherein the segmentation policy is based on one or more fields of the segmentation header.

3. The method of claim 2 , wherein the segmentation header includes a header type field having a value indicating an uplink segmentation offload for the IP packet.

4. The method of claim 2 , wherein the segmentation header includes a field having a value indicating a size of an additional header, between the segmentation header and the first IP header, for a link layer protocol.

5. The method of claim 1 , wherein each segment transport protocol header is a user datagram protocol (UDP) header, and segmenting the IP packet comprises setting the respective checksum to zero for each of the plurality of segments based on the segmentation policy.

6. The method of claim 1 , further comprising negotiating the segmentation policy for the IP packet for the communication link with the host.

7. The method of claim 6 , wherein negotiating the segmentation policy includes configuring enablement of an uplink segmentation offload for one or more endpoints associated with the communication link.

8. The method of claim 6 , wherein negotiating the segmentation policy includes configuring a range of IP identification values to include in the derived IP header of each of the plurality of segments.

9. The method of claim 1 , wherein each segment IP header is an IPv4 header, and wherein segmenting the IP packet into the plurality of segments comprises, for each segment:

updating a total length field of the segment IP header based on the segment size and an actual number of bytes in the segment; and

calculating an IP header checksum for the segment.

10. The method of claim 1 , wherein the segment IP header is an IPv6 header, and wherein segmenting the IP packet into the plurality of segments comprises, for each segment:

updating a payload length field of the segment IP header based on the segment size and an actual number of bytes in the segment; and

copying other fields of the segment IP header from the IP header.

11. The method of claim 1 , wherein the first transport protocol header is a transport control protocol (TCP) header, and wherein segmenting the IP packet into the plurality of segments comprises, for each segment:

setting a sequence number of the segment transport protocol header;

updating one or more flags in the segment transport protocol header; and

copying other fields of the segment transport protocol header from the first transport protocol header.

12. The method of claim 11 , wherein updating the one or more flags in the segment transport protocol header comprises:

setting a finish (FIN) flag, push function (PSH) flag, and reset (RST) flag of a last segment based on a respective flag of the first transport protocol header;

setting a congestion window reduced (CWR) flag of a first segment of the plurality of segments based on a CWR flag of the first transport protocol header; and

copying an acknowledgment (ACK) flag and an urgent (URG) flag from the first transport protocol header to each segment transport protocol header.

13. The method of claim 1 , wherein the first transport protocol header is a user datagram protocol (UDP) header, and wherein segmenting the IP packet into the plurality of segments comprises, for each segment:

setting a length field of the segment transport protocol header based on the segment size and an actual number of bytes in the segment; and

copying other fields of the segment transport protocol header from the first transport protocol header.

14. An apparatus for wireless communication at a modem, comprising:

one or more memories; and

one or more processors in communication with the one or more memories and, individually or in combination, configured to:

receive, via an interface with a host, an internet protocol (IP) packet including a first transport protocol header and a first IP header, the IP packet having a size greater than a maximum transport unit (MTU) size allowable for each packet transmitted over a communication link, the IP packet including a segmentation header that includes one or more fields that indicate a segment size;

negotiate a segmentation policy for the IP packet for the communication link with the host based on the one or more fields of the segmentation header, the segmentation policy indicating the segment size;

segment the IP packet into a plurality of segments based on the segmentation policy including the segment size, each segment including a respective segment transport protocol header derived from the first transport protocol header and a respective segment IP header derived from the first IP header, each of the segment transport protocol headers and each of the segment IP headers including at least one field based on the segmentation policy, and each of the segment transport protocol headers including a respective checksum for the respective segment; and

transmit the plurality of segments over the communication link.

15. The apparatus of claim 14 , wherein the segmentation header includes a header type field having a value indicating an uplink segmentation offload for the IP packet.

16. The apparatus of claim 14 , wherein the segmentation header includes a field having a value indicating a size of an additional header, between the segmentation header and the first IP header, for a link layer protocol.

17. The apparatus of claim 14 , wherein to segment the IP packet into the plurality of segments comprises selectively incrementing or not incrementing a respective identification field in the respective segment IP header in each of the plurality of segments based on the segmentation policy.

18. The apparatus of claim 14 , wherein each segment transport protocol header is a user datagram protocol (UDP) header, and the one or more processors, individually or in combination, are configured to set the respective checksum to zero for each of the plurality of segments based on the segmentation policy.

19. A method of wireless communication by a host of a modem, comprising:

adding a segmentation header indicating uplink segmentation offload to an internet protocol (IP) packet that includes a first transport protocol header and a first IP header, the IP packet having a size greater than a maximum transport unit (MTU) size allowable for each packet transmitted over a communication link by the modem, wherein the segmentation header is based on a segmentation policy including at least a segment size; and

providing the IP packet, via an interface, to the modem for transmission as a plurality of segments.

20. The method of claim 19 , wherein the segmentation header includes the segment size, and further comprising setting one or more fields of the segmentation header based on the segmentation policy.

21. The method of claim 20 , wherein the segmentation header includes a field indicating a size of an additional header between the segmentation header and the first IP header for a link layer protocol.

22. The method of claim 19 , wherein the segmentation policy indicates whether to increment an identification field of a respective segment IP header in each of the plurality of segments.

23. The method of claim 19 , wherein the segmentation policy indicates whether to set a user datagram protocol (UDP) header checksum to zero for each of the plurality of segments transmitted by the modem.

24. The method of claim 19 , further comprising negotiating the segmentation policy for the communication link with the modem.

25. The method of claim 24 , wherein negotiating the segmentation policy includes configuring enablement of uplink segmentation offload for one or more endpoints associated with the communication link.

26. The method of claim 24 , wherein negotiating the segmentation policy includes configuring a range of IP identification values for the modem to include in a derived IP header of each of the plurality of segments.

27. An apparatus for wireless communication by a host of a modem, comprising:

one or more memories; and

one or more processors in communication with the memory and, individually or in combination, configured to:

add a segmentation header indicating uplink segmentation offload to an internet protocol (IP) packet that includes a first transport protocol header and a first IP header, the IP packet having a size greater than a maximum transport unit (MTU) size allowable for each packet transmitted over a communication link by the modem, wherein the segmentation header is based on a segmentation policy including at least a segment size; and

provide the IP packet, via an interface, to the modem for transmission as a plurality of segments.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2021
From: MITRA, ALOK; KANAMARLAPUDI, SITARAMANJANEYULU; BABBAR, UPPINDER; KUMAR, VAIBHAV; SNAPY, HAIM; DOKKU, VAMSI; GILBOA WAIZMAN, DAN; GIACALONE, JOSEPH
To: QUALCOMM INCORPORATED
Reel/Frame 058197/0144 →
Continuity (1)
Related Publication 20230098349A1 · Mar 30, 2023
Cited By (1)
US 12,683,908