private string InterfaceGuid() { if (_config.UseTunAdapter) { return(_networkInterfaceLoader.GetTunInterface()?.Id ?? string.Empty); } return(_networkInterfaceLoader.GetTapInterface()?.Id ?? string.Empty); }
private async Task ValidateConnectionAsync(Func <Task> connectionFunction) { INetworkInterface tunInterface = _networkInterfaceLoader.GetTunInterface(); INetworkInterface tapInterface = _networkInterfaceLoader.GetTapInterface(); if (tunInterface == null && tapInterface == null) { RaiseVpnStateChanged(new VpnStateChangedEventArgs( new VpnState(VpnStatus.Disconnected), VpnError.NoTapAdaptersError, false)); return; } if (tunInterface == null && _appSettings.UseTunAdapter) { _appSettings.UseTunAdapter = false; SendTunFallbackEvent(); } await connectionFunction(); }