Recent changes ( 2fe5a79425c7 ) pushed RTA_DST masking from route control code to the rtsock code.
It broke arp/ndp deletion.
It turns out, arp/ndp perform RTM_GET request first to gen an interface index, then simply stamp it with RTF_LLDATA and update the command to be RTM_DELETE.
As the kernel has always ignored pretty much everything except RTA_DST, RTA_GATEWAY and RTF_ANNOUNCE, it worked.
Fix this by removing RTA_NETMASK for RTF_LLINFO messages in the early phase.
While here, cleanup some unused code from arp/ndp (proper fix to handle RTM_DELETE will be done separately).