NC, NCE, ND Edits

This commit is contained in:
Peter Wilson 2015-11-19 12:30:40 -06:00
parent b2662c6aba
commit 72e21d371c
4 changed files with 169 additions and 45 deletions

View File

@ -431,12 +431,12 @@ namespace EduNetworkBuilder
if(nPacket.destMAC == "")
{
nPacket.AddMessage(DebugLevel.debug, string.Format(" No Machine matching that IP address on this subnet. {0}", nPacket.destIP.GetIPString));
nPacket.AddMessage(DebugLevel.debug, string.Format(NB.Translate("NC_NoIPOnSubStr"), nPacket.destIP.GetIPString));
Network mynet = NB.GetNetwork();
NetworkDevice nd = mynet.GetDeviceFromID(myID);
string hostname = NB.Translate("NC_NoHost");
if (nd != null) hostname = nd.hostname;
nPacket.Tracking.Status = string.Format("{0} No Machine matching that IP address on this subnet. ", hostname, nPacket.destIP.GetIPString);
nPacket.Tracking.Status = hostname + string.Format(NB.Translate("NC_NoIPOnSubStr"), hostname, nPacket.destIP.GetIPString);
nPacket.MyStatus = PacketStatus.finished_failed;
return false;
}
@ -476,7 +476,7 @@ namespace EduNetworkBuilder
//When we leave the WAN port, we are masqueraded. Track that.
WhereFrom.StoreOutgoingPacketInfo(nPacket, ResponseToPacket.masq);
//Now, we masquerade the packet so it looks like it comes fromhere
nPacket.Tracking.AddMessage(DebugLevel.natting, WhereFrom.hostname, string.Format("MASQ: Changing outbound IP to: {0}", nf.myIP.GetIPString));
nPacket.Tracking.AddMessage(DebugLevel.natting, WhereFrom.hostname, string.Format("NC_ChangeIPStr", nf.myIP.GetIPString));
nPacket.sourceIP = nf.myIP;
}
nPacket.TsourceIP = nf.myIP;
@ -486,12 +486,12 @@ namespace EduNetworkBuilder
if (nPacket.destMAC == "")
{
nPacket.AddMessage(DebugLevel.debug, string.Format(" No Machine matching that IP address on this subnet. {0}", nPacket.destIP.GetIPString));
nPacket.AddMessage(DebugLevel.debug, string.Format(NB.Translate("NC_NoIPOnSubStr"), nPacket.destIP.GetIPString));
Network mynet = NB.GetNetwork();
NetworkDevice nd = mynet.GetDeviceFromID(myID);
string hostname = NB.Translate("NC_NoHost");
if (nd != null) hostname = nd.hostname;
nPacket.Tracking.Status = hostname + string.Format(" No Machine matching that IP address on this subnet. {0}", nPacket.destIP.GetIPString);
nPacket.Tracking.Status = hostname + string.Format(NB.Translate("NC_NoIPOnSubStr"), nPacket.destIP.GetIPString);
nPacket.MyStatus = PacketStatus.finished_failed;
return false;
}
@ -552,12 +552,12 @@ namespace EduNetworkBuilder
if (nPacket.destMAC == "")
{
nPacket.AddMessage(DebugLevel.debug, String.Format(" No Machine matching that IP address on this subnet. {0}", nPacket.destIP.GetIPString));
nPacket.AddMessage(DebugLevel.debug, String.Format(NB.Translate("NC_NoIPOnSubStr"), nPacket.destIP.GetIPString));
Network mynet = NB.GetNetwork();
NetworkDevice nd = mynet.GetDeviceFromID(myID);
string hostname = NB.Translate("NC_NoHost");
if (nd != null) hostname = nd.hostname;
nPacket.Tracking.Status = hostname + String.Format(" No Machine matching that IP address on this subnet. {0}", nPacket.destIP.GetIPString);
nPacket.Tracking.Status = hostname + String.Format(NB.Translate("NC_NoIPOnSubStr"), nPacket.destIP.GetIPString);
nPacket.MyStatus = PacketStatus.finished_failed;
return false;
}
@ -646,7 +646,7 @@ namespace EduNetworkBuilder
IPAddress oAddress = nd.PacketMasqueradeSource(tPacket);
if(oAddress != null)
{
tPacket.Tracking.AddMessage(DebugLevel.natting, nd.hostname, string.Format("MASQ: Changing source IP back to: {0}", oAddress.GetIPString));
tPacket.Tracking.AddMessage(DebugLevel.natting, nd.hostname, string.Format(NB.Translate("NC_ChangeIPBackStr"), oAddress.GetIPString));
tPacket.destIP = oAddress;
}
}
@ -658,7 +658,7 @@ namespace EduNetworkBuilder
nd = mynet.GetDeviceFromID(myID);
string hostname = NB.Translate("NC_NoHost");
if (nd != null) hostname = nd.hostname;
tPacket.Tracking.Status = string.Format("{0} The packet was rejected by the firewall.. Dropped.", hostname) ;
tPacket.Tracking.Status = string.Format(NB.Translate("NC_PackRejectStr"), hostname) ;
tPacket.MyStatus = PacketStatus.finished_failed;
}
}

View File

@ -191,7 +191,7 @@ namespace EduNetworkBuilder
{
MyNicToEdit.TunnelEndpoint = new IPAddress(NB.ZeroIPString, "255.255.255.0", IPAddressType.ip_only);
}
MyNicToEdit.TunnelEndpoint.Edit(nd,"Endpoint");
MyNicToEdit.TunnelEndpoint.Edit(nd, "NCE_VPNEnd");
UpdateForm();
}
}

View File

@ -1297,7 +1297,7 @@ namespace EduNetworkBuilder
if(dest.GetIPString == NB.ZeroIPString && tPacket.destIP.GetIPString != NB.BroadcastIPString)
{
//No gateway set and no route...
string errString = string.Format("{0} No route to host: {1}", hostname, tPacket.destIP.GetIPString);
string errString = string.Format(NB.Translate("ND_NoRouteStr"), hostname, tPacket.destIP.GetIPString);
tPacket.AddMessage(DebugLevel.info, errString);
tPacket.Tracking.Status = errString;
tPacket.MyStatus = PacketStatus.finished_failed;
@ -1440,23 +1440,23 @@ namespace EduNetworkBuilder
if (tPacket.MyType == PacketType.arp_request)
{
//The packet was not successfully sent anywhere. DMac = "". This means no host with the specified IP
tPacket.AddMessage(DebugLevel.info, string.Format("{0} Failed: No such IP on the local network - Arp only searches the local network.", hostname));
tPacket.Tracking.Status = string.Format("{0} Failed: No such IP on the local network.", hostname);
tPacket.AddMessage(DebugLevel.info, string.Format(NB.Translate("ND_ArpNoIPLocalStr"), hostname));
tPacket.Tracking.Status = string.Format(NB.Translate("ND_NoIPLocalStr"), hostname);
tPacket.MyStatus = PacketStatus.finished_failed;
}
else
{
//The packet was not successfully sent anywhere. DMac = "". This means no host with the specified IP
tPacket.AddMessage(DebugLevel.info, string.Format("{0} Failed: No such IP.",hostname));
tPacket.Tracking.Status = string.Format("{0} Failed: No such IP.", hostname);
tPacket.AddMessage(DebugLevel.info, string.Format(NB.Translate("ND_NoIPStr"), hostname));
tPacket.Tracking.Status = string.Format(NB.Translate("ND_NoIPStr"), hostname);
tPacket.MyStatus = PacketStatus.finished_failed;
}
}
else
{
//The packet was not successfully sent anywhere. No interface to send out the packet
tPacket.AddMessage(DebugLevel.info, string.Format("{0} No local interface to send packet out.", hostname));
tPacket.Tracking.Status = string.Format("{0} No local interface to send packet out", hostname);
tPacket.AddMessage(DebugLevel.info, string.Format(NB.Translate("ND_NoLocalIfStr"), hostname));
tPacket.Tracking.Status = string.Format(NB.Translate("ND_NoLocalIfStr"), hostname);
tPacket.MyStatus = PacketStatus.finished_failed;
}
}
@ -1579,8 +1579,8 @@ namespace EduNetworkBuilder
}
else
{
tPacket.AddMessage(DebugLevel.info, "The broadcast ping reached a destination that was not on the same network");
tPacket.Tracking.Status = hostname + ":\t" + string.Format("The broadcast ping reached a destination that was not on the same network") + tPacket.sourceIP.GetIP.ToIpString() + " -> " + hostname;
tPacket.AddMessage(DebugLevel.info, NB.Translate("ND_ProssArrNotSameNet"));
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrNotSameNet")) + tPacket.sourceIP.GetIP.ToIpString() + " -> " + hostname;
tPacket.MyStatus = PacketStatus.finished_ok;
}
return;
@ -1592,15 +1592,15 @@ namespace EduNetworkBuilder
{
if (tPacket.health < 100)
{
tPacket.AddMessage(DebugLevel.info, string.Format("Success! The ping returned from its destination. But some was lost: health={0}", tPacket.health.ToString()) );
tPacket.AddMessage(DebugLevel.info, string.Format(NB.Translate("ND_ProssArrSomeLostStr"), tPacket.health.ToString()) );
int left = 100 - tPacket.health;
tPacket.Tracking.Status = hostname + string.Format(":\tPing partial success: {0}% packet loss. {1} -> {2}", left , tPacket.sourceIP.GetIP.ToIpString(),tPacket.destIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrPartialStr"), left , tPacket.sourceIP.GetIP.ToIpString(),tPacket.destIP.GetIP.ToIpString());
tPacket.MyStatus = PacketStatus.finished_ok;
}
else
{
tPacket.AddMessage(DebugLevel.info, NB.Translate("ND_ProcessArrival_PingReturn1"));
tPacket.Tracking.Status = hostname + string.Format(":\tPing success: The ping returned from its destination {0} -> {1}", tPacket.sourceIP.GetIP.ToIpString(), tPacket.destIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrSuccessStr"), tPacket.sourceIP.GetIP.ToIpString(), tPacket.destIP.GetIP.ToIpString());
tPacket.MyStatus = PacketStatus.finished_ok;
if (tPacket.sourceIP.GetIP != 0)
{
@ -1615,7 +1615,7 @@ namespace EduNetworkBuilder
else
{
tPacket.AddMessage(DebugLevel.info, NB.Translate("ND_ProcessArrival_PackReturnErr1"));
tPacket.Tracking.Status = hostname + string.Format(":\tPing failed: Arrived at a machine that was not expecting it and was rejected. {0} -> {1}", tPacket.sourceIP.GetIP.ToIpString(), tPacket.destIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrPngFailStr"), tPacket.sourceIP.GetIP.ToIpString(), tPacket.destIP.GetIP.ToIpString());
tPacket.MyStatus = PacketStatus.finished_failed;
}
return;
@ -1667,7 +1667,7 @@ namespace EduNetworkBuilder
nPacket.MyStatus = PacketStatus.processing;
tPacket.AddMessage(DebugLevel.info, NB.Translate("ND_ProcessArrival_ArpReached1"));
tPacket.Tracking.Status = hostname + ":\t" + string.Format("Arp Request found") + "IP: " + tPacket.sourceIP.GetIPString + " MAC: "+ nPacket.sourceMAC;
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrArp")) + "IP: " + tPacket.sourceIP.GetIPString + " MAC: "+ nPacket.sourceMAC;
tPacket.MyStatus = PacketStatus.finished_ok;
}
else
@ -1685,14 +1685,14 @@ namespace EduNetworkBuilder
NetworkCard nic = LocalNic(tPacket.destIP);
HostNicID myid = nic.myID;
StoreArp(tPacket.sourceMAC, tPacket.TsourceIP.GetIP.ToIpString(), myid);
tPacket.Tracking.Status = hostname + ":\t" + string.Format("Arp request success: Who Has {0} tell {1} = {2}", tPacket.sourceIP.GetIP.ToIpString(), tPacket.sourceIP.GetIP.ToIpString(), tPacket.sourceMAC);
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrArpSuccessStr"), tPacket.sourceIP.GetIP.ToIpString(), tPacket.sourceIP.GetIP.ToIpString(), tPacket.sourceMAC);
tPacket.MyStatus = PacketStatus.finished_ok; //Yay!
myNet.NotePacketArrived(tPacket.MyType, this, tPacket.destIP, tPacket.sourceIP);
}
else
{
tPacket.AddMessage(DebugLevel.info, NB.Translate("ND_ProcessArrival_PackReturnErr1"));
tPacket.Tracking.Status = hostname + ":\t" + string.Format("ARP failed: Arrived at a machine that was not expecting it and was rejected. {0} -> {1}", tPacket.sourceIP.GetIP.ToIpString(), tPacket.destIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrArpFailStr"), tPacket.sourceIP.GetIP.ToIpString(), tPacket.destIP.GetIP.ToIpString());
tPacket.MyStatus = PacketStatus.finished_failed;
}
return;
@ -1741,7 +1741,7 @@ namespace EduNetworkBuilder
IPAddress tIP = HubManagementIP();
if (tIP != null) IP = tIP.GetIPString;
}
tPacket.Tracking.Status = hostname + ":\t" + string.Format("DHCP Request found Server: {0}", IP);
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrDHCPStr"), IP);
//If we are a wireless router, we need to keep passing the broadcast request on
if(!DoesForwarding())
tPacket.MyStatus = PacketStatus.finished_ok;
@ -1761,7 +1761,7 @@ namespace EduNetworkBuilder
tPacket.payloadIP = new IPAddress(NB.ZeroIPString);
tnic.SetIPForDHCP(tPacket.payloadIP);
IsDirty = true; //If we need to redraw the device IP
tPacket.Tracking.Status = hostname + ":\t" + string.Format("DHCP request/answer. {0}", tPacket.payloadIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrDHCPAnsStr"), tPacket.payloadIP.GetIP.ToIpString());
tPacket.MyStatus = PacketStatus.finished_ok; //Yay!
myNet.NotePacketArrived(tPacket.MyType, this, tPacket.payloadIP, tPacket.sourceIP);
return;
@ -1773,7 +1773,7 @@ namespace EduNetworkBuilder
string sIP = "?.?.?.?";
if (tPacket.sourceIP != null)
sIP = tPacket.sourceIP.GetIP.ToIpString();
tPacket.Tracking.Status = hostname + ":\t" + string.Format("DHCP Request failed: Arrived at a machine that was not expecting it and was rejected. {0} -> {1}", sIP, tPacket.destIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + ":\t" + string.Format(NB.Translate("ND_ProssArrDHCPFailStr"), sIP, tPacket.destIP.GetIP.ToIpString());
tPacket.MyStatus = PacketStatus.finished_failed;
}
return;
@ -1982,15 +1982,15 @@ namespace EduNetworkBuilder
{
if (tPacket.MyType == PacketType.dhcp_answer)
{
tPacket.AddMessage(DebugLevel.info, hostname + string.Format(" ERROR: DHCP Server does not have gateway set. DHCP server failing") + " " + tPacket.OutboundIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + string.Format(" ERROR: DHCP Server does not have gateway set. DHCP server failing");
tPacket.AddMessage(DebugLevel.info, hostname + string.Format(NB.Translate("ND_PrepPackGtewyErr")) + " " + tPacket.OutboundIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + string.Format(NB.Translate("ND_PrepPackGtewyErr"));
tPacket.MyStatus = PacketStatus.finished_failed;
return false;
}
else
{
tPacket.AddMessage(DebugLevel.info, hostname + string.Format(" ERROR: No route or local interface for packet.") +" "+ tPacket.OutboundIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + "ERROR: No route or local interface for packet.";
tPacket.AddMessage(DebugLevel.info, hostname + string.Format(NB.Translate("ND_PrepPackRoutErr")) +" "+ tPacket.OutboundIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + NB.Translate("ND_PrepPackRoutErr");
tPacket.MyStatus = PacketStatus.finished_failed;
return false;
}
@ -2003,8 +2003,8 @@ namespace EduNetworkBuilder
tPacket.OutboundNic = LocalNic(tPacket.OutboundIP);
if (tPacket.OutboundNic == null)
{
tPacket.AddMessage(DebugLevel.info, hostname + string.Format(" ERROR: No local Network Card for packet.") + " :"+ tPacket.OutboundIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + " ERROR: No local Network Card for packet.";
tPacket.AddMessage(DebugLevel.info, hostname + string.Format(NB.Translate("ND_PrepPackNICErr")) + " :"+ tPacket.OutboundIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + NB.Translate("ND_PrepPackNICErr");
tPacket.MyStatus = PacketStatus.finished_failed;
return false;
}
@ -2015,8 +2015,8 @@ namespace EduNetworkBuilder
tPacket.OutboundIF = tPacket.OutboundNic.LocalInterface(tPacket.OutboundIP, tPacket.Tracking);
if (tPacket.OutboundIF == null)
{
tPacket.AddMessage(DebugLevel.info, hostname + string.Format(" ERROR: No route or local interface for packet.") + " :" + tPacket.OutboundIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + " ERROR: No route or local interface for packet.";
tPacket.AddMessage(DebugLevel.info, hostname + string.Format(NB.Translate("ND_PrepPackRoutErr")) + " :" + tPacket.OutboundIP.GetIP.ToIpString());
tPacket.Tracking.Status = hostname + NB.Translate("ND_PrepPackRoutErr");
tPacket.MyStatus = PacketStatus.finished_failed;
return false;
}
@ -2193,7 +2193,7 @@ namespace EduNetworkBuilder
if(nc == null)
{
tPacket.AddMessage(DebugLevel.info, NB.Translate("ND_DoInputFromLink_CardFail1"));
tPacket.Tracking.Status = hostname + string.Format(" Failed: no card available to use.");
tPacket.Tracking.Status = hostname + string.Format(NB.Translate("ND_DoInputFromLink_CardFail2"));
tPacket.MyStatus = PacketStatus.finished_failed;
return;
}
@ -2232,16 +2232,16 @@ namespace EduNetworkBuilder
{
if (tPacket.MyType == PacketType.dhcp_request && !isDHCPServer)
{
tPacket.AddMessage(DebugLevel.debug, hostname + string.Format(" Packet request fell on deaf ears. This is not a DHCP server."));
tPacket.Tracking.Status = hostname + string.Format(" Failed: Not a DHCP Server. Packet Dropped.");
tPacket.AddMessage(DebugLevel.debug, hostname + string.Format(NB.Translate("ND_DoInFromLnkDeaf")));
tPacket.Tracking.Status = hostname + string.Format(NB.Translate("ND_DoInFromLnkNoDHCP");
tPacket.MyStatus = PacketStatus.finished_failed;
return;
}
if ((tPacket.MyType == PacketType.ping_answer || tPacket.MyType== PacketType.ping_request) &&
!RoutesPackets() && (!HasIPAddress(tPacket.destIP) && !HasBroadcastAddress(tPacket.destIP)))
{
tPacket.AddMessage(DebugLevel.debug, hostname + string.Format(" Not a router"));
tPacket.Tracking.Status = hostname + string.Format(" This device is not a router. Packet dropped.");
tPacket.AddMessage(DebugLevel.debug, hostname + string.Format(NB.Translate("ND_NotRouter")));
tPacket.Tracking.Status = hostname + string.Format(NB.Translate("ND_NotRouter2"));
tPacket.MyStatus = PacketStatus.finished_failed;
return;
}
@ -2250,8 +2250,8 @@ namespace EduNetworkBuilder
myType != NetworkComponentType.wbridge && myType != NetworkComponentType.wrepeater &&
myType != NetworkComponentType.wrouter)
{
tPacket.AddMessage(DebugLevel.debug, hostname + string.Format(" The device had no local IPs. Quietly dropped."));
tPacket.Tracking.Status = hostname + string.Format(" Failed: no IPs local to the packet.");
tPacket.AddMessage(DebugLevel.debug, hostname + string.Format(NB.Translate("ND_NoLocIP")));
tPacket.Tracking.Status = hostname + string.Format(NB.Translate("ND_NoLocIP2"));
tPacket.MyStatus = PacketStatus.finished_failed;
return;
}
@ -2462,7 +2462,7 @@ namespace EduNetworkBuilder
{
if (WithAdditionalInfo)
{
theStrings.Add(string.Format("IF: {0} Range: {1} - {2}", ip.GetIP.ToIpString().PadLeft(15),
theStrings.Add(string.Format(NB.Translate("ND_DHCPStrIFStr"), ip.GetIP.ToIpString().PadLeft(15),
ip.GetMask.ToIpString(),ip.GetGateway.ToIpString()));
}
else

View File

@ -1397,4 +1397,128 @@
<value>Invalid Bit {0}! (Should be from 0 to 7)</value>
<comment>NB_BitError = Invalid Bit {0}! (Should be from 0 to 7)</comment>
</data>
<data name="NC_ChangeIPBackStr" xml:space="preserve">
<value>MASQ: Changing source IP back to: {0}</value>
<comment>NC_ChangeIPBackStr = MASQ: Changing source IP back to: {0}</comment>
</data>
<data name="NC_ChangeIPStr" xml:space="preserve">
<value>MASQ: Changing outbound IP to: {0}</value>
<comment>NC_ChangeIPStr = MASQ: Changing outbound IP to: {0}</comment>
</data>
<data name="NC_NoIPOnSubStr" xml:space="preserve">
<value>No Machine matching that IP address on this subnet. {0}</value>
<comment>NC_NoIPOnSub = No Machine matching that IP address on this subnet. {0}</comment>
</data>
<data name="NC_PackRejectStr" xml:space="preserve">
<value>{0} The packet was rejected by the firewall.. Dropped.</value>
<comment>NC_PackRejectStr = {0} The packet was rejected by the firewall.. Dropped.</comment>
</data>
<data name="ND_ArpNoIPLocalStr" xml:space="preserve">
<value>{0} Failed: No such IP on the local network - Arp only searches the local network.</value>
<comment>ND_ArpNoIPLocalStr = {0} Failed: No such IP on the local network - Arp only searches the local network.</comment>
</data>
<data name="ND_DHCPStrIFStr" xml:space="preserve">
<value>IF: {0} Range: {1} - {2}</value>
<comment>ND_DHCPStrIFStr = IF: {0} Range: {1} - {2}</comment>
</data>
<data name="ND_DoInFromLnkDeaf" xml:space="preserve">
<value>Packet request fell on deaf ears. This is not a DHCP server.</value>
<comment>ND_DoInFromLnkDeaf = Packet request fell on deaf ears. This is not a DHCP server.</comment>
</data>
<data name="ND_DoInFromLnkNoDHCP" xml:space="preserve">
<value>Failed: Not a DHCP Server. Packet Dropped.</value>
<comment>ND_DoInFromLnkNoDHCP = Failed: Not a DHCP Server. Packet Dropped.</comment>
</data>
<data name="ND_DoInputFromLink_CardFail2" xml:space="preserve">
<value>Failed: no card available to use.</value>
<comment>ND_DoInputFromLink_CardFail2 = Failed: no card available to use.</comment>
</data>
<data name="ND_NoIPLocalStr" xml:space="preserve">
<value>{0} Failed: No such IP on the local network.</value>
<comment>ND_NoIPLocalStr = {0} Failed: No such IP on the local network.</comment>
</data>
<data name="ND_NoIPStr" xml:space="preserve">
<value>{0} Failed: No such IP.</value>
<comment>ND_NoIPStr = {0} Failed: No such IP.</comment>
</data>
<data name="ND_NoLocalIfStr" xml:space="preserve">
<value>{0} No local interface to send packet out.</value>
<comment>ND_NoLocalIfStr = {0} No local interface to send packet out.</comment>
</data>
<data name="ND_NoLocIP" xml:space="preserve">
<value>The device had no local IPs. Quietly dropped.</value>
<comment>ND_NoLocIP = The device had no local IPs. Quietly dropped.</comment>
</data>
<data name="ND_NoLocIP2" xml:space="preserve">
<value>Failed: no IPs local to the packet.</value>
<comment>ND_NoLocIP2 = Failed: no IPs local to the packet.</comment>
</data>
<data name="ND_NoRouteStr" xml:space="preserve">
<value>{0} No route to host: {1}</value>
<comment>ND_NoRouteStr = {0} No route to host: {1}</comment>
</data>
<data name="ND_NotRouter" xml:space="preserve">
<value>Not a router</value>
<comment>ND_NotRouter = Not a router</comment>
</data>
<data name="ND_NotRouter2" xml:space="preserve">
<value>This device is not a router. Packet dropped.</value>
<comment>ND_NotRouter2 = This device is not a router. Packet dropped.</comment>
</data>
<data name="ND_PrepPackGtewyErr" xml:space="preserve">
<value>ERROR: DHCP Server does not have gateway set. DHCP server failing</value>
<comment>ND_PrepPackGtewyErr = ERROR: DHCP Server does not have gateway set. DHCP server failing</comment>
</data>
<data name="ND_PrepPackNICErr" xml:space="preserve">
<value>ERROR: No local Network Card for packet.</value>
<comment>ND_PrepPackNICErr = ERROR: No local Network Card for packet.</comment>
</data>
<data name="ND_PrepPackRoutErr" xml:space="preserve">
<value>ERROR: No route or local interface for packet.</value>
<comment>ND_PrepPackRoutErr = ERROR: No route or local interface for packet.</comment>
</data>
<data name="ND_ProssArrArp" xml:space="preserve">
<value>Arp Request found</value>
<comment>ND_ProssArrArp = Arp Request found</comment>
</data>
<data name="ND_ProssArrArpFailStr" xml:space="preserve">
<value>ARP failed: Arrived at a machine that was not expecting it and was rejected. {0} -&gt; {1}</value>
<comment>ND_ProssArrArpFailStr = ARP failed: Arrived at a machine that was not expecting it and was rejected. {0} -&gt; {1}</comment>
</data>
<data name="ND_ProssArrArpSuccessStr" xml:space="preserve">
<value>Arp request success: Who Has {0} tell {1} = {2}</value>
<comment>ND_ProssArrArpSuccess = Arp request success: Who Has {0} tell {1} = {2}</comment>
</data>
<data name="ND_ProssArrDHCPAnsStr" xml:space="preserve">
<value>DHCP request/answer. {0}</value>
<comment>ND_ProssArrDHCPAnsStr = DHCP request/answer. {0}</comment>
</data>
<data name="ND_ProssArrDHCPFailStr" xml:space="preserve">
<value>DHCP Request failed: Arrived at a machine that was not expecting it and was rejected. {0} -&gt; {1}</value>
<comment>ND_ProssArrDHCPFailStr = DHCP Request failed: Arrived at a machine that was not expecting it and was rejected. {0} -&gt; {1}</comment>
</data>
<data name="ND_ProssArrDHCPStr" xml:space="preserve">
<value>DHCP Request found Server: {0}</value>
<comment>ND_ProssArrDHCPStr = DHCP Request found Server: {0}</comment>
</data>
<data name="ND_ProssArrNotSameNet" xml:space="preserve">
<value>The broadcast ping reached a destination that was not on the same network</value>
<comment>ND_ProssArrNotSameNet = The broadcast ping reached a destination that was not on the same network</comment>
</data>
<data name="ND_ProssArrPartialStr" xml:space="preserve">
<value>Ping partial success: {0}% packet loss. {1} -&gt; {2}</value>
<comment>ND_ProssArrPartialStr = Ping partial success: {0}% packet loss. {1} -&gt; {2}</comment>
</data>
<data name="ND_ProssArrPngFailStr" xml:space="preserve">
<value>Ping failed: Arrived at a machine that was not expecting it and was rejected. {0} -&gt; {1}</value>
<comment>ND_ProssArrPngFailStr = Ping failed: Arrived at a machine that was not expecting it and was rejected. {0} -&gt; {1}</comment>
</data>
<data name="ND_ProssArrSomeLostStr" xml:space="preserve">
<value>Success! The ping returned from its destination. But some was lost: health={0}</value>
<comment>ND_ProssArrSomeLostStr = Success! The ping returned from its destination. But some was lost: health={0}</comment>
</data>
<data name="ND_ProssArrSuccessStr" xml:space="preserve">
<value>Ping success: The ping returned from its destination {0} -&gt; {1}</value>
<comment>ND_ProssArrSuccessStr = Ping success: The ping returned from its destination {0} -&gt; {1}</comment>
</data>
</root>