If arp/neighbor entries are programmed with both "extern_learn" and "permanent", "ip neigh flush" command throws "Invalid argument" error, but the entries are removed. Since they are control plane programmed entries, they should't be removed. Is this a known issue?
For example,
ip neigh show|grep 1.2.3.4
1.2.3.4 dev Vlan100 lladdr 00:00:11:22:33:44 extern_learn PERMANENT
ip neigh flush 1.2.3.4
Failed to send flush request: Invalid argument
ip neigh show|grep 1.2.3.4
====> returns nothing
for your info
uname -a
Linux sonic 4.19.0-9-2-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 GNU/Linux