---
title: createInterface
framework: kernel
role: pseudoSymbol
path: kernel/ioethernetcontroller/1811019-createinterface
---

# createInterface

Creates an IOEthernetInterface object.

## Declaration

```occ
virtual IONetworkInterface * createInterface(); 
```

## Return Value

Return Value Returns a newly allocated and initialized IOEthernetInterface object.

## Overview

Overview This method allocates and returns a new IOEthernetInterface instance. A subclass of IONetworkController must implement this method and return a matching interface object. The implementation in IOEthernetController will return an IOEthernetInterface object. Subclasses of IOEthernetController, such as Ethernet controller drivers, will have little reason to override this implementation.

## See Also

### Miscellaneous

- [disablePacketFilter](kernel/ioethernetcontroller/1811029-disablepacketfilter.md)
- [enablePacketFilter](kernel/ioethernetcontroller/1811042-enablepacketfilter.md)
- [free](kernel/ioethernetcontroller/1811058-free.md)
- [getHardwareAddress(IOEthernetAddress *)](kernel/ioethernetcontroller/1811070-gethardwareaddress.md)
- [getHardwareAddress(void *, UInt32 *)](kernel/ioethernetcontroller/1811082-gethardwareaddress.md)
- [getMaxPacketSize](kernel/ioethernetcontroller/1811094-getmaxpacketsize.md)
- [getMinPacketSize](kernel/ioethernetcontroller/1811103-getminpacketsize.md)
- [getPacketFilters(const OSSymbol *, UInt32 *)](kernel/ioethernetcontroller/1811115-getpacketfilters.md)
- [getPacketFilters(UInt32 *)](kernel/ioethernetcontroller/1811127-getpacketfilters.md)
- [getVlanTagDemand](kernel/ioethernetcontroller/1811320-getvlantagdemand.md)
- [init](kernel/ioethernetcontroller/1811348-init.md)
- [initialize](kernel/ioethernetcontroller/1811361-initialize.md)
- [publishProperties](kernel/ioethernetcontroller/1811373-publishproperties.md)
- [setHardwareAddress(const IOEthernetAddress *)](kernel/ioethernetcontroller/1811383-sethardwareaddress.md)
- [setHardwareAddress(const void *, UInt32)](kernel/ioethernetcontroller/1811391-sethardwareaddress.md)
- [setMulticastList](kernel/ioethernetcontroller/1811399-setmulticastlist.md)
- [setMulticastMode](kernel/ioethernetcontroller/1811409-setmulticastmode.md)
- [setPromiscuousMode](kernel/ioethernetcontroller/1811419-setpromiscuousmode.md)
- [setVlanTag](kernel/ioethernetcontroller/1811426-setvlantag.md)
- [setWakeOnMagicPacket](kernel/ioethernetcontroller/1811434-setwakeonmagicpacket.md)
