---
title: attachToDataLinkLayer
framework: kernel
role: pseudoSymbol
path: kernel/ionetworkinterface/1810250-attachtodatalinklayer
---

# attachToDataLinkLayer

Attach the network interface to the BSD data link layer.

## Declaration

```occ
virtual IOReturn attachToDataLinkLayer(
 IOOptionBitsoptions, 
 void *parameter ); 
```

## Parameters

- `options`: Options for the attach call. None are currently defined.
- `parameter`: Parameter for the attach call. Not currently used.

## Return Value

Return Value Returns kIOReturnSuccess on success.

## Overview

Overview This method is called internally to attach the network interface to the BSD data link layer, after an unit number has been assigned. The calling context is not synchronized against the driver's work loop. Subclasses may override this method to perform additional setup before the network stack attach. The getIfnet() method will return the BSD interface being attached.

## See Also

### Miscellaneous

- [addNetworkData](kernel/ionetworkinterface/1810235-addnetworkdata.md)
- [clearInputQueue](kernel/ionetworkinterface/1810266-clearinputqueue.md)
- [controllerDidChangePowerState](kernel/ionetworkinterface/1810277-controllerdidchangepowerstate.md)
- [controllerDidOpen](kernel/ionetworkinterface/1810292-controllerdidopen.md)
- [controllerWillChangePowerState](kernel/ionetworkinterface/1810306-controllerwillchangepowerstate.md)
- [controllerWillClose](kernel/ionetworkinterface/1810322-controllerwillclose.md)
- [debuggerRegistered](kernel/ionetworkinterface/1810336-debuggerregistered.md)
- [detachFromDataLinkLayer](kernel/ionetworkinterface/1810351-detachfromdatalinklayer.md)
- [feedPacketInputTap](kernel/ionetworkinterface/1810364-feedpacketinputtap.md)
- [feedPacketOutputTap](kernel/ionetworkinterface/1810380-feedpacketoutputtap.md)
- [flushInputQueue](kernel/ionetworkinterface/1810398-flushinputqueue.md)
- [free](kernel/ionetworkinterface/1810410-free.md)
- [getController](kernel/ionetworkinterface/1810426-getcontroller.md)
- [getExtraFlags](kernel/ionetworkinterface/1810443-getextraflags.md)
- [getFlags](kernel/ionetworkinterface/1810460-getflags.md)
- [getIfnet](kernel/ionetworkinterface/1810471-getifnet.md)
- [getInterfaceState](kernel/ionetworkinterface/1810480-getinterfacestate.md)
- [getInterfaceType](kernel/ionetworkinterface/1810498-getinterfacetype.md)
- [getMaxTransferUnit](kernel/ionetworkinterface/1810513-getmaxtransferunit.md)
- [getMediaAddressLength](kernel/ionetworkinterface/1810531-getmediaaddresslength.md)
- [getMediaHeaderLength](kernel/ionetworkinterface/1810551-getmediaheaderlength.md)
- [getNamePrefix](kernel/ionetworkinterface/1810563-getnameprefix.md)
- [getNetworkData(const char *)](kernel/ionetworkinterface/1810574-getnetworkdata.md)
- [getNetworkData(const OSSymbol *)](kernel/ionetworkinterface/1810596-getnetworkdata.md)
- [getUnitNumber](kernel/ionetworkinterface/1810607-getunitnumber.md)
- [handleClientClose](kernel/ionetworkinterface/1810628-handleclientclose.md)
- [handleClientOpen](kernel/ionetworkinterface/1810645-handleclientopen.md)
- [init](kernel/ionetworkinterface/1810663-init.md)
- [initIfnetParams](kernel/ionetworkinterface/1810678-initifnetparams.md)
- [inputEvent](kernel/ionetworkinterface/1810692-inputevent.md)
- [inputPacket](kernel/ionetworkinterface/1810712-inputpacket.md)
- [isPrimaryInterface](kernel/ionetworkinterface/1810743-isprimaryinterface.md)
- [isRegistered](kernel/ionetworkinterface/1810763-isregistered.md)
- [lock](kernel/ionetworkinterface/1810783-lock.md)
- [performCommand](kernel/ionetworkinterface/1810800-performcommand.md)
- [powerStateDidChangeTo](kernel/ionetworkinterface/1810818-powerstatedidchangeto.md)
- [powerStateWillChangeTo](kernel/ionetworkinterface/1810839-powerstatewillchangeto.md)
- [registerOutputHandler](kernel/ionetworkinterface/1810858-registeroutputhandler.md)
- [removeNetworkData(const char *)](kernel/ionetworkinterface/1810886-removenetworkdata.md)
- [removeNetworkData(const OSSymbol *)](kernel/ionetworkinterface/1810904-removenetworkdata.md)
- [setFlags](kernel/ionetworkinterface/1810924-setflags.md)
- [setInterfaceState](kernel/ionetworkinterface/1810944-setinterfacestate.md)
- [setInterfaceType](kernel/ionetworkinterface/1810958-setinterfacetype.md)
- [setMaxTransferUnit](kernel/ionetworkinterface/1810979-setmaxtransferunit.md)
- [setMediaAddressLength](kernel/ionetworkinterface/1810991-setmediaaddresslength.md)
- [setMediaHeaderLength](kernel/ionetworkinterface/1811003-setmediaheaderlength.md)
- [setUnitNumber](kernel/ionetworkinterface/1811014-setunitnumber.md)
- [unlock](kernel/ionetworkinterface/1811026-unlock.md)
