---
title: NETunnelProviderProtocol
framework: networkextension
role: symbol
role_heading: Class
path: networkextension/netunnelproviderprotocol
---

# NETunnelProviderProtocol

Configuration parameters for a VPN tunnel.

## Declaration

```swift
class NETunnelProviderProtocol
```

## Overview

Overview NETunnelProviderProtocol objects are used to specify configuration parameters for Tunnel Provider extensions.

## Topics

### Accessing the tunnel configuration

- [providerConfiguration](networkextension/netunnelproviderprotocol/providerconfiguration.md)
- [providerBundleIdentifier](networkextension/netunnelproviderprotocol/providerbundleidentifier.md)

## Relationships

### Inherits From

- [NEVPNProtocol](networkextension/nevpnprotocol.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### VPN configuration

- [NEAppProxyProviderManager](networkextension/neappproxyprovidermanager.md)
- [NETunnelProviderManager](networkextension/netunnelprovidermanager.md)
- [NEVPNManager](networkextension/nevpnmanager.md)
- [NEAppRule](networkextension/neapprule.md)
- [VPN On Demand Rules](networkextension/vpn-on-demand-rules.md)
