`print_entry` function in "arp.c" will be call when `WITHOUT_NETLINK` is define and `print_entry` function in "arp_netlink.c" will be call in opsite. I run `arp -a` in both case on revise and not revised code. it output same like below.
```
// Original
$ arp -a // WITHOUT_NETLINK is defined
? (192.168.42.2) at 00:50:56:ef:d2:41 on le0 expires in 1020 seconds [ethernet]
? (192.168.42.128) at 00:0c:29:02:ba:a1 on le0 permanent [ethernet]
$ arp -a // WITHOUT_NETLINK is not defined
? (192.168.42.2) at 00:50:56:ef:d2:41 on le0 expires in 961 seconds [ethernet]
? (192.168.42.128) at 00:0c:29:02:ba:a1 on le0 permanent [ethernet]
// Revised
$ arp -a // WITHOUT_NETLINK is defined
? (192.168.42.2) at 00:50:56:ef:d2:41 on le0 expires in 1093 seconds [ethernet]
? (192.168.42.128) at 00:0c:29:02:ba:a1 on le0 permanent [ethernet]
$ arp -a // WITHOUT_NETLINK is not defined
? (192.168.42.2) at 00:50:56:ef:d2:41 on le0 expires in 1175 seconds [ethernet]
? (192.168.42.128) at 00:0c:29:02:ba:a1 on le0 permanent [ethernet]
```
As for the `getaddr` function I use `sudo arp -d kola` (kola is a hostname of my private IP, for testing the `getaddrinfo` function work) and `sudo arp -d -a` to test and it work fine (successfully delete the entry).