La voce verrà rimossa, sii paziente.
(Se vuoi la risposta più breve possibile:incompleto ==cancellato)
Diciamo che "cancella" è la parola sbagliata per l'azione. Quello che sta realmente accadendo qui è che la voce è impostata manualmente sullo stato "richiesta inviata, nessuna risposta" (quindi processo ARP "incompleto") come se la macchina fosse realmente irraggiungibile.
Ora, la voce verrà completamente rimossa a breve, a meno che nel frattempo non riceva una nuova risposta ARP valida. In tal caso la voce verrebbe comunque aggiunta nuovamente anche se rimossa invece di essere contrassegnata come incompleta. Quindi non ci sono pro o contro in questo comportamento.
Ma tieni presente che stiamo parlando di una cache. Cancellare cose dalle cache è difficile e costoso. È molto più efficiente invalidare una voce e attendere se viene sostituita prima che venga finalmente rimossa. Ma per il sistema non fa alcuna differenza se la voce è sparita dall'elenco o semplicemente contrassegnata come incompleta.
Solo per completare tutte le altre risposte, ho trovato molto utile questo link.
In alcuni casi usando ip
è più appropriato, come il comando:
# ip -s -s neigh flush all
I risultati possono dipendere dal tuo kernel Linux.
A parte le altre ottime risposte, vale la pena ricordare che è possibile eliminare completamente la cache arp rimuovendola. Uno dei modi meno dolorosi è:
ip link set arp off dev eth0 ; ip link set arp on dev eth0
Questo dovrebbe rimuovere tutte le voci, siano esse in qualsiasi stato.
Metodi alternativi includono il down e l'upgrade dell'interfaccia e modi simili per rimuovere e ricreare completamente la cache arp.