---
title: NWEthernetChannel
framework: network
role: symbol
role_heading: Class
path: network/nwethernetchannel
---

# NWEthernetChannel

An object you use to send and receive custom Ethernet frames.

## Declaration

```swift
final class NWEthernetChannel
```

## Overview

Overview Use Ethernet channels to send and receive custom Ethernet frame types over an interface. Creating Ethernet channels requires the com.apple.developer.networking.custom-protocol entitlement.

## Topics

### Managing Ethernet Channels

- [init(on:etherType:)](network/nwethernetchannel/init(on:ethertype:).md)
- [start(queue:)](network/nwethernetchannel/start(queue:).md)
- [cancel()](network/nwethernetchannel/cancel().md)

### Handling State Updates

- [state](network/nwethernetchannel/state-swift.property.md)
- [NWEthernetChannel.State](network/nwethernetchannel/state-swift.enum.md)
- [stateUpdateHandler](network/nwethernetchannel/stateupdatehandler.md)

### Sending and Receiving Ethernet Frames

- [send(content:to:vlanTag:completion:)](network/nwethernetchannel/send(content:to:vlantag:completion:).md)
- [receiveHandler](network/nwethernetchannel/receivehandler.md)
- [NWEthernetChannel.EthernetAddress](network/nwethernetchannel/ethernetaddress.md)

### Inspecting Ethernet Channels

- [etherType](network/nwethernetchannel/ethertype.md)
- [interface](network/nwethernetchannel/interface.md)
- [queue](network/nwethernetchannel/queue.md)

### Initializers

- [init(on:etherType:parameters:)](network/nwethernetchannel/init(on:ethertype:parameters:).md)

### Instance Properties

- [maximumPayloadSize](network/nwethernetchannel/maximumpayloadsize.md)

## Relationships

### Conforms To

- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Connections and Listeners

- [NWConnection](network/nwconnection.md)
- [NWListener](network/nwlistener.md)
- [NWBrowser](network/nwbrowser.md)
- [NWConnectionGroup](network/nwconnectiongroup.md)
