]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
ct: resync netlink header and properly add ct l3protocol support
authorPatrick McHardy <kaber@trash.net>
Tue, 31 Mar 2009 02:07:24 +0000 (04:07 +0200)
committerPatrick McHardy <kaber@trash.net>
Tue, 31 Mar 2009 02:07:24 +0000 (04:07 +0200)
Signed-off-by: Patrick McHardy <kaber@trash.net>
include/linux/netfilter/nf_tables.h
src/ct.c
src/parser.y
src/scanner.l

index b4d518e32f22b3ad26c88e2379ff18dea5d2df66..0309b9dc42ab674329cb7217bfdf4b5672c2ab61 100644 (file)
@@ -174,6 +174,7 @@ enum nft_set_attributes {
        NFTA_SET_SREG,
        NFTA_SET_DREG,
        NFTA_SET_KLEN,
+       NFTA_SET_DLEN,
        NFTA_SET_ELEMENTS,
        __NFTA_SET_MAX
 };
@@ -262,9 +263,9 @@ enum nft_ct_keys {
        NFT_CT_SECMARK,
        NFT_CT_EXPIRATION,
        NFT_CT_HELPER,
-       NFT_CT_L3PROTO,
-       NFT_CT_SADDR,
-       NFT_CT_DADDR,
+       NFT_CT_L3PROTOCOL,
+       NFT_CT_SRC,
+       NFT_CT_DST,
        NFT_CT_PROTOCOL,
        NFT_CT_PROTO_SRC,
        NFT_CT_PROTO_DST,
index 43dd9878bbd40deca4f7fbd2122fa61ab805b774..ea97d6ad28c6beec2398f51e6c2289ef60fca22f 100644 (file)
--- a/src/ct.c
+++ b/src/ct.c
@@ -108,12 +108,12 @@ static const struct ct_template ct_templates[] = {
                                              4 * BITS_PER_BYTE),
        [NFT_CT_HELPER]         = CT_TEMPLATE("helper",     &string_type,
                                              BYTEORDER_INVALID, 0),
-       [NFT_CT_L3PROTO]        = CT_TEMPLATE("l3proto",    &invalid_type,
+       [NFT_CT_L3PROTOCOL]     = CT_TEMPLATE("l3proto",    &invalid_type,
                                              BYTEORDER_INVALID,
                                              BITS_PER_BYTE),
-       [NFT_CT_SADDR]          = CT_TEMPLATE("saddr",      &invalid_type,
+       [NFT_CT_SRC]            = CT_TEMPLATE("saddr",      &invalid_type,
                                              BYTEORDER_BIG_ENDIAN, 0),
-       [NFT_CT_DADDR]          = CT_TEMPLATE("daddr",      &invalid_type,
+       [NFT_CT_DST]            = CT_TEMPLATE("daddr",      &invalid_type,
                                              BYTEORDER_BIG_ENDIAN, 0),
        [NFT_CT_PROTOCOL]       = CT_TEMPLATE("protocol",   &inet_protocol_type,
                                              BYTEORDER_BIG_ENDIAN,
index 90f9052e4deb4841bce3cbf0d88b94baeed14751..c63a14e05f56c00f589b4ec434e593342f98462a 100644 (file)
@@ -287,6 +287,7 @@ static void location_update(struct location *loc, struct location *rhs, int n)
 %token STATUS                  "status"
 %token EXPIRATION              "expiration"
 %token HELPER                  "helper"
+%token L3PROTOCOL              "l3proto"
 %token PROTO_SRC               "proto-src"
 %token PROTO_DST               "proto-dst"
 
@@ -1133,9 +1134,10 @@ ct_key                   :       STATE           { $$ = NFT_CT_STATE; }
                        |       SECMARK         { $$ = NFT_CT_SECMARK; }
                        |       EXPIRATION      { $$ = NFT_CT_EXPIRATION; }
                        |       HELPER          { $$ = NFT_CT_HELPER; }
+                       |       L3PROTOCOL      { $$ = NFT_CT_L3PROTOCOL; }
+                       |       SADDR           { $$ = NFT_CT_SRC; }
+                       |       DADDR           { $$ = NFT_CT_DST; }
                        |       PROTOCOL        { $$ = NFT_CT_PROTOCOL; }
-                       |       SADDR           { $$ = NFT_CT_SADDR; }
-                       |       DADDR           { $$ = NFT_CT_DADDR; }
                        |       PROTO_SRC       { $$ = NFT_CT_PROTO_SRC; }
                        |       PROTO_DST       { $$ = NFT_CT_PROTO_DST; }
                        ;
index 7fc01f77e2dd347605d95b1fe438f78ae5455a4a..f8d018bbc9d2180cb280e89f37e12b23f92c5765 100644 (file)
@@ -375,6 +375,7 @@ addrstring  ({macaddr}|{ip4addr}|{ip6addr})
 "status"               { return STATUS; }
 "expiration"           { return EXPIRATION; }
 "helper"               { return HELPER; }
+"l3proto"              { return L3PROTOCOL; }
 "proto-src"            { return PROTO_SRC; }
 "proto-dst"            { return PROTO_DST; }