From faf8ed198419e46be8467a3a1cb7cf9cec39d92c Mon Sep 17 00:00:00 2001 From: Tim Young Date: Tue, 13 Feb 2018 18:03:01 +0000 Subject: [PATCH] Get broken device replacement working --- EduNetworkBuilder/NetTestEditor.cs | 4 ++++ EduNetworkBuilder/NetworkCard.cs | 11 +++++++++++ EduNetworkBuilder/NetworkDevice.cs | 3 ++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/EduNetworkBuilder/NetTestEditor.cs b/EduNetworkBuilder/NetTestEditor.cs index d02b7f8..470eac1 100644 --- a/EduNetworkBuilder/NetTestEditor.cs +++ b/EduNetworkBuilder/NetTestEditor.cs @@ -226,6 +226,10 @@ namespace EduNetworkBuilder { cbDest.Items.Add(NB.Translate("_All")); } + else if (ToEdit.TheTest == NetTestType.DeviceIsBad) + { + cbDest.Items.Add(ToEdit.sHost); + } else if (ToEdit.TheTest == NetTestType.LockDHCP) { //return all the dhcp ranges diff --git a/EduNetworkBuilder/NetworkCard.cs b/EduNetworkBuilder/NetworkCard.cs index 2399eb9..70e5c7e 100644 --- a/EduNetworkBuilder/NetworkCard.cs +++ b/EduNetworkBuilder/NetworkCard.cs @@ -730,6 +730,17 @@ namespace EduNetworkBuilder mynet = NB.GetNetwork(); nd = mynet.GetDeviceFromID(myID); + if(mynet.ItemHasTest(nd.hostname,NetTestType.DeviceIsBad)) + { + if(!mynet.ItemTestIsComplete(nd.hostname, NetTestType.DeviceIsBad)) + { + //the device is busted and nonfunctional. No response. + tPacket.AddMessage(DebugLevel.info, ""); + tPacket.Tracking.Status = ""; + tPacket.MyStatus = PacketStatus.finished_failed; + } + } + if (tPacket == null) return; tPacket.InboundNic = this; //track which nic we came in on. if (myNicType == NicType.port || myNicType == NicType.wport || (nd.IsWirelessForwarder() && (myNicType == NicType.wlan || diff --git a/EduNetworkBuilder/NetworkDevice.cs b/EduNetworkBuilder/NetworkDevice.cs index e912b6b..1f32b7b 100644 --- a/EduNetworkBuilder/NetworkDevice.cs +++ b/EduNetworkBuilder/NetworkDevice.cs @@ -2878,7 +2878,8 @@ namespace EduNetworkBuilder DefaultGW = new IPAddress(NB.ZeroIPString); foreach(NetworkCard nic in NICs) { - nic.ClearIPs(); + if(nic.GetNicType != NicType.port) + nic.ClearIPs(); } }