mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
netfilter: ipset: Add skbinfo extension kernel support for the bitmap set types.
Add skbinfo extension kernel support for the bitmap set types. Inroduce the new revisions of bitmap_ip, bitmap_ipmac and bitmap_port set types. Signed-off-by: Anton Danilov <littlesmilingcloud@gmail.com> Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
This commit is contained in:
parent
0e9871e3f7
commit
39d1ecf1ad
@ -128,6 +128,8 @@ mtype_test(struct ip_set *set, void *value, const struct ip_set_ext *ext,
|
||||
return 0;
|
||||
if (SET_WITH_COUNTER(set))
|
||||
ip_set_update_counter(ext_counter(x, set), ext, mext, flags);
|
||||
if (SET_WITH_SKBINFO(set))
|
||||
ip_set_get_skbinfo(ext_skbinfo(x, set), ext, mext, flags);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -161,6 +163,8 @@ mtype_add(struct ip_set *set, void *value, const struct ip_set_ext *ext,
|
||||
ip_set_init_counter(ext_counter(x, set), ext);
|
||||
if (SET_WITH_COMMENT(set))
|
||||
ip_set_init_comment(ext_comment(x, set), ext);
|
||||
if (SET_WITH_SKBINFO(set))
|
||||
ip_set_init_skbinfo(ext_skbinfo(x, set), ext);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,8 @@
|
||||
|
||||
#define IPSET_TYPE_REV_MIN 0
|
||||
/* 1 Counter support added */
|
||||
#define IPSET_TYPE_REV_MAX 2 /* Comment support added */
|
||||
/* 2 Comment support added */
|
||||
#define IPSET_TYPE_REV_MAX 3 /* skbinfo support added */
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>");
|
||||
@ -139,7 +140,10 @@ bitmap_ip_uadt(struct ip_set *set, struct nlattr *tb[],
|
||||
if (unlikely(!tb[IPSET_ATTR_IP] ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_PACKETS) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES)))
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBMARK) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBPRIO) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBQUEUE)))
|
||||
return -IPSET_ERR_PROTOCOL;
|
||||
|
||||
if (tb[IPSET_ATTR_LINENO])
|
||||
@ -357,6 +361,9 @@ static struct ip_set_type bitmap_ip_type __read_mostly = {
|
||||
[IPSET_ATTR_BYTES] = { .type = NLA_U64 },
|
||||
[IPSET_ATTR_PACKETS] = { .type = NLA_U64 },
|
||||
[IPSET_ATTR_COMMENT] = { .type = NLA_NUL_STRING },
|
||||
[IPSET_ATTR_SKBMARK] = { .type = NLA_U64 },
|
||||
[IPSET_ATTR_SKBPRIO] = { .type = NLA_U32 },
|
||||
[IPSET_ATTR_SKBQUEUE] = { .type = NLA_U16 },
|
||||
},
|
||||
.me = THIS_MODULE,
|
||||
};
|
||||
|
@ -27,7 +27,8 @@
|
||||
|
||||
#define IPSET_TYPE_REV_MIN 0
|
||||
/* 1 Counter support added */
|
||||
#define IPSET_TYPE_REV_MAX 2 /* Comment support added */
|
||||
/* 2 Comment support added */
|
||||
#define IPSET_TYPE_REV_MAX 3 /* skbinfo support added */
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>");
|
||||
@ -240,7 +241,10 @@ bitmap_ipmac_uadt(struct ip_set *set, struct nlattr *tb[],
|
||||
if (unlikely(!tb[IPSET_ATTR_IP] ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_PACKETS) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES)))
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBMARK) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBPRIO) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBQUEUE)))
|
||||
return -IPSET_ERR_PROTOCOL;
|
||||
|
||||
if (tb[IPSET_ATTR_LINENO])
|
||||
@ -394,6 +398,9 @@ static struct ip_set_type bitmap_ipmac_type = {
|
||||
[IPSET_ATTR_BYTES] = { .type = NLA_U64 },
|
||||
[IPSET_ATTR_PACKETS] = { .type = NLA_U64 },
|
||||
[IPSET_ATTR_COMMENT] = { .type = NLA_NUL_STRING },
|
||||
[IPSET_ATTR_SKBMARK] = { .type = NLA_U64 },
|
||||
[IPSET_ATTR_SKBPRIO] = { .type = NLA_U32 },
|
||||
[IPSET_ATTR_SKBQUEUE] = { .type = NLA_U16 },
|
||||
},
|
||||
.me = THIS_MODULE,
|
||||
};
|
||||
|
@ -22,7 +22,8 @@
|
||||
|
||||
#define IPSET_TYPE_REV_MIN 0
|
||||
/* 1 Counter support added */
|
||||
#define IPSET_TYPE_REV_MAX 2 /* Comment support added */
|
||||
/* 2 Comment support added */
|
||||
#define IPSET_TYPE_REV_MAX 3 /* skbinfo support added */
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>");
|
||||
@ -139,7 +140,10 @@ bitmap_port_uadt(struct ip_set *set, struct nlattr *tb[],
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_PACKETS) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES)))
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBMARK) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBPRIO) ||
|
||||
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBQUEUE)))
|
||||
return -IPSET_ERR_PROTOCOL;
|
||||
|
||||
if (tb[IPSET_ATTR_LINENO])
|
||||
@ -291,6 +295,9 @@ static struct ip_set_type bitmap_port_type = {
|
||||
[IPSET_ATTR_BYTES] = { .type = NLA_U64 },
|
||||
[IPSET_ATTR_PACKETS] = { .type = NLA_U64 },
|
||||
[IPSET_ATTR_COMMENT] = { .type = NLA_NUL_STRING },
|
||||
[IPSET_ATTR_SKBMARK] = { .type = NLA_U64 },
|
||||
[IPSET_ATTR_SKBPRIO] = { .type = NLA_U32 },
|
||||
[IPSET_ATTR_SKBQUEUE] = { .type = NLA_U16 },
|
||||
},
|
||||
.me = THIS_MODULE,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user