private bool IsMfpNeogotiated(Guid wlanInterfaceId) { bool negotiated = false; Win32Error retVal = WlanGetMFPNegotiated(ref wlanInterfaceId, ref negotiated); if (retVal != Win32Error.ERROR_SUCCESS) { testLogger.LogError("WlanGetMFPNegotiated Returned " + retVal); throw InteropUtilities.GetExceptionForWin32Error(retVal); } return(negotiated); }
public bool CreateProfile(string profile, string profileName) { try { using (Wlan wlanApi = new Wlan()) { testLogger.LogTrace("CreateProfile"); var wlanInterfaceList = wlanApi.EnumWlanInterfaces(); if (NetworkInterfaceDataPathTests.CheckWlanInterfaceCount(wlanApi) == false) { return(false); } var wlanInterface = wlanInterfaceList[0]; testLogger.LogComment("Creating Profile {0}", profileName); wlanApi.CreateProfile(wlanInterface.Id, profile); return(true); } } catch (Exception error) { testLogger.LogError("Error encountered while Creating the Wlan Profile {0}", profileName); testLogger.LogError(error.ToString()); return(false); } }
private void SendThread(object obj) { CancellationToken token = (CancellationToken)obj; IntPtr socket = IntPtr.Zero; try { testLogger.LogComment("TCP Sends from {0}:{1} to {2}:{3}", localAddress, localPort, remoteAddress, remotePort); socket = sockets.CreateTcpSocket(localAddress, localPort, ipv6Mode); sockets.Connect(socket, remoteAddress, remotePort, ipv6Mode); testLogger.LogComment("Connected to TCP Server at {0}:{1}", remoteAddress, remotePort); Byte[] sendData; while (!token.IsCancellationRequested) { sendData = NetworkInterfaceDataPathTests.GeneratePayload(1000); testLogger.LogTrace("TcpSender[{0}] Sending Data", this.identifier); sockets.Send(socket, sendData); UnitsTransfered += sendData.Length; Wlan.Sleep(NetworkInterfaceDataPathTests.RandomWaitTime()); DateTime nextLogTime = DateTime.Now; if (DateTime.Now > nextLogTime) { testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "Sending TCP Data to {0}:{1}. Bytes Sent {2}", remoteAddress, remotePort, UnitsTransfered)); nextLogTime = DateTime.Now.Add(logInterval); } testLogger.LogTrace("TcpSender[{0}] Total Bytes Sent: {1}", this.identifier, UnitsTransfered); } testLogger.LogComment("TCP Send Completed from {0}:{1} to {2}:{3} Bytes Count = {4}", localAddress, localPort, remoteAddress, remotePort, UnitsTransfered); } catch (Exception error) { testLogger.LogError(string.Format(CultureInfo.InvariantCulture, "Error when sending TCP Data from {0}:{1} to {2}:{3} : {4}", localAddress, localPort, remoteAddress, remotePort, error.ToString())); throw; } finally { if (socket != IntPtr.Zero) { testLogger.LogTrace("TcpSender[{0}] Closing Send Socket", this.identifier); sockets.CloseSocket(socket); } } }
private void SendThread(object obj) { CancellationToken token = (CancellationToken)obj; IntPtr socket = IntPtr.Zero; try { testLogger.LogComment("Broadcast Sends from {0}:{1} to {2}:{3}", localAddress, localPort, remoteAddress, remotePort); socket = sockets.CreateBroadcastSocket(localAddress, localPort); UnitsTransfered++; Byte[] sendData; while (!token.IsCancellationRequested) { sendData = NetworkInterfaceDataPathTests.GeneratePayload(100); testLogger.LogTrace("BroadcastSender[{0}] Sending Packet", this.identifier); sockets.SendTo(socket, sendData, remoteAddress, remotePort, false); Wlan.Sleep(NetworkInterfaceDataPathTests.RandomWaitTime()); UnitsTransfered++; DateTime nextLogTime = DateTime.Now; if (DateTime.Now > nextLogTime) { testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "Sending Broadcast Data to {0}:{1}. Packets Sent {2}", remoteAddress, remotePort, UnitsTransfered)); nextLogTime = DateTime.Now.Add(logInterval); } testLogger.LogTrace("BroadcastSender[{0}] Packets Sent: {1}", this.identifier, UnitsTransfered); } testLogger.LogComment("Broadcast Send Completed from {0}:{1} to {2}:{3}. Packet Count = {4}", localAddress, localPort, remoteAddress, remotePort, UnitsTransfered); } catch (Exception error) { testLogger.LogError(error.ToString()); throw; } finally { if (socket != IntPtr.Zero) { testLogger.LogTrace("BroadcastSender[{0}] Closing Send Socket", this.identifier); sockets.CloseSocket(socket); } } }
public static void Associate(RunTimeConfiguration rc, APConfigParameter AP1Config24GHz, APConfigParameter AP1Config5GHz, APConfigParameter AP2Config24GHz, APConfigParameter AP2Config5GHz, ASSOC_TEST_OPTIONS AssocTestOptions) { WlanHckTestLogger traceProvider = new WlanHckTestLogger("Associate Driver"); using (UsingGroup g = new UsingGroup()) { try { traceProvider.LogComment("Association Scenarios Begin"); WhckAssociation hckAssociation = new WhckAssociation(rc, AP1Config24GHz, AP1Config5GHz, AP2Config24GHz, AP2Config5GHz, AssocTestOptions); g.Add(hckAssociation); //Basic Association AP1 2.4GHz -> AP2 5 GHz (2.4 GHz if 5 not supported), no sleep hckAssociation.BasicAssociationTest(); //If requested perform advanced association tests if (AssocTestOptions.HasFlag(ASSOC_TEST_OPTIONS.Sleep) || AssocTestOptions.HasFlag(ASSOC_TEST_OPTIONS.Hibernate)) { hckAssociation.AdvancedAssociationTests(); } } catch (Exception e) { traceProvider.LogError("Error - " + e.Message); throw; } finally { traceProvider.Flush(); } } }
public static void ClassSetup(TestContext context) { APServer = null; if (context.Properties.Contains("DeviceSupports5Ghz")) { DeviceSupports5Ghz = bool.Parse(context.Properties["DeviceSupports5Ghz"].ToString()); testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "DeviceSupports5Ghz = {0}", DeviceSupports5Ghz)); } if (context.Properties.Contains("APServer")) { APServer = context.Properties["APServer"].ToString(); testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "APServer Name = {0}", APServer)); } if (context.Properties.Contains("ServiceAPChannelAddress")) { ServiceAPChannelAddress = context.Properties["ServiceAPChannelAddress"].ToString(); testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "ServiceAPChannelAddress = {0}", ServiceAPChannelAddress)); } if (context.Properties.Contains("Duration")) { int duration; if (Int32.TryParse(context.Properties["Duration"].ToString(), out duration)) { TestDuration = duration; testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "Duration = {0} minutes", TestDuration)); } else { testLogger.LogComment("Could not parse Duration. Using default."); } } if (APServer == null) { testLogger.LogError("Did not get AP Server name as parameter"); return; } testLogger.LogComment("Connecting to AP Config Server - " + APServer); using (ApConfigClient apConfigClient = new ApConfigClient(APServer)) { bool connect = apConfigClient.Connect(); if (connect) { testLogger.LogComment("Connection Succeeded"); } else { testLogger.LogError("Connection failed"); return; } testLogger.LogComment("Enum Routers"); routers = apConfigClient.EnumerateAccessPoints(); if (routers == null) { testLogger.LogError("Unable to enum routers, EnumerateAccessPoints returned null"); return; } if (routers.Count >= 2) { testLogger.LogComment("Found 2 routers as expected"); } else { testLogger.LogError("Did not find both APs"); return; } } }
private void SendThread(object obj) { CancellationToken token = (CancellationToken)obj; IntPtr socket = IntPtr.Zero; try { testLogger.LogComment("Multicast Sends from {0}:{1} to {2}:{3}", localAddress, localPort, remoteAddress, remotePort); if (ipv6Mode) { if (testMode == TestMode.Wlan) { using (Wlan wlanApi = new Wlan()) { var wlanInterfaceList = wlanApi.EnumWlanInterfaces(); if (wlanInterfaceList.Count < 1) { throw new TestConfigException("No WLAN Interfaces were discovered. Ensure that WLAN interfaces are enabled, discoverable, and operational."); } var wlanInterface = wlanInterfaceList[0]; UInt32 wlanInterfaceIndex = NetworkInterfaceDataPathTests.GetNetworkIndex(wlanInterface.Id); socket = sockets.CreateMulticastSocket(localAddress, localPort, remoteAddress, remotePort, wlanInterfaceIndex); } } else { UInt32 lanInterfaceIndex = NetworkInterfaceDataPathTests.GetNetworkIndex(localInterfaceGuid); socket = sockets.CreateMulticastSocket(localAddress, localPort, remoteAddress, remotePort, lanInterfaceIndex); } } else { socket = sockets.CreateMulticastSocket(localAddress, localPort, remoteAddress, remotePort); } Byte[] sendData; while (!token.IsCancellationRequested) { sendData = NetworkInterfaceDataPathTests.GeneratePayload(100); testLogger.LogTrace("MulticastSender[{0}] Sending Packet", this.identifier); sockets.SendTo(socket, sendData, remoteAddress, remotePort, ipv6Mode); UnitsTransfered++; Wlan.Sleep(NetworkInterfaceDataPathTests.RandomWaitTime()); DateTime nextLogTime = DateTime.Now; if (DateTime.Now > nextLogTime) { testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "Sending Multicast Data to {0}:{1}. Packets Sent {2}", remoteAddress, remotePort, UnitsTransfered)); nextLogTime = DateTime.Now.Add(logInterval); } testLogger.LogTrace("MulticastSender[{0}] Packets Sent {1}", this.identifier, UnitsTransfered); } testLogger.LogComment("Multicast Send Completed from {0}:{1} to {2}:{3}. Packet Count = {4}", localAddress, localPort, remoteAddress, remotePort, UnitsTransfered); } catch (Exception error) { testLogger.LogError(error.ToString()); throw; } finally { if (socket != IntPtr.Zero) { testLogger.LogTrace("MulticastSender[{0}] Closing Send Socket", this.identifier); sockets.CloseSocket(socket); } } }
public static void Roam(RunTimeConfiguration rc, APConfigParameter AP1Config24GHz, APConfigParameter AP1Config5GHz, APConfigParameter AP2Config24GHz, APConfigParameter AP2Config5GHz, ROAM_TEST_OPTIONS RoamTestOptions) { WlanHckTestLogger traceProvider = new WlanHckTestLogger("RoamingDriver"); using (UsingGroup g = new UsingGroup()) { traceProvider.LogComment("Roaming Scenarios Begin"); try { WhckRoaming hckRoaming = new WhckRoaming(rc, AP1Config24GHz, AP1Config5GHz, AP2Config24GHz, AP2Config5GHz, RoamTestOptions); g.Add(hckRoaming); if (RoamTestOptions.HasFlag(ROAM_TEST_OPTIONS.SuddenLossOfSignal)) { string scenarioName = "Roaming " + ROAM_TEST_OPTIONS.SuddenLossOfSignal.ToString(); Helpers.LogVariationStart(scenarioName, scenarioName); traceProvider.LogComment("Testing sudden loss of Signal"); hckRoaming.SuddenLossOfSignal(); Helpers.LogVariationStop(scenarioName); } if (RoamTestOptions.HasFlag(ROAM_TEST_OPTIONS.SuddenDropOfSignal)) { string scenarioName = "Roaming " + ROAM_TEST_OPTIONS.SuddenDropOfSignal.ToString(); Helpers.LogVariationStart(scenarioName, scenarioName); traceProvider.LogComment("Testing sudden drop of Signal"); hckRoaming.SuddenDropOfSignal(); Helpers.LogVariationStop(scenarioName); } if (RoamTestOptions.HasFlag(ROAM_TEST_OPTIONS.GradualDropOfSignal)) { string scenarioName = "Roaming " + ROAM_TEST_OPTIONS.GradualDropOfSignal.ToString(); Helpers.LogVariationStart(scenarioName, scenarioName); traceProvider.LogComment("Testing gradual drop of Signal"); hckRoaming.GradualDropOfSignal(); Helpers.LogVariationStop(scenarioName); } if (RoamTestOptions.HasFlag(ROAM_TEST_OPTIONS.GradualLossOfSignal)) { string scenarioName = "Roaming " + ROAM_TEST_OPTIONS.GradualLossOfSignal.ToString(); Helpers.LogVariationStart(scenarioName, scenarioName); traceProvider.LogComment("Testing gradual loss of Signal"); hckRoaming.GradualLossOfSignal(); Helpers.LogVariationStop(scenarioName); } } catch (Exception e) { traceProvider.LogError("Error - " + e.Message); throw; } } }