IP Library Granted Patent US 11,558,348
Granted Patent B2
US 11,558,348 · App. 16/935,982 · Granted Jan 17, 2023

Methods and apparatus for emerging use case support in user space networking

Inventors: Cahya Adiansyah Masputra (San Jose, CA); Eric Tsz Leung Cheng (Cupertino, CA); Sandeep Nair (San Jose, CA); Wei Shen (Cupertino, CA)
Assignee: Apple Inc.
H04L63/0236H04L69/161
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,558,348
App. No.
16/935,982
Granted
Jan 17, 2023
Kind
B2
Abstract

Methods and apparatus for emerging use case support in user space networking architectures. In one embodiment, an apparatus configured to segregate packet data based on a packet type is disclosed. The exemplary embodiment provides a custom data type registry that enables the definition, addition, removal, modification, and/or prioritization of custom packet processing rules. Variants of the registry may support custom ethertype packets, network packets, and/or transport packets. In another embodiment, mechanisms for enabling an intermediary packet processing stage are described. Intermediary packet processing may enable user space system extensions that support e.g., packet filtering, packet modification, and/or other forms of packet processing.

Claims (25)

1. A computerized apparatus, the apparatus comprising:

a network interface configured to communicate with a network;

digital processor apparatus; and

storage apparatus comprising a storage medium having one or more computer programs stored thereon, the one or more computer programs configured to, when executed by the digital processor apparatus, causes the computerized apparatus to:

receive a request for a custom packet type from a non-kernel space application;

determine whether to grant the request for the custom packet type;

when granted, reserve the custom packet type within a custom packet type registry of a kernel space; and

perform kernel space packet processing based on the custom packet type stored in the custom packet type registry.

2. The computerized apparatus of claim 1 , wherein the one or more computer programs are further configured to, when executed by the digital processor apparatus, cause the computerized apparatus to:

when released, clear the custom packet type from the custom packet type registry of the kernel space.

3. The computerized apparatus of claim 1 , wherein the custom packet type comprises a custom ethertype.

4. The computerized apparatus of claim 1 , wherein the custom packet type comprises a custom internet protocol (IP) type.

5. The computerized apparatus of claim 1 , wherein the custom packet type comprises kernel space packet processing logic.

6. The computerized apparatus of claim 1 , wherein the one or more computer programs are further configured to, when executed by the digital processor apparatus, cause the computerized apparatus to determine whether to deny the request for the custom packet type based on the custom packet type registry.

7. The computerized apparatus of claim 6 , wherein the one or more computer programs are further configured to, when executed by the digital processor apparatus, cause the computerized apparatus to determine whether to amend the request for the custom packet type based on the custom packet type registry.

8. A method for registering custom packet processing, the method comprising:

transacting data packets via a plurality of non-kernel space applications;

requesting custom packet processing for a first user space application of the plurality of non-kernel space applications;

wherein the custom packet processing is executed in kernel space by a kernel space entity; and

wherein the custom packet processing is specific to the first user space application.

9. The method of claim 8 , further comprising executing the kernel space entity with a different privilege than the plurality of non-kernel space applications.

10. The method of claim 8 , wherein the custom packet processing comprises calling a kernel networking extension.

11. The method of claim 8 , wherein the custom packet processing is performed on a custom ethertype packet data structure.

12. The method of claim 8 , wherein the custom packet processing is performed on a custom internet protocol (IP) packet data structure.

13. The method of claim 8 , wherein the custom packet processing is based on a custom packet type registry.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2020
From: MASPUTRA, CAHYA ADIANSYAH; CHENG, ERIC TSZ LEUNG; NAIR, SANDEEP; SHEN, WEI
To: APPLE INC.
Reel/Frame 053285/0324 →
Continuity (2)
Provisional Application 62906645 · Sep 26, 2019
Related Publication 20210099427A1 · Apr 1, 2021
Cited By (3)
US 12,314,786 US 12,316,548 US 12,568,064