diff options
author | Vytas Dauksa <vytas.dauksa@smoothwall.net> | 2013-12-17 14:01:44 +0000 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2014-01-23 07:12:51 +0100 |
commit | 2dfb973c0dcc6d22113e2370f461f1733035baaf (patch) | |
tree | f07f9273a8b91c7ec45e871baf914608b8972033 /lib/data.c | |
parent | 14ea38fca9e40df4f172a573c222591b5f3cc241 (diff) | |
download | ipset-2dfb973c0dcc6d22113e2370f461f1733035baaf.tar.gz |
add markmask for hash:ip,mark data type
Introduce packet mark mask for hash:ip,mark data type. This allows to
set mark bit filter for the ip set.
Change-Id: Id8dd9ca7e64477c4f7b022a1d9c1a5b187f1c96e
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Diffstat (limited to 'lib/data.c')
-rw-r--r-- | lib/data.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -54,6 +54,7 @@ struct ipset_data { uint8_t netmask; uint32_t hashsize; uint32_t maxelem; + uint32_t markmask; uint32_t gc; uint32_t size; /* Filled out by kernel */ @@ -287,6 +288,9 @@ ipset_data_set(struct ipset_data *data, enum ipset_opt opt, const void *value) case IPSET_OPT_MAXELEM: data->create.maxelem = *(const uint32_t *) value; break; + case IPSET_OPT_MARKMASK: + data->create.markmask = *(const uint32_t *) value; + break; case IPSET_OPT_NETMASK: data->create.netmask = *(const uint8_t *) value; break; @@ -467,6 +471,8 @@ ipset_data_get(const struct ipset_data *data, enum ipset_opt opt) return &data->create.hashsize; case IPSET_OPT_MAXELEM: return &data->create.maxelem; + case IPSET_OPT_MARKMASK: + return &data->create.markmask; case IPSET_OPT_NETMASK: return &data->create.netmask; case IPSET_OPT_PROBES: @@ -561,6 +567,7 @@ ipset_data_sizeof(enum ipset_opt opt, uint8_t family) case IPSET_OPT_GC: case IPSET_OPT_HASHSIZE: case IPSET_OPT_MAXELEM: + case IPSET_OPT_MARKMASK: case IPSET_OPT_SIZE: case IPSET_OPT_ELEMENTS: case IPSET_OPT_REFERENCES: |