Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6d2d445 authored by Hans Schillstrom's avatar Hans Schillstrom Committed by Simon Horman
Browse files

IPVS: netns, final patch enabling network name space.



all init_net removed, (except for some alloc related
that needs to be there)

Signed-off-by: default avatarHans Schillstrom <hans.schillstrom@ericsson.com>
Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
parent 4a98480b
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -582,9 +582,6 @@ static int __net_init __ip_vs_app_init(struct net *net)
{
	struct netns_ipvs *ipvs = net_ipvs(net);

	if (!net_eq(net, &init_net))	/* netns not enabled yet */
		return -EPERM;

	INIT_LIST_HEAD(&ipvs->app_list);
	__mutex_init(&ipvs->app_mutex, "ipvs->app_mutex", &ipvs->app_key);
	proc_net_fops_create(net, "ip_vs_app", 0, &ip_vs_app_fops);
+0 −5
Original line number Diff line number Diff line
@@ -1234,8 +1234,6 @@ int __net_init __ip_vs_conn_init(struct net *net)
{
	struct netns_ipvs *ipvs = net_ipvs(net);

	if (!net_eq(net, &init_net))	/* netns not enabled yet */
		return -EPERM;
	atomic_set(&ipvs->conn_count, 0);

	proc_net_fops_create(net, "ip_vs_conn", 0, &ip_vs_conn_fops);
@@ -1245,9 +1243,6 @@ int __net_init __ip_vs_conn_init(struct net *net)

static void __net_exit __ip_vs_conn_cleanup(struct net *net)
{
	if (!net_eq(net, &init_net))	/* netns not enabled yet */
		return;

	/* flush all the connection entries first */
	ip_vs_conn_flush(net);
	proc_net_remove(net, "ip_vs_conn");
+0 −4
Original line number Diff line number Diff line
@@ -1877,10 +1877,6 @@ static int __net_init __ip_vs_init(struct net *net)
{
	struct netns_ipvs *ipvs;

	if (!net_eq(net, &init_net)) {
		pr_err("The final patch for enabling netns is missing\n");
		return -EPERM;
	}
	ipvs = net_generic(net, ip_vs_net_id);
	if (ipvs == NULL) {
		pr_err("%s(): no memory.\n", __func__);
+1 −6
Original line number Diff line number Diff line
@@ -2617,6 +2617,7 @@ static struct genl_family ip_vs_genl_family = {
	.name		= IPVS_GENL_NAME,
	.version	= IPVS_GENL_VERSION,
	.maxattr	= IPVS_CMD_MAX,
	.netnsok        = true,         /* Make ipvsadm to work on netns */
};

/* Policy used for first-level command attributes */
@@ -3483,9 +3484,6 @@ int __net_init __ip_vs_control_init(struct net *net)
	struct netns_ipvs *ipvs = net_ipvs(net);
	struct ctl_table *tbl;

	if (!net_eq(net, &init_net))	/* netns not enabled yet */
		return -EPERM;

	atomic_set(&ipvs->dropentry, 0);
	spin_lock_init(&ipvs->dropentry_lock);
	spin_lock_init(&ipvs->droppacket_lock);
@@ -3578,9 +3576,6 @@ static void __net_exit __ip_vs_control_cleanup(struct net *net)
{
	struct netns_ipvs *ipvs = net_ipvs(net);

	if (!net_eq(net, &init_net))	/* netns not enabled yet */
		return;

	ip_vs_trash_cleanup(net);
	ip_vs_kill_estimator(net, ipvs->tot_stats);
	cancel_delayed_work_sync(&ipvs->defense_work);
+0 −3
Original line number Diff line number Diff line
@@ -203,9 +203,6 @@ static int __net_init __ip_vs_estimator_init(struct net *net)
{
	struct netns_ipvs *ipvs = net_ipvs(net);

	if (!net_eq(net, &init_net))	/* netns not enabled yet */
		return -EPERM;

	INIT_LIST_HEAD(&ipvs->est_list);
	spin_lock_init(&ipvs->est_lock);
	setup_timer(&ipvs->est_timer, estimation_timer, (unsigned long)net);
Loading