Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/ip_input.c
Show First 20 Lines • Show All 373 Lines • ▼ Show 20 Lines | #ifdef RSS | ||||
netisr_register(&ip_direct_nh); | netisr_register(&ip_direct_nh); | ||||
#endif | #endif | ||||
} | } | ||||
#ifdef VIMAGE | #ifdef VIMAGE | ||||
static void | static void | ||||
ip_destroy(void *unused __unused) | ip_destroy(void *unused __unused) | ||||
{ | { | ||||
struct ifnet *ifp; | |||||
int error; | int error; | ||||
#ifdef RSS | #ifdef RSS | ||||
netisr_unregister_vnet(&ip_direct_nh); | netisr_unregister_vnet(&ip_direct_nh); | ||||
#endif | #endif | ||||
netisr_unregister_vnet(&ip_nh); | netisr_unregister_vnet(&ip_nh); | ||||
pfil_head_unregister(V_inet_pfil_head); | pfil_head_unregister(V_inet_pfil_head); | ||||
Show All 9 Lines | printf("%s: WARNING: unable to deregister output helper hook " | ||||
"type HHOOK_TYPE_IPSEC_OUT, id HHOOK_IPSEC_INET: " | "type HHOOK_TYPE_IPSEC_OUT, id HHOOK_IPSEC_INET: " | ||||
"error %d returned\n", __func__, error); | "error %d returned\n", __func__, error); | ||||
} | } | ||||
/* Remove the IPv4 addresses from all interfaces. */ | /* Remove the IPv4 addresses from all interfaces. */ | ||||
in_ifscrub_all(); | in_ifscrub_all(); | ||||
/* Make sure the IPv4 routes are gone as well. */ | /* Make sure the IPv4 routes are gone as well. */ | ||||
IFNET_RLOCK(); | rib_flush_routes_family(AF_INET); | ||||
CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) | |||||
rt_flushifroutes_af(ifp, AF_INET); | |||||
IFNET_RUNLOCK(); | |||||
/* Destroy IP reassembly queue. */ | /* Destroy IP reassembly queue. */ | ||||
ipreass_destroy(); | ipreass_destroy(); | ||||
/* Cleanup in_ifaddr hash table; should be empty. */ | /* Cleanup in_ifaddr hash table; should be empty. */ | ||||
hashdestroy(V_in_ifaddrhashtbl, M_IFADDR, V_in_ifaddrhmask); | hashdestroy(V_in_ifaddrhashtbl, M_IFADDR, V_in_ifaddrhmask); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,009 Lines • Show Last 20 Lines |