<!--
{
  "availability" : [
    "DriverKit: -"
  ],
  "documentType" : "symbol",
  "framework" : "NetworkingDriverKit",
  "identifier" : "/documentation/NetworkingDriverKit/IOUserNetworkRxSubmissionQueue",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "NetworkingDriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOUserNetworkRxSubmissionQueue"
  },
  "title" : "IOUserNetworkRxSubmissionQueue"
}
-->

# IOUserNetworkRxSubmissionQueue

The queue that receives packets from the device.

```
class IOUserNetworkRxSubmissionQueue;
```

## Overview

Create an [`IOUserNetworkRxSubmissionQueue`](/documentation/NetworkingDriverKit/IOUserNetworkRxSubmissionQueue) in your driver and use it to dequeue empty packets. As data arrives from your hardware, fill those empty packets with the data. Once the packets are filled, enqueue them on your [`IOUserNetworkRxCompletionQueue`](/documentation/NetworkingDriverKit/IOUserNetworkRxCompletionQueue) object.

## Topics

### Creating the Submission Queue

[`Create`](/documentation/NetworkingDriverKit/IOUserNetworkRxSubmissionQueue/Create)

Creates a queue that delivers empty packets for you to fill with data from your hardware device.

[`init`](/documentation/NetworkingDriverKit/IOUserNetworkRxSubmissionQueue/init)

Initializes the packet submission queue.

[`free`](/documentation/NetworkingDriverKit/IOUserNetworkRxSubmissionQueue/free)

Performs any final cleanup for the queue.

## Relationships

### Inherits From

[`IOUserNetworkPacketQueue`](/documentation/NetworkingDriverKit/IOUserNetworkPacketQueue)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)