Bicho, eu não sei o que exatamente vc está tentando e em que sistema, mas pode ocorrer que o driver de rede autocomute entre o estado up/down mediante a presença de um estado de "link" ou não. Da forma como a ethernet é constituida eletricamente, a presença deste estado implica na possibilidade de transferir dados (ao menos em um sentido, dependendo da configuração duplex), porém com ping em internet protocol/icmp (assumo que seja isto que voce tenha usado), você não pode determinar a qualidade deste link (se há perdas de dados pela relação sinal/ruído não estar adequada, ou no caso de duplex, se um dos lados não está bom).
A razão disto é que (ao menos em todas as pilhas tcp/ip que testei) um pacote destinado a uma interface local não chega ao nível físico de rede, ele é resolvido pelo nível lógico da pilha IP, que verifica que o pacote é destinado a uma interface local e redireciona os dados antes mesmo de consultar ARP ou enviar qualquer dado para o driver da placa de rede em si. O fato dela parar de responder quando o cabo é removido é porque isto interrompe o estado lógico UP da interface.
Então você pode determinar que há link, mas com ping tradicional vc não vai ter os dados de ping/pong efetivamente trafegando pelo link físico, eles estarão a nível lógico; Se o que vc precisa saber é se o cabo está dando link, ótimo, se vc precisa saber se a interface física está transmitindo e recebendo dados corretamente, especialmente se o link for duplex, o teste estará incompleto
Por que isto é feito assim? Por que em condições normais de link ethernet (leia-se sem um cabo de loopback full-duplex) a placa de rede não recebe de volta os pacotes que envia: em half-duplex o circuito receptor é desativado por quê não é muito útil vc ter de volta o pacote que está enviando, isto não serve para acnowledge de sucesso de transmissão pois não garante que o resto do circuito (seja cabo, sejam hubs ou switches) tenha entregue o pacote ao destino. E em um link full-duplex, o circuito de receiver apenas escuta os pacotes dos outros membros do barramento, e não o uplink da interface para frente.
Como o driver de rede e as pilhas de protocolos superiores não sabem que vc tem a intenção de fazer um teste de loopback, isto não é implementado desta forma
