Commit 4470bbc7 authored by Patrick McHardy's avatar Patrick McHardy Committed by David S. Miller
Browse files

[NETFILTER]: x_tables: make use of mass registation helpers

parent 52d9c42e
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -257,9 +257,7 @@ static struct ip6t_target ip6t_reject_reg = {

static int __init ip6t_reject_init(void)
{
	if (ip6t_register_target(&ip6t_reject_reg))
		return -EINVAL;
	return 0;
	return ip6t_register_target(&ip6t_reject_reg);
}

static void __exit ip6t_reject_fini(void)
+27 −33
Original line number Diff line number Diff line
@@ -40,47 +40,41 @@ target(struct sk_buff **pskb,
	return XT_CONTINUE;
}

static struct xt_target classify_reg = { 
static struct xt_target xt_classify_target[] = {
	{
		.family		= AF_INET,
		.name 		= "CLASSIFY",
		.target 	= target,
		.targetsize	= sizeof(struct xt_classify_target_info),
		.table		= "mangle",
	.hooks		= (1 << NF_IP_LOCAL_OUT) | (1 << NF_IP_FORWARD) |
		.hooks		= (1 << NF_IP_LOCAL_OUT) |
				  (1 << NF_IP_FORWARD) |
			          (1 << NF_IP_POST_ROUTING),
	.family		= AF_INET,
		.me 		= THIS_MODULE,
};
static struct xt_target classify6_reg = { 
	},
	{
		.name 		= "CLASSIFY",
		.family		= AF_INET6,
		.target 	= target,
		.targetsize	= sizeof(struct xt_classify_target_info),
		.table		= "mangle",
	.hooks		= (1 << NF_IP_LOCAL_OUT) | (1 << NF_IP_FORWARD) |
		.hooks		= (1 << NF_IP_LOCAL_OUT) |
				  (1 << NF_IP_FORWARD) |
			          (1 << NF_IP_POST_ROUTING),
	.family		= AF_INET6,
		.me 		= THIS_MODULE,
	},
};


static int __init xt_classify_init(void)
{
	int ret;

	ret = xt_register_target(&classify_reg);
	if (ret)
		return ret;

	ret = xt_register_target(&classify6_reg);
	if (ret)
		xt_unregister_target(&classify_reg);

	return ret;
	return xt_register_targets(xt_classify_target,
				   ARRAY_SIZE(xt_classify_target));
}

static void __exit xt_classify_fini(void)
{
	xt_unregister_target(&classify_reg);
	xt_unregister_target(&classify6_reg);
	xt_unregister_targets(xt_classify_target,
			      ARRAY_SIZE(xt_classify_target));
}

module_init(xt_classify_init);
+21 −30
Original line number Diff line number Diff line
@@ -110,45 +110,36 @@ checkentry(const char *tablename,
	return 1;
}

static struct xt_target connmark_reg = {
static struct xt_target xt_connmark_target[] = {
	{
		.name		= "CONNMARK",
		.family		= AF_INET,
		.checkentry	= checkentry,
		.target		= target,
		.targetsize	= sizeof(struct xt_connmark_target_info),
	.checkentry	= checkentry,
	.family		= AF_INET,
		.me		= THIS_MODULE
};

static struct xt_target connmark6_reg = {
	},
	{
		.name		= "CONNMARK",
		.family		= AF_INET6,
		.checkentry	= checkentry,
		.target		= target,
		.targetsize	= sizeof(struct xt_connmark_target_info),
	.checkentry	= checkentry,
	.family		= AF_INET6,
		.me		= THIS_MODULE
	},
};

static int __init xt_connmark_init(void)
{
	int ret;

	need_conntrack();

	ret = xt_register_target(&connmark_reg);
	if (ret)
		return ret;

	ret = xt_register_target(&connmark6_reg);
	if (ret)
		xt_unregister_target(&connmark_reg);

	return ret;
	return xt_register_targets(xt_connmark_target,
				   ARRAY_SIZE(xt_connmark_target));
}

static void __exit xt_connmark_fini(void)
{
	xt_unregister_target(&connmark_reg);
	xt_unregister_target(&connmark6_reg);
	xt_unregister_targets(xt_connmark_target,
			      ARRAY_SIZE(xt_connmark_target));
}

module_init(xt_connmark_init);
+23 −34
Original line number Diff line number Diff line
@@ -106,49 +106,38 @@ static int checkentry(const char *tablename, const void *entry,
	return 1;
}

static struct xt_target ipt_connsecmark_reg = {
static struct xt_target xt_connsecmark_target[] = {
	{
		.name		= "CONNSECMARK",
		.family		= AF_INET,
		.checkentry	= checkentry,
		.target		= target,
		.targetsize	= sizeof(struct xt_connsecmark_target_info),
		.table		= "mangle",
	.checkentry	= checkentry,
		.me		= THIS_MODULE,
	.family		= AF_INET,
	.revision	= 0,
};

static struct xt_target ip6t_connsecmark_reg = {
	},
	{
		.name		= "CONNSECMARK",
		.family		= AF_INET6,
		.checkentry	= checkentry,
		.target		= target,
		.targetsize	= sizeof(struct xt_connsecmark_target_info),
		.table		= "mangle",
	.checkentry	= checkentry,
		.me		= THIS_MODULE,
	.family		= AF_INET6,
	.revision	= 0,
	},
};

static int __init xt_connsecmark_init(void)
{
	int err;

	need_conntrack();

	err = xt_register_target(&ipt_connsecmark_reg);
	if (err)
		return err;

	err = xt_register_target(&ip6t_connsecmark_reg);
	if (err)
		xt_unregister_target(&ipt_connsecmark_reg);

	return err;
	return xt_register_targets(xt_connsecmark_targets,
				   ARRAY_SIZE(xt_connsecmark_targets));
}

static void __exit xt_connsecmark_fini(void)
{
	xt_unregister_target(&ip6t_connsecmark_reg);
	xt_unregister_target(&ipt_connsecmark_reg);
	xt_unregister_targets(xt_connsecmark_targets,
			      ARRAY_SIZE(xt_connsecmark_targets));
}

module_init(xt_connsecmark_init);
+21 −30
Original line number Diff line number Diff line
@@ -86,44 +86,35 @@ static int checkentry(const char *tablename,
	return 1;
}

static struct xt_target xt_dscp_reg = {
static struct xt_target xt_dscp_target[] = {
	{
		.name		= "DSCP",
		.family		= AF_INET,
		.checkentry	= checkentry,
		.target		= target,
		.targetsize	= sizeof(struct xt_DSCP_info),
		.table		= "mangle",
	.checkentry	= checkentry,
	.family		= AF_INET,
		.me		= THIS_MODULE,
};

static struct xt_target xt_dscp6_reg = {
	},
	{
		.name		= "DSCP",
		.family		= AF_INET6,
		.checkentry	= checkentry,
		.target		= target6,
		.targetsize	= sizeof(struct xt_DSCP_info),
		.table		= "mangle",
	.checkentry	= checkentry,
	.family		= AF_INET6,
		.me		= THIS_MODULE,
	},
};

static int __init xt_dscp_target_init(void)
{
	int ret;
	ret = xt_register_target(&xt_dscp_reg);
	if (ret)
		return ret;

	ret = xt_register_target(&xt_dscp6_reg);
	if (ret)
		xt_unregister_target(&xt_dscp_reg);

	return ret;
	return xt_register_targets(xt_dscp_target, ARRAY_SIZE(xt_dscp_target));
}

static void __exit xt_dscp_target_fini(void)
{
	xt_unregister_target(&xt_dscp_reg);
	xt_unregister_target(&xt_dscp6_reg);
	xt_unregister_targets(xt_dscp_target, ARRAY_SIZE(xt_dscp_target));
}

module_init(xt_dscp_target_init);
Loading