There is some code that dates back to 2010 and cannot compile if -DUSE_NPPPD_ARP.
So I guess we can safely remove. Denis Index: npppd/npppd.c =================================================================== RCS file: /cvs/src/usr.sbin/npppd/npppd/npppd.c,v retrieving revision 1.49 diff -u -p -r1.49 npppd.c --- npppd/npppd.c 30 Dec 2018 23:09:58 -0000 1.49 +++ npppd/npppd.c 13 Mar 2019 18:22:52 -0000 @@ -69,10 +69,6 @@ #include "l2tp_local.h" /* XXX sa_cookie */ -#ifdef USE_NPPPD_ARP -#include "npppd_arp.h" -#endif - #ifdef USE_NPPPD_PIPEX #ifdef USE_NPPPD_PPPOE #include "pppoe_local.h" @@ -389,11 +385,6 @@ npppd_init(npppd *_this, const char *con fprintf(pidfp, "%u\n", _this->pid); fclose(pidfp); pidfp = NULL; -#ifdef USE_NPPPD_ARP - arp_set_strictintfnetwork(npppd_config_str_equali(_this, "arpd.strictintfnetwork", "true", ARPD_STRICTINTFNETWORK_DEFAULT)); - if (npppd_config_str_equali(_this, "arpd.enabled", "true", ARPD_DEFAULT) == 1) - arp_sock_init(); -#endif if ((status = npppd_modules_reload(_this)) != 0) return status; @@ -433,9 +424,6 @@ npppd_stop(npppd *_this) #ifdef USE_NPPPD_PPPOE pppoed_stop(&_this->pppoed); #endif -#ifdef USE_NPPPD_ARP - arp_sock_fini(); -#endif close(_this->ctl_sock.cs_fd); control_cleanup(&_this->ctl_sock); @@ -1936,13 +1924,6 @@ npppd_reload0(npppd *_this) int i; npppd_reload_config(_this); -#ifdef USE_NPPPD_ARP - arp_set_strictintfnetwork(npppd_config_str_equali(_this, "arpd.strictintfnetwork", "true", ARPD_STRICTINTFNETWORK_DEFAULT)); - if (npppd_config_str_equali(_this, "arpd.enabled", "true", ARPD_DEFAULT) == 1) - arp_sock_init(); - else - arp_sock_fini(); -#endif npppd_modules_reload(_this); npppd_ifaces_load_config(_this); npppd_update_pool_reference(_this);