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

Commit ab4f21e6 authored by Jan Engelhardt's avatar Jan Engelhardt Committed by Patrick McHardy
Browse files

netfilter: xtables: use NFPROTO_UNSPEC in more extensions



Lots of extensions are completely family-independent, so squash some code.

Signed-off-by: default avatarJan Engelhardt <jengelh@medozas.de>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
parent 92f3b2b1
Loading
Loading
Loading
Loading
+2 −32
Original line number Diff line number Diff line
@@ -149,37 +149,7 @@ static int mark_tg_compat_to_user_v1(void __user *dst, void *src)
static struct xt_target mark_tg_reg[] __read_mostly = {
	{
		.name		= "MARK",
		.family		= NFPROTO_IPV4,
		.revision	= 0,
		.checkentry	= mark_tg_check_v0,
		.target		= mark_tg_v0,
		.targetsize	= sizeof(struct xt_mark_target_info),
#ifdef CONFIG_COMPAT
		.compatsize	= sizeof(struct compat_xt_mark_target_info),
		.compat_from_user = mark_tg_compat_from_user_v0,
		.compat_to_user	= mark_tg_compat_to_user_v0,
#endif
		.table		= "mangle",
		.me		= THIS_MODULE,
	},
	{
		.name		= "MARK",
		.family		= NFPROTO_IPV4,
		.revision	= 1,
		.checkentry	= mark_tg_check_v1,
		.target		= mark_tg_v1,
		.targetsize	= sizeof(struct xt_mark_target_info_v1),
#ifdef CONFIG_COMPAT
		.compatsize	= sizeof(struct compat_xt_mark_target_info_v1),
		.compat_from_user = mark_tg_compat_from_user_v1,
		.compat_to_user	= mark_tg_compat_to_user_v1,
#endif
		.table		= "mangle",
		.me		= THIS_MODULE,
	},
	{
		.name		= "MARK",
		.family		= NFPROTO_IPV6,
		.family		= NFPROTO_UNSPEC,
		.revision	= 0,
		.checkentry	= mark_tg_check_v0,
		.target		= mark_tg_v0,
@@ -194,7 +164,7 @@ static struct xt_target mark_tg_reg[] __read_mostly = {
	},
	{
		.name		= "MARK",
		.family		= NFPROTO_IPV6,
		.family		= NFPROTO_UNSPEC,
		.revision	= 1,
		.checkentry	= mark_tg_check_v1,
		.target		= mark_tg_v1,
+9 −17
Original line number Diff line number Diff line
@@ -30,31 +30,23 @@ notrack_tg(struct sk_buff *skb, const struct xt_target_param *par)
	return XT_CONTINUE;
}

static struct xt_target notrack_tg_reg[] __read_mostly = {
	{
		.name		= "NOTRACK",
		.family		= NFPROTO_IPV4,
		.target		= notrack_tg,
		.table		= "raw",
		.me		= THIS_MODULE,
	},
	{
static struct xt_target notrack_tg_reg __read_mostly = {
	.name     = "NOTRACK",
		.family		= NFPROTO_IPV6,
	.revision = 0,
	.family   = NFPROTO_UNSPEC,
	.target   = notrack_tg,
	.table    = "raw",
	.me       = THIS_MODULE,
	},
};

static int __init notrack_tg_init(void)
{
	return xt_register_targets(notrack_tg_reg, ARRAY_SIZE(notrack_tg_reg));
	return xt_register_target(&notrack_tg_reg);
}

static void __exit notrack_tg_exit(void)
{
	xt_unregister_targets(notrack_tg_reg, ARRAY_SIZE(notrack_tg_reg));
	xt_unregister_target(&notrack_tg_reg);
}

module_init(notrack_tg_init);
+9 −17
Original line number Diff line number Diff line
@@ -22,31 +22,23 @@ comment_mt(const struct sk_buff *skb, const struct xt_match_param *par)
	return true;
}

static struct xt_match comment_mt_reg[] __read_mostly = {
	{
		.name		= "comment",
		.family		= NFPROTO_IPV4,
		.match		= comment_mt,
		.matchsize	= sizeof(struct xt_comment_info),
		.me		= THIS_MODULE
	},
	{
static struct xt_match comment_mt_reg __read_mostly = {
	.name      = "comment",
		.family		= NFPROTO_IPV6,
	.revision  = 0,
	.family    = NFPROTO_UNSPEC,
	.match     = comment_mt,
	.matchsize = sizeof(struct xt_comment_info),
		.me		= THIS_MODULE
	},
	.me        = THIS_MODULE,
};

static int __init comment_mt_init(void)
{
	return xt_register_matches(comment_mt_reg, ARRAY_SIZE(comment_mt_reg));
	return xt_register_match(&comment_mt_reg);
}

static void __exit comment_mt_exit(void)
{
	xt_unregister_matches(comment_mt_reg, ARRAY_SIZE(comment_mt_reg));
	xt_unregister_match(&comment_mt_reg);
}

module_init(comment_mt_init);
+11 −23
Original line number Diff line number Diff line
@@ -36,37 +36,25 @@ static bool mac_mt(const struct sk_buff *skb, const struct xt_match_param *par)
		^ info->invert);
}

static struct xt_match mac_mt_reg[] __read_mostly = {
	{
		.name		= "mac",
		.family		= NFPROTO_IPV4,
		.match		= mac_mt,
		.matchsize	= sizeof(struct xt_mac_info),
		.hooks		= (1 << NF_INET_PRE_ROUTING) |
				  (1 << NF_INET_LOCAL_IN) |
				  (1 << NF_INET_FORWARD),
		.me		= THIS_MODULE,
	},
	{
static struct xt_match mac_mt_reg __read_mostly = {
	.name      = "mac",
		.family		= NFPROTO_IPV6,
	.revision  = 0,
	.family    = NFPROTO_UNSPEC,
	.match     = mac_mt,
	.matchsize = sizeof(struct xt_mac_info),
		.hooks		= (1 << NF_INET_PRE_ROUTING) |
				  (1 << NF_INET_LOCAL_IN) |
	.hooks     = (1 << NF_INET_PRE_ROUTING) | (1 << NF_INET_LOCAL_IN) |
	             (1 << NF_INET_FORWARD),
	.me        = THIS_MODULE,
	},
};

static int __init mac_mt_init(void)
{
	return xt_register_matches(mac_mt_reg, ARRAY_SIZE(mac_mt_reg));
	return xt_register_match(&mac_mt_reg);
}

static void __exit mac_mt_exit(void)
{
	xt_unregister_matches(mac_mt_reg, ARRAY_SIZE(mac_mt_reg));
	xt_unregister_match(&mac_mt_reg);
}

module_init(mac_mt_init);
+1 −11
Original line number Diff line number Diff line
@@ -160,17 +160,7 @@ static struct xt_match owner_mt_reg[] __read_mostly = {
	{
		.name       = "owner",
		.revision   = 1,
		.family     = NFPROTO_IPV4,
		.match      = owner_mt,
		.matchsize  = sizeof(struct xt_owner_match_info),
		.hooks      = (1 << NF_INET_LOCAL_OUT) |
		              (1 << NF_INET_POST_ROUTING),
		.me         = THIS_MODULE,
	},
	{
		.name       = "owner",
		.revision   = 1,
		.family     = NFPROTO_IPV6,
		.family     = NFPROTO_UNSPEC,
		.match      = owner_mt,
		.matchsize  = sizeof(struct xt_owner_match_info),
		.hooks      = (1 << NF_INET_LOCAL_OUT) |
Loading