Полная очистка arp-кеша в linux

Задался я тут вопросом как реально почистить arp-кеш в linux. В принципе он меня не парит, но arp -n | grep выполняется около 35 секунд, что несколько дохрена. Решение нашёл.
Куча сайтов советуют arp -d <IP> <iface>, но это не работает т.к. остаётся запись с incomplete (а у меня их было почти 70 тысяч).
Другая куча советует сделать ip -s neigh flush all, но это по прежнему не работает по тем же причинам.
А вот как на самом деле реально удалить вообще все arp-записи для интерфейса:
ip link set arp off dev eth0; ip link set arp on dev eth0
В моей ситуации, когда надо удалить все записи incomplete из arp я написал нехитрый однострочник:
arp -n | grep incomplete | awk '{ print $3 }' | sort | uniq | awk '{ system("ip link set arp off dev "$1"; ip link set arp on dev "$1) }'

| опубликовано: Фев 21, 21:54

  Помощь по Textile