]> git.ipfire.org Git - thirdparty/libnftnl.git/commitdiff
obj: Repurpose struct obj_ops::max_attr field
authorPhil Sutter <phil@nwl.cc>
Thu, 7 Mar 2024 12:15:22 +0000 (13:15 +0100)
committerPhil Sutter <phil@nwl.cc>
Wed, 10 Apr 2024 23:27:07 +0000 (01:27 +0200)
Just like with struct expr_ops::max_attr, make it hold the maximum
object attribute (NFTNL_OBJ_*) value supported by this object type.

Signed-off-by: Phil Sutter <phil@nwl.cc>
include/libnftnl/object.h
include/obj.h
src/obj/counter.c
src/obj/ct_expect.c
src/obj/ct_helper.c
src/obj/ct_timeout.c
src/obj/limit.c
src/obj/quota.c
src/obj/secmark.c
src/obj/synproxy.c
src/obj/tunnel.c

index e235fdf3b4d453fcd24fdd8424ddad79f57bd70e..9930355bb8f0dc107ad4d79c53da5ce7edf14412 100644 (file)
@@ -28,18 +28,21 @@ enum {
 enum {
        NFTNL_OBJ_CTR_PKTS      = NFTNL_OBJ_BASE,
        NFTNL_OBJ_CTR_BYTES,
+       __NFTNL_OBJ_CTR_MAX,
 };
 
 enum {
        NFTNL_OBJ_QUOTA_BYTES   = NFTNL_OBJ_BASE,
        NFTNL_OBJ_QUOTA_CONSUMED,
        NFTNL_OBJ_QUOTA_FLAGS,
+       __NFTNL_OBJ_QUOTA_MAX,
 };
 
 enum {
        NFTNL_OBJ_CT_HELPER_NAME = NFTNL_OBJ_BASE,
        NFTNL_OBJ_CT_HELPER_L3PROTO,
        NFTNL_OBJ_CT_HELPER_L4PROTO,
+       __NFTNL_OBJ_CT_HELPER_MAX,
 };
 
 enum nftnl_cttimeout_array_tcp {
@@ -69,6 +72,7 @@ enum {
        NFTNL_OBJ_CT_TIMEOUT_L3PROTO = NFTNL_OBJ_BASE,
        NFTNL_OBJ_CT_TIMEOUT_L4PROTO,
        NFTNL_OBJ_CT_TIMEOUT_ARRAY,
+       __NFTNL_OBJ_CT_TIMEOUT_MAX,
 };
 
 enum {
@@ -77,6 +81,7 @@ enum {
        NFTNL_OBJ_CT_EXPECT_DPORT,
        NFTNL_OBJ_CT_EXPECT_TIMEOUT,
        NFTNL_OBJ_CT_EXPECT_SIZE,
+       __NFTNL_OBJ_CT_EXPECT_MAX,
 };
 
 enum {
@@ -85,12 +90,14 @@ enum {
        NFTNL_OBJ_LIMIT_BURST,
        NFTNL_OBJ_LIMIT_TYPE,
        NFTNL_OBJ_LIMIT_FLAGS,
+       __NFTNL_OBJ_LIMIT_MAX,
 };
 
 enum {
        NFTNL_OBJ_SYNPROXY_MSS  = NFTNL_OBJ_BASE,
        NFTNL_OBJ_SYNPROXY_WSCALE,
        NFTNL_OBJ_SYNPROXY_FLAGS,
+       __NFTNL_OBJ_SYNPROXY_MAX,
 };
 
 enum {
@@ -110,10 +117,12 @@ enum {
        NFTNL_OBJ_TUNNEL_ERSPAN_V1_INDEX,
        NFTNL_OBJ_TUNNEL_ERSPAN_V2_HWID,
        NFTNL_OBJ_TUNNEL_ERSPAN_V2_DIR,
+       __NFTNL_OBJ_TUNNEL_MAX,
 };
 
 enum {
        NFTNL_OBJ_SECMARK_CTX   = NFTNL_OBJ_BASE,
+       __NFTNL_OBJ_SECMARK_MAX,
 };
 
 struct nftnl_obj;
index d848ac98979d9e73b2856e54935b941dfa2737fc..6d2af8d5527d3795998672becd6ec6ac84ae0784 100644 (file)
@@ -104,7 +104,7 @@ struct obj_ops {
        const char *name;
        uint32_t type;
        size_t  alloc_len;
-       int     max_attr;
+       int     nftnl_max_attr;
        int     (*set)(struct nftnl_obj *e, uint16_t type, const void *data, uint32_t data_len);
        const void *(*get)(const struct nftnl_obj *e, uint16_t type, uint32_t *data_len);
        int     (*parse)(struct nftnl_obj *e, struct nlattr *attr);
index ebf3e74f96737e96dbb45228498b42b71e49b54c..76a1b20f19c309e62bc6e356d04d98ed8339b4c8 100644 (file)
@@ -122,7 +122,7 @@ struct obj_ops obj_ops_counter = {
        .name           = "counter",
        .type           = NFT_OBJECT_COUNTER,
        .alloc_len      = sizeof(struct nftnl_obj_counter),
-       .max_attr       = NFTA_COUNTER_MAX,
+       .nftnl_max_attr = __NFTNL_OBJ_CTR_MAX - 1,
        .set            = nftnl_obj_counter_set,
        .get            = nftnl_obj_counter_get,
        .parse          = nftnl_obj_counter_parse,
index 810ba9af98ab8f9b2304ee84546c7724ff24bf82..7e9c5e1b9e48c9e600c4c35e600ce813589b5857 100644 (file)
@@ -191,7 +191,7 @@ struct obj_ops obj_ops_ct_expect = {
        .name           = "ct_expect",
        .type           = NFT_OBJECT_CT_EXPECT,
        .alloc_len      = sizeof(struct nftnl_obj_ct_expect),
-       .max_attr       = NFTA_CT_EXPECT_MAX,
+       .nftnl_max_attr = __NFTNL_OBJ_CT_EXPECT_MAX - 1,
        .set            = nftnl_obj_ct_expect_set,
        .get            = nftnl_obj_ct_expect_get,
        .parse          = nftnl_obj_ct_expect_parse,
index a31bd6facccf9e4de275329e58617b67b6eb1166..f8aa73408839c5a0896f5345af9e6f0c57330fe5 100644 (file)
@@ -145,7 +145,7 @@ struct obj_ops obj_ops_ct_helper = {
        .name           = "ct_helper",
        .type           = NFT_OBJECT_CT_HELPER,
        .alloc_len      = sizeof(struct nftnl_obj_ct_helper),
-       .max_attr       = NFTA_CT_HELPER_MAX,
+       .nftnl_max_attr = __NFTNL_OBJ_CT_HELPER_MAX - 1,
        .set            = nftnl_obj_ct_helper_set,
        .get            = nftnl_obj_ct_helper_get,
        .parse          = nftnl_obj_ct_helper_parse,
index fedf9e38b7ac1e7c167cdb1f602d572d8cbbbf85..ee86231f42965adbf485b6e7ed78247bcced341b 100644 (file)
@@ -314,7 +314,7 @@ struct obj_ops obj_ops_ct_timeout = {
        .name           = "ct_timeout",
        .type           = NFT_OBJECT_CT_TIMEOUT,
        .alloc_len      = sizeof(struct nftnl_obj_ct_timeout),
-       .max_attr       = NFTA_CT_TIMEOUT_MAX,
+       .nftnl_max_attr = __NFTNL_OBJ_CT_TIMEOUT_MAX - 1,
        .set            = nftnl_obj_ct_timeout_set,
        .get            = nftnl_obj_ct_timeout_get,
        .parse          = nftnl_obj_ct_timeout_parse,
index d7b1aed830d821fffc00f82fbbe133f7c0d613df..1c54bbca72fefe79878f8569ef6ab261c3563f11 100644 (file)
@@ -163,7 +163,7 @@ struct obj_ops obj_ops_limit = {
        .name           = "limit",
        .type           = NFT_OBJECT_LIMIT,
        .alloc_len      = sizeof(struct nftnl_obj_limit),
-       .max_attr       = NFTA_LIMIT_MAX,
+       .nftnl_max_attr = __NFTNL_OBJ_LIMIT_MAX - 1,
        .set            = nftnl_obj_limit_set,
        .get            = nftnl_obj_limit_get,
        .parse          = nftnl_obj_limit_parse,
index 6c7559a2ce82725a00de946bd7d76d677dffbd19..a39d552d923f27abd9b7b29d25b7beed1b6cc751 100644 (file)
@@ -139,7 +139,7 @@ struct obj_ops obj_ops_quota = {
        .name           = "quota",
        .type           = NFT_OBJECT_QUOTA,
        .alloc_len      = sizeof(struct nftnl_obj_quota),
-       .max_attr       = NFTA_QUOTA_MAX,
+       .nftnl_max_attr = __NFTNL_OBJ_QUOTA_MAX - 1,
        .set            = nftnl_obj_quota_set,
        .get            = nftnl_obj_quota_get,
        .parse          = nftnl_obj_quota_parse,
index e5c24b35a7eb608e465c19026756e349188cac1c..c78e35f2c284f769fe661279f1991375b5bc222c 100644 (file)
@@ -111,7 +111,7 @@ struct obj_ops obj_ops_secmark = {
        .name           = "secmark",
        .type           = NFT_OBJECT_SECMARK,
        .alloc_len      = sizeof(struct nftnl_obj_secmark),
-       .max_attr       = NFTA_SECMARK_MAX,
+       .nftnl_max_attr = __NFTNL_OBJ_SECMARK_MAX - 1,
        .set            = nftnl_obj_secmark_set,
        .get            = nftnl_obj_secmark_get,
        .parse          = nftnl_obj_secmark_parse,
index 4ef97ece9306d6e9903ae2807f97b126594b42db..d259a517bebbfc770a7ba7a22d668b999802a304 100644 (file)
@@ -138,7 +138,7 @@ struct obj_ops obj_ops_synproxy = {
        .name           = "synproxy",
        .type           = NFT_OBJECT_SYNPROXY,
        .alloc_len      = sizeof(struct nftnl_obj_synproxy),
-       .max_attr       = NFTA_SYNPROXY_MAX,
+       .nftnl_max_attr = __NFTNL_OBJ_SYNPROXY_MAX - 1,
        .set            = nftnl_obj_synproxy_set,
        .get            = nftnl_obj_synproxy_get,
        .parse          = nftnl_obj_synproxy_parse,
index d2503dccaf8ddf6a83c85d68a1ccd8207de789d8..19a3639eafc01a2dd1b0598c313662bc902ec97f 100644 (file)
@@ -542,7 +542,7 @@ struct obj_ops obj_ops_tunnel = {
        .name           = "tunnel",
        .type           = NFT_OBJECT_TUNNEL,
        .alloc_len      = sizeof(struct nftnl_obj_tunnel),
-       .max_attr       = NFTA_TUNNEL_KEY_MAX,
+       .nftnl_max_attr = __NFTNL_OBJ_TUNNEL_MAX - 1,
        .set            = nftnl_obj_tunnel_set,
        .get            = nftnl_obj_tunnel_get,
        .parse          = nftnl_obj_tunnel_parse,