@@ -305,8 +305,33 @@ struct nft_set_estimate {
305
305
enum nft_set_class space ;
306
306
};
307
307
308
+ #define NFT_EXPR_MAXATTR 16
309
+ #define NFT_EXPR_SIZE (size ) (sizeof(struct nft_expr) + \
310
+ ALIGN(size, __alignof__(struct nft_expr)))
311
+
312
+ /**
313
+ * struct nft_expr - nf_tables expression
314
+ *
315
+ * @ops: expression ops
316
+ * @data: expression private data
317
+ */
318
+ struct nft_expr {
319
+ const struct nft_expr_ops * ops ;
320
+ unsigned char data []
321
+ __attribute__((aligned (__alignof__(u64 ))));
322
+ };
323
+
324
+ static inline void * nft_expr_priv (const struct nft_expr * expr )
325
+ {
326
+ return (void * )expr -> data ;
327
+ }
328
+
329
+ int nft_expr_clone (struct nft_expr * dst , struct nft_expr * src );
330
+ void nft_expr_destroy (const struct nft_ctx * ctx , struct nft_expr * expr );
331
+ int nft_expr_dump (struct sk_buff * skb , unsigned int attr ,
332
+ const struct nft_expr * expr );
333
+
308
334
struct nft_set_ext ;
309
- struct nft_expr ;
310
335
311
336
/**
312
337
* struct nft_set_ops - nf_tables set operations
@@ -797,7 +822,6 @@ struct nft_offload_ctx;
797
822
* @validate: validate expression, called during loop detection
798
823
* @data: extra data to attach to this expression operation
799
824
*/
800
- struct nft_expr ;
801
825
struct nft_expr_ops {
802
826
void (* eval )(const struct nft_expr * expr ,
803
827
struct nft_regs * regs ,
@@ -833,32 +857,6 @@ struct nft_expr_ops {
833
857
void * data ;
834
858
};
835
859
836
- #define NFT_EXPR_MAXATTR 16
837
- #define NFT_EXPR_SIZE (size ) (sizeof(struct nft_expr) + \
838
- ALIGN(size, __alignof__(struct nft_expr)))
839
-
840
- /**
841
- * struct nft_expr - nf_tables expression
842
- *
843
- * @ops: expression ops
844
- * @data: expression private data
845
- */
846
- struct nft_expr {
847
- const struct nft_expr_ops * ops ;
848
- unsigned char data []
849
- __attribute__((aligned (__alignof__(u64 ))));
850
- };
851
-
852
- static inline void * nft_expr_priv (const struct nft_expr * expr )
853
- {
854
- return (void * )expr -> data ;
855
- }
856
-
857
- int nft_expr_clone (struct nft_expr * dst , struct nft_expr * src );
858
- void nft_expr_destroy (const struct nft_ctx * ctx , struct nft_expr * expr );
859
- int nft_expr_dump (struct sk_buff * skb , unsigned int attr ,
860
- const struct nft_expr * expr );
861
-
862
860
/**
863
861
* struct nft_rule - nf_tables rule
864
862
*
0 commit comments