ICMP class checking only checksum on recieving packet. If router cannot resolve destination it returning packet with type 0x03 not 0x00. Type of packet did not checking and arduino recieved success status for ping request.
English is not my first language so I wrote that in Russian. May be it would be more understandable.
Класс ICMP в методе receivePacketProcessing не проверяет какой тип пакета пришел в заголовке ответа, а проверяет только чексумму. В результате если пришел ответ, который говорит, что адресат не доступен или какая-то другая ошибка, то результат все равно будет успешным.
ICMP class checking only checksum on recieving packet. If router cannot resolve destination it returning packet with type 0x03 not 0x00. Type of packet did not checking and arduino recieved success status for ping request.
English is not my first language so I wrote that in Russian. May be it would be more understandable.
Класс ICMP в методе receivePacketProcessing не проверяет какой тип пакета пришел в заголовке ответа, а проверяет только чексумму. В результате если пришел ответ, который говорит, что адресат не доступен или какая-то другая ошибка, то результат все равно будет успешным.