]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - include/uapi/linux/netfilter/nf_tables.h
netfilter: nf_tables: add quota expression
[linux.git] / include / uapi / linux / netfilter / nf_tables.h
index 01751faccaf87661adb96e63cba35a2df653bceb..784fbf15ab3de7f7f8fc5e690478dc294a293689 100644 (file)
@@ -723,6 +723,26 @@ enum nft_meta_keys {
        NFT_META_PRANDOM,
 };
 
+/**
+ * enum nft_hash_attributes - nf_tables hash expression netlink attributes
+ *
+ * @NFTA_HASH_SREG: source register (NLA_U32)
+ * @NFTA_HASH_DREG: destination register (NLA_U32)
+ * @NFTA_HASH_LEN: source data length (NLA_U32)
+ * @NFTA_HASH_MODULUS: modulus value (NLA_U32)
+ * @NFTA_HASH_SEED: seed value (NLA_U32)
+ */
+enum nft_hash_attributes {
+       NFTA_HASH_UNSPEC,
+       NFTA_HASH_SREG,
+       NFTA_HASH_DREG,
+       NFTA_HASH_LEN,
+       NFTA_HASH_MODULUS,
+       NFTA_HASH_SEED,
+       __NFTA_HASH_MAX,
+};
+#define NFTA_HASH_MAX  (__NFTA_HASH_MAX - 1)
+
 /**
  * enum nft_meta_attributes - nf_tables meta expression netlink attributes
  *
@@ -880,6 +900,25 @@ enum nft_queue_attributes {
 #define NFT_QUEUE_FLAG_CPU_FANOUT      0x02 /* use current CPU (no hashing) */
 #define NFT_QUEUE_FLAG_MASK            0x03
 
+enum nft_quota_flags {
+       NFT_QUOTA_F_INV         = (1 << 0),
+};
+
+/**
+ * enum nft_quota_attributes - nf_tables quota expression netlink attributes
+ *
+ * @NFTA_QUOTA_BYTES: quota in bytes (NLA_U16)
+ * @NFTA_QUOTA_FLAGS: flags (NLA_U32)
+ */
+enum nft_quota_attributes {
+       NFTA_QUOTA_UNSPEC,
+       NFTA_QUOTA_BYTES,
+       NFTA_QUOTA_FLAGS,
+       NFTA_QUOTA_PAD,
+       __NFTA_QUOTA_MAX
+};
+#define NFTA_QUOTA_MAX         (__NFTA_QUOTA_MAX - 1)
+
 /**
  * enum nft_reject_types - nf_tables reject expression reject types
  *