---
title: getChecksumSupport
framework: kernel
role: pseudoSymbol
path: kernel/ionetworkcontroller/1813945-getchecksumsupport
---

# getChecksumSupport

Gets checksums that are supported by the network controller for the given checksum family.

## Declaration

```occ
virtual IOReturn getChecksumSupport(
 UInt32 *checksumMask, 
 UInt32checksumFamily, 
 boolisOutput ); 
```

## Parameters

- `checksumMask`: A pointer to the mask of supported checksums returned by this method.
- `checksumFamily`: A value that specifies the checksum family.
- `isOutput`: Set to true to query the support for checksum insertion on output packets, or false to query the support for checksum verification on input packets. Controllers that have symmetric hardware checksum support can return a fixed checksum mask value, and ignore this argument.

## Return Value

Return Value Default return is kIOReturnUnsupported. Controllers that override this method must return kIOReturnSuccess. Any other return value will be interpretated as a lack of checksum support, regardless of the value returned through the first argument.

## Overview

Overview A network controller that is capable of inserting and verifying checksums on output and input packets, should override this method and advertise its capability in order to assist or offload the software checksum calculations performed by the protocol stacks.

## See Also

### Miscellaneous

- [allocatePacket](kernel/ionetworkcontroller/1813917-allocatepacket.md)
- [attachDebuggerClient](kernel/ionetworkcontroller/1813919-attachdebuggerclient.md)
- [attachInterface](kernel/ionetworkcontroller/1813921-attachinterface.md)
- [configureInterface](kernel/ionetworkcontroller/1813923-configureinterface.md)
- [copyMediumDictionary](kernel/ionetworkcontroller/1813924-copymediumdictionary.md)
- [copyPacket](kernel/ionetworkcontroller/1813925-copypacket.md)
- [createInterface](kernel/ionetworkcontroller/1813926-createinterface.md)
- [createOutputQueue](kernel/ionetworkcontroller/1813927-createoutputqueue.md)
- [createWorkLoop](kernel/ionetworkcontroller/1813928-createworkloop.md)
- [detachDebuggerClient](kernel/ionetworkcontroller/1813929-detachdebuggerclient.md)
- [detachInterface](kernel/ionetworkcontroller/1813930-detachinterface.md)
- [disable](kernel/ionetworkcontroller/1813931-disable.md)
- [disable(IONetworkInterface *)](kernel/ionetworkcontroller/1813932-disable.md)
- [disable(IOService *)](kernel/ionetworkcontroller/1813933-disable.md)
- [disablePacketFilter](kernel/ionetworkcontroller/1813934-disablepacketfilter.md)
- [doDisable](kernel/ionetworkcontroller/1813935-dodisable.md)
- [doEnable](kernel/ionetworkcontroller/1813936-doenable.md)
- [enable](kernel/ionetworkcontroller/1813937-enable.md)
- [enable(IONetworkInterface *)](kernel/ionetworkcontroller/1813938-enable.md)
- [enable(IOService *)](kernel/ionetworkcontroller/1813939-enable.md)
- [enablePacketFilter](kernel/ionetworkcontroller/1813940-enablepacketfilter.md)
- [executeCommand](kernel/ionetworkcontroller/1813941-executecommand.md)
- [free](kernel/ionetworkcontroller/1813942-free.md)
- [freePacket](kernel/ionetworkcontroller/1813943-freepacket.md)
- [getChecksumDemand](kernel/ionetworkcontroller/1813944-getchecksumdemand.md)
- [getCommandClient](kernel/ionetworkcontroller/1813946-getcommandclient.md)
- [getCommandGate](kernel/ionetworkcontroller/1813947-getcommandgate.md)
- [getDebuggerLinkStatus](kernel/ionetworkcontroller/1813949-getdebuggerlinkstatus.md)
- [getFeatures](kernel/ionetworkcontroller/1813951-getfeatures.md)
- [getHardwareAddress](kernel/ionetworkcontroller/1813953-gethardwareaddress.md)
- [getMaxPacketSize](kernel/ionetworkcontroller/1813954-getmaxpacketsize.md)
- [getMediumDictionary](kernel/ionetworkcontroller/1813956-getmediumdictionary.md)
- [getMinPacketSize](kernel/ionetworkcontroller/1813957-getminpacketsize.md)
- [getOutputHandler](kernel/ionetworkcontroller/1813959-getoutputhandler.md)
- [getOutputQueue](kernel/ionetworkcontroller/1813960-getoutputqueue.md)
- [getPacketBufferConstraints](kernel/ionetworkcontroller/1813962-getpacketbufferconstraints.md)
- [getPacketFilters](kernel/ionetworkcontroller/1813964-getpacketfilters.md)
- [getSelectedMedium](kernel/ionetworkcontroller/1813966-getselectedmedium.md)
- [handleClose](kernel/ionetworkcontroller/1813967-handleclose.md)
- [handleIsOpen](kernel/ionetworkcontroller/1813968-handleisopen.md)
- [handleOpen](kernel/ionetworkcontroller/1813969-handleopen.md)
- [init](kernel/ionetworkcontroller/1813970-init.md)
- [message](kernel/ionetworkcontroller/1813971-message.md)
- [newModelString](kernel/ionetworkcontroller/1813972-newmodelstring.md)
- [newRevisionString](kernel/ionetworkcontroller/1813973-newrevisionstring.md)
- [newVendorString](kernel/ionetworkcontroller/1813974-newvendorstring.md)
- [outputPacket](kernel/ionetworkcontroller/1813975-outputpacket.md)
- [prepare](kernel/ionetworkcontroller/1813976-prepare.md)
- [publishMediumDictionary](kernel/ionetworkcontroller/1813977-publishmediumdictionary.md)
- [publishProperties](kernel/ionetworkcontroller/1813978-publishproperties.md)
- [receivePacket](kernel/ionetworkcontroller/1813979-receivepacket.md)
- [registerWithPolicyMaker](kernel/ionetworkcontroller/1813980-registerwithpolicymaker.md)
- [releaseDebuggerLock](kernel/ionetworkcontroller/1813981-releasedebuggerlock.md)
- [releaseFreePackets](kernel/ionetworkcontroller/1813982-releasefreepackets.md)
- [replaceOrCopyPacket](kernel/ionetworkcontroller/1813983-replaceorcopypacket.md)
- [replacePacket](kernel/ionetworkcontroller/1813984-replacepacket.md)
- [reserveDebuggerLock](kernel/ionetworkcontroller/1813985-reservedebuggerlock.md)
- [selectMedium](kernel/ionetworkcontroller/1813986-selectmedium.md)
- [selectMediumWithName](kernel/ionetworkcontroller/1813987-selectmediumwithname.md)
- [sendPacket](kernel/ionetworkcontroller/1813988-sendpacket.md)
- [setChecksumResult](kernel/ionetworkcontroller/1813989-setchecksumresult.md)
- [setDebuggerMode](kernel/ionetworkcontroller/1813990-setdebuggermode.md)
- [setHardwareAddress](kernel/ionetworkcontroller/1813991-sethardwareaddress.md)
- [setLinkStatus](kernel/ionetworkcontroller/1813992-setlinkstatus.md)
- [setMaxPacketSize](kernel/ionetworkcontroller/1813993-setmaxpacketsize.md)
- [setSelectedMedium](kernel/ionetworkcontroller/1813994-setselectedmedium.md)
- [start](kernel/ionetworkcontroller/1813995-start.md)
- [stop](kernel/ionetworkcontroller/1813996-stop.md)
- [systemWillShutdown](kernel/ionetworkcontroller/1813997-systemwillshutdown.md)
