Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/if_ether.c
Show First 20 Lines • Show All 1,500 Lines • ▼ Show 20 Lines | iflladdr_tag = EVENTHANDLER_REGISTER(iflladdr_event, | ||||
arp_iflladdr, NULL, EVENTHANDLER_PRI_ANY); | arp_iflladdr, NULL, EVENTHANDLER_PRI_ANY); | ||||
} | } | ||||
#ifdef VIMAGE | #ifdef VIMAGE | ||||
else | else | ||||
netisr_register_vnet(&arp_nh); | netisr_register_vnet(&arp_nh); | ||||
#endif | #endif | ||||
} | } | ||||
VNET_SYSINIT(vnet_arp_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_SECOND, | VNET_SYSINIT(vnet_arp_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_SECOND, | ||||
vnet_arp_init, 0); | vnet_arp_init); | ||||
#ifdef VIMAGE | #ifdef VIMAGE | ||||
/* | /* | ||||
* We have to unregister ARP along with IP otherwise we risk doing INADDR_HASH | * We have to unregister ARP along with IP otherwise we risk doing INADDR_HASH | ||||
* lookups after destroying the hash. Ideally this would go on SI_ORDER_3.5. | * lookups after destroying the hash. Ideally this would go on SI_ORDER_3.5. | ||||
*/ | */ | ||||
static void | static void | ||||
vnet_arp_destroy(__unused void *arg) | vnet_arp_destroy(__unused void *arg) | ||||
{ | { | ||||
netisr_unregister_vnet(&arp_nh); | netisr_unregister_vnet(&arp_nh); | ||||
} | } | ||||
VNET_SYSUNINIT(vnet_arp_uninit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, | VNET_SYSUNINIT(vnet_arp_uninit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, | ||||
vnet_arp_destroy, NULL); | vnet_arp_destroy, NULL); | ||||
#endif | #endif |