diff --git a/EduNetworkBuilder/ActionClass.cs b/EduNetworkBuilder/ActionClass.cs index 880b4ec..f1f69cb 100644 --- a/EduNetworkBuilder/ActionClass.cs +++ b/EduNetworkBuilder/ActionClass.cs @@ -109,7 +109,7 @@ namespace EduNetworkBuilder { public NBAction Action = NBAction.none; public int SourceID = -1; //used for basically everything - public int DestID = -1; //used for pinging, arp, traceroute + public NB_IPAddress Destination; //used for pinging, arp, traceroute public HostNicID SourceNIC; //used for links public HostNicID DestNic; //Used for links public Point Location; //Used when making a new device or moving an old device @@ -120,7 +120,6 @@ namespace EduNetworkBuilder { Network myNet = NB.GetNetwork(); NetworkDevice source = myNet.GetDeviceFromID(SourceID); - NetworkDevice dest = myNet.GetDeviceFromID(DestID); switch (Action) { @@ -141,9 +140,11 @@ namespace EduNetworkBuilder break; case NBAction.arp: break; - case NBAction.ping: + case NBAction.ping: + source.PingFromHere(Destination) ; break; case NBAction.traceroute: + source.TracerouteFromHere(Destination); break; } } diff --git a/EduNetworkBuilder/NB.cs b/EduNetworkBuilder/NB.cs index 3d0d4dc..4353a0c 100644 --- a/EduNetworkBuilder/NB.cs +++ b/EduNetworkBuilder/NB.cs @@ -1380,6 +1380,19 @@ namespace EduNetworkBuilder AC.DoAction(); } + + public static void DoActionPingDevice(int HostID, NB_IPAddress Destination) + { + ActionClass AC = new ActionClass(); + AC.Action = NBAction.ping; + AC.SourceID = HostID; + AC.Destination = Destination; + + RegisterAction(AC); + + AC.DoAction(); + + } #endregion ActionFunctions } diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs index b7542b3..0dece69 100644 --- a/EduNetworkBuilder/NetworkBuilder.cs +++ b/EduNetworkBuilder/NetworkBuilder.cs @@ -1449,7 +1449,8 @@ namespace EduNetworkBuilder destination = myNetwork.DNSLookup(ItemClickedOn, dest); if(destination == null || destination.GetIPString == NB.ZeroIPString) destination = new NB_IPAddress(dest); - ItemClickedOn.PingFromHere(destination); + //ItemClickedOn.PingFromHere(destination); + NB.DoActionPingDevice(ItemClickedOn.GetUniqueIdentifier, destination); myNetwork.ProcessPackets(); UpdateMessages(); }