void __exit sit_cleanup(void) { inet_del_protocol(&sit_protocol, IPPROTO_IPV6); rtnl_lock(); sit_destroy_tunnels(); unregister_netdevice(ipip6_fb_tunnel_dev); rtnl_unlock(); }
static void __exit sit_cleanup(void) { xfrm4_tunnel_deregister(&sit_handler, AF_INET6); rtnl_lock(); sit_destroy_tunnels(); unregister_netdevice(ipip6_fb_tunnel_dev); rtnl_unlock(); }
static void sit_exit_net(struct net *net) { struct sit_net *sitn; sitn = net_generic(net, sit_net_id); rtnl_lock(); sit_destroy_tunnels(sitn); unregister_netdevice(sitn->fb_tunnel_dev); rtnl_unlock(); kfree(sitn); }
static void sit_exit_net(struct net *net) { struct sit_net *sitn; sitn = net_generic(net, sit_net_id); if (sitn == NULL) /* no VE_FEATURE_SIT */ return; rtnl_lock(); sit_destroy_tunnels(sitn); unregister_netdevice(sitn->fb_tunnel_dev); rtnl_unlock(); kfree(sitn); }