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

# IOUserNetworkTxSubmissionQueue

The queue that receives packets from the networking stack.

```
class IOUserNetworkTxSubmissionQueue;
```

## Overview

Create an [`IOUserNetworkTxSubmissionQueue`](/documentation/NetworkingDriverKit/IOUserNetworkTxSubmissionQueue) in your driver and use it to dequeue empty packets. As your driver receives data from the networking stack, fill the empty packets with data send them to your hardware device. After sending the packets, enqueue them on your [`IOUserNetworkTxCompletionQueue`](/documentation/NetworkingDriverKit/IOUserNetworkTxCompletionQueue) object so that the system can reclaim them and make them available for reuse later.

## Topics

### Creating the Submission Queue

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

Initializes the packet submission queue.

[`free`](/documentation/NetworkingDriverKit/IOUserNetworkTxSubmissionQueue/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)