|
@@ -2280,7 +2280,6 @@ static void __net_exit __ip_vs_cleanup(struct net *net)
|
|
|
{
|
|
{
|
|
|
struct netns_ipvs *ipvs = net_ipvs(net);
|
|
struct netns_ipvs *ipvs = net_ipvs(net);
|
|
|
|
|
|
|
|
- nf_unregister_net_hooks(net, ip_vs_ops, ARRAY_SIZE(ip_vs_ops));
|
|
|
|
|
ip_vs_service_net_cleanup(ipvs); /* ip_vs_flush() with locks */
|
|
ip_vs_service_net_cleanup(ipvs); /* ip_vs_flush() with locks */
|
|
|
ip_vs_conn_net_cleanup(ipvs);
|
|
ip_vs_conn_net_cleanup(ipvs);
|
|
|
ip_vs_app_net_cleanup(ipvs);
|
|
ip_vs_app_net_cleanup(ipvs);
|
|
@@ -2295,6 +2294,7 @@ static void __net_exit __ip_vs_dev_cleanup(struct net *net)
|
|
|
{
|
|
{
|
|
|
struct netns_ipvs *ipvs = net_ipvs(net);
|
|
struct netns_ipvs *ipvs = net_ipvs(net);
|
|
|
EnterFunction(2);
|
|
EnterFunction(2);
|
|
|
|
|
+ nf_unregister_net_hooks(net, ip_vs_ops, ARRAY_SIZE(ip_vs_ops));
|
|
|
ipvs->enable = 0; /* Disable packet reception */
|
|
ipvs->enable = 0; /* Disable packet reception */
|
|
|
smp_wmb();
|
|
smp_wmb();
|
|
|
ip_vs_sync_net_cleanup(ipvs);
|
|
ip_vs_sync_net_cleanup(ipvs);
|