---
title: NEVPNStatus
framework: networkextension
role: symbol
role_heading: Enumeration
path: networkextension/nevpnstatus
---

# NEVPNStatus

The possible states of a VPN connection.

## Declaration

```swift
enum NEVPNStatus
```

## Overview

Overview After the VPN transitions from the NEVPNStatus.disconnected to the NEVPNStatus.disconnecting state, the system doesn’t close TCP connections, but ignores packets to and from established network connections. When the VPN transitions to another state — for example, from a Wi-Fi to a cellular network — the system ignores network traffic and the VPN client typically reconnects to the VPN server.

## Topics

### Statuses

- [NEVPNStatus.disconnecting](networkextension/nevpnstatus/disconnecting.md)
- [NEVPNStatus.reasserting](networkextension/nevpnstatus/reasserting.md)
- [NEVPNStatus.connected](networkextension/nevpnstatus/connected.md)
- [NEVPNStatus.connecting](networkextension/nevpnstatus/connecting.md)
- [NEVPNStatus.disconnected](networkextension/nevpnstatus/disconnected.md)
- [NEVPNStatus.invalid](networkextension/nevpnstatus/invalid.md)

### Initializers

- [init(rawValue:)](networkextension/nevpnstatus/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Getting VPN connection status

- [manager](networkextension/nevpnconnection/manager.md)
- [status](networkextension/nevpnconnection/status.md)
- [connectedDate](networkextension/nevpnconnection/connecteddate.md)
