|
@@ -1449,9 +1449,8 @@ static int ip_vs_del_service(struct ip_vs_service *svc)
|
|
|
/*
|
|
|
* Flush all the virtual services
|
|
|
*/
|
|
|
-static int ip_vs_flush(struct net *net, bool cleanup)
|
|
|
+static int ip_vs_flush(struct netns_ipvs *ipvs, bool cleanup)
|
|
|
{
|
|
|
- struct netns_ipvs *ipvs = net_ipvs(net);
|
|
|
int idx;
|
|
|
struct ip_vs_service *svc;
|
|
|
struct hlist_node *n;
|
|
@@ -1487,10 +1486,11 @@ static int ip_vs_flush(struct net *net, bool cleanup)
|
|
|
*/
|
|
|
void ip_vs_service_net_cleanup(struct net *net)
|
|
|
{
|
|
|
+ struct netns_ipvs *ipvs = net_ipvs(net);
|
|
|
EnterFunction(2);
|
|
|
/* Check for "full" addressed entries */
|
|
|
mutex_lock(&__ip_vs_mutex);
|
|
|
- ip_vs_flush(net, true);
|
|
|
+ ip_vs_flush(ipvs, true);
|
|
|
mutex_unlock(&__ip_vs_mutex);
|
|
|
LeaveFunction(2);
|
|
|
}
|
|
@@ -2366,7 +2366,7 @@ do_ip_vs_set_ctl(struct sock *sk, int cmd, void __user *user, unsigned int len)
|
|
|
mutex_lock(&__ip_vs_mutex);
|
|
|
if (cmd == IP_VS_SO_SET_FLUSH) {
|
|
|
/* Flush the virtual service */
|
|
|
- ret = ip_vs_flush(net, false);
|
|
|
+ ret = ip_vs_flush(ipvs, false);
|
|
|
goto out_unlock;
|
|
|
} else if (cmd == IP_VS_SO_SET_TIMEOUT) {
|
|
|
/* Set timeout values for (tcp tcpfin udp) */
|
|
@@ -3524,7 +3524,7 @@ static int ip_vs_genl_set_cmd(struct sk_buff *skb, struct genl_info *info)
|
|
|
mutex_lock(&__ip_vs_mutex);
|
|
|
|
|
|
if (cmd == IPVS_CMD_FLUSH) {
|
|
|
- ret = ip_vs_flush(net, false);
|
|
|
+ ret = ip_vs_flush(ipvs, false);
|
|
|
goto out;
|
|
|
} else if (cmd == IPVS_CMD_SET_CONFIG) {
|
|
|
ret = ip_vs_genl_set_config(net, info->attrs);
|