---
title: IOUserNetworkPacket
framework: networkingdriverkit
role: symbol
role_heading: Class
path: networkingdriverkit/iousernetworkpacket
---

# IOUserNetworkPacket

A network packet containing the data for your driver to process.

## Declaration

```occ
class IOUserNetworkPacket;
```

## Overview

Overview An IOUserNetworkPacket contains meta information about a network packet being trasmitted to or from your device. You do not create network packets directly. Instead, you dequeue them from an appropriate submission queue, such as an IOUserNetworkRxSubmissionQueue. You a packet object to get the length of the packet data and the location of that data in its memory buffer, accommodating for any extra headroom bytes at the beginning of the packet.

## Topics

### Configuring the Network Packet

- [init](networkingdriverkit/iousernetworkpacket/init.md)
- [free](networkingdriverkit/iousernetworkpacket/free.md)

### Configuring the Packet State Information

- [SetHeadroom](networkingdriverkit/iousernetworkpacket/setheadroom.md)
- [SetLinkHeaderLength](networkingdriverkit/iousernetworkpacket/setlinkheaderlength-9fqmg.md)
- [SetDataOffset](networkingdriverkit/iousernetworkpacket/setdataoffset-16kx3.md)
- [SetDataLength](networkingdriverkit/iousernetworkpacket/setdatalength-788b.md)

### Getting the Packet Information

- [GetHeadroom](networkingdriverkit/iousernetworkpacket/getheadroom.md)
- [GetLinkHeaderLength](networkingdriverkit/iousernetworkpacket/getlinkheaderlength-8dlhu.md)
- [GetDataOffset](networkingdriverkit/iousernetworkpacket/getdataoffset-4tw7y.md)
- [GetDataLength](networkingdriverkit/iousernetworkpacket/getdatalength-8km3n.md)
- [GetMemorySegmentOffset](networkingdriverkit/iousernetworkpacket/getmemorysegmentoffset-39e4c.md)

### Getting the Packet’s Buffer Pool

- [GetPacketBufferPool](networkingdriverkit/iousernetworkpacket/getpacketbufferpool-63snl.md)

### Instance Methods

- [clearTimestamp](networkingdriverkit/iousernetworkpacket/cleartimestamp.md)
- [getDataIOVirtualAddress](networkingdriverkit/iousernetworkpacket/getdataiovirtualaddress.md)
- [getDataLength](networkingdriverkit/iousernetworkpacket/getdatalength-1niks.md)
- [getDataOff](networkingdriverkit/iousernetworkpacket/getdataoff.md)
- [getDataOffset](networkingdriverkit/iousernetworkpacket/getdataoffset-2h6cf.md)
- [getDataVirtualAddress](networkingdriverkit/iousernetworkpacket/getdatavirtualaddress.md)
- [getExpiryTime](networkingdriverkit/iousernetworkpacket/getexpirytime.md)
- [getLinkHeaderLength](networkingdriverkit/iousernetworkpacket/getlinkheaderlength-3gau2.md)
- [getMSS](networkingdriverkit/iousernetworkpacket/getmss.md)
- [getMemorySegmentOffset](networkingdriverkit/iousernetworkpacket/getmemorysegmentoffset-2nuj3.md)
- [getPacketBufferPool](networkingdriverkit/iousernetworkpacket/getpacketbufferpool-5dqqj.md)
- [getRxChecksumInfo](networkingdriverkit/iousernetworkpacket/getrxchecksuminfo.md)
- [getServiceClass](networkingdriverkit/iousernetworkpacket/getserviceclass.md)
- [getTSOInfo](networkingdriverkit/iousernetworkpacket/gettsoinfo.md)
- [getTimestamp](networkingdriverkit/iousernetworkpacket/gettimestamp.md)
- [getTraceID](networkingdriverkit/iousernetworkpacket/gettraceid.md)
- [getTxChecksumInfo](networkingdriverkit/iousernetworkpacket/gettxchecksuminfo.md)
- [getTxCsumFlags](networkingdriverkit/iousernetworkpacket/gettxcsumflags.md)
- [getVlanTag](networkingdriverkit/iousernetworkpacket/getvlantag.md)
- [initWithPool](networkingdriverkit/iousernetworkpacket/initwithpool.md)
- [isLinkBroadcast](networkingdriverkit/iousernetworkpacket/islinkbroadcast.md)
- [isLinkMulticast](networkingdriverkit/iousernetworkpacket/islinkmulticast.md)
- [isTimestampRequested](networkingdriverkit/iousernetworkpacket/istimestamprequested.md)
- [isTransportTrafficBackground](networkingdriverkit/iousernetworkpacket/istransporttrafficbackground.md)
- [isTransportTrafficRealtime](networkingdriverkit/iousernetworkpacket/istransporttrafficrealtime.md)
- [prepareWithQueue](networkingdriverkit/iousernetworkpacket/preparewithqueue.md)
- [setCompletionStatus](networkingdriverkit/iousernetworkpacket/setcompletionstatus.md)
- [setDataLength](networkingdriverkit/iousernetworkpacket/setdatalength-9uo6r.md)
- [setDataOff](networkingdriverkit/iousernetworkpacket/setdataoff.md)
- [setDataOffAndLen](networkingdriverkit/iousernetworkpacket/setdataoffandlen.md)
- [setDataOffset](networkingdriverkit/iousernetworkpacket/setdataoffset-459jc.md)
- [setDataOffsetAndLength](networkingdriverkit/iousernetworkpacket/setdataoffsetandlength.md)
- [setIsLinkMulticast](networkingdriverkit/iousernetworkpacket/setislinkmulticast.md)
- [setLROInfo](networkingdriverkit/iousernetworkpacket/setlroinfo.md)
- [setLinkHeaderLength](networkingdriverkit/iousernetworkpacket/setlinkheaderlength-23dbd.md)
- [setRxChecksumInfo](networkingdriverkit/iousernetworkpacket/setrxchecksuminfo.md)
- [setTimestamp](networkingdriverkit/iousernetworkpacket/settimestamp.md)
- [setVlanTag](networkingdriverkit/iousernetworkpacket/setvlantag.md)
- [setWakeFlag](networkingdriverkit/iousernetworkpacket/setwakeflag.md)
- [traceEvent](networkingdriverkit/iousernetworkpacket/traceevent.md)

### Type Methods

- [withPool](networkingdriverkit/iousernetworkpacket/withpool.md)

## Relationships

### Inherits From

- [OSObject](driverkit/osobject.md)

## See Also

### Packet Management

- [IOUserNetworkPacketBufferPool](networkingdriverkit/iousernetworkpacketbufferpool.md)
- [IOUserNetworkPacketDirection](networkingdriverkit/iousernetworkpacketdirection.md)
