---
title: RegisterEthernetInterface
framework: networkingdriverkit
role: symbol
role_heading: Instance Method
path: networkingdriverkit/iousernetworkethernet/registerethernetinterface-4jqw8
---

# RegisterEthernetInterface

Registers your driver with the networking stack.

## Declaration

```occ
virtual kern_return_t RegisterEthernetInterface(IOUserNetworkMACAddress macAddress, IOUserNetworkPacketBufferPool *pool, IOUserNetworkPacketQueue **queues, uint32_t queueCount);
```

## Parameters

- `macAddress`: The MAC address of the hardware your driver supports.
- `pool`: The buffer pool you use to store incoming and outgoing packets.
- `queues`: An array containing the four queues you use to process incoming and outgoing network packets. This array must contain one queue each of types doc://com.apple.networkingdriverkit/documentation/NetworkingDriverKit/IOUserNetworkRxSubmissionQueue, doc://com.apple.networkingdriverkit/documentation/NetworkingDriverKit/IOUserNetworkRxCompletionQueue, doc://com.apple.networkingdriverkit/documentation/NetworkingDriverKit/IOUserNetworkTxSubmissionQueue, and doc://com.apple.networkingdriverkit/documentation/NetworkingDriverKit/IOUserNetworkTxCompletionQueue. The order of the queues in the array doesn’t matter.
- `queueCount`: The number of queues in the queues parameter. The queues parameter must contain 4 items.

## Discussion

Discussion Call this method toward the end of your Start method when your driver is ready to begin processing incoming and outgoing network packets.

## See Also

### Configuring the Driver Service

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