]> git.karo-electronics.de Git - karo-tx-linux.git/blob - include/net/netfilter/nf_tables_core.h
netfilter: nft_payload: add optimized payload implementation for small loads
[karo-tx-linux.git] / include / net / netfilter / nf_tables_core.h
1 #ifndef _NET_NF_TABLES_CORE_H
2 #define _NET_NF_TABLES_CORE_H
3
4 extern int nf_tables_core_module_init(void);
5 extern void nf_tables_core_module_exit(void);
6
7 extern int nft_immediate_module_init(void);
8 extern void nft_immediate_module_exit(void);
9
10 struct nft_cmp_fast_expr {
11         u32                     data;
12         enum nft_registers      sreg:8;
13         u8                      len;
14 };
15
16 extern const struct nft_expr_ops nft_cmp_fast_ops;
17
18 extern int nft_cmp_module_init(void);
19 extern void nft_cmp_module_exit(void);
20
21 extern int nft_lookup_module_init(void);
22 extern void nft_lookup_module_exit(void);
23
24 extern int nft_bitwise_module_init(void);
25 extern void nft_bitwise_module_exit(void);
26
27 extern int nft_byteorder_module_init(void);
28 extern void nft_byteorder_module_exit(void);
29
30 struct nft_payload {
31         enum nft_payload_bases  base:8;
32         u8                      offset;
33         u8                      len;
34         enum nft_registers      dreg:8;
35 };
36
37 extern const struct nft_expr_ops nft_payload_fast_ops;
38
39 extern int nft_payload_module_init(void);
40 extern void nft_payload_module_exit(void);
41
42 #endif /* _NET_NF_TABLES_CORE_H */