xref: /linux/include/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h (revision 564eb714f5f09ac733c26860d5f0831f213fbdf1)
1 #ifndef _IPT_CLUSTERIP_H_target
2 #define _IPT_CLUSTERIP_H_target
3 
4 #include <linux/types.h>
5 #include <linux/if_ether.h>
6 
7 enum clusterip_hashmode {
8     CLUSTERIP_HASHMODE_SIP = 0,
9     CLUSTERIP_HASHMODE_SIP_SPT,
10     CLUSTERIP_HASHMODE_SIP_SPT_DPT,
11 };
12 
13 #define CLUSTERIP_HASHMODE_MAX CLUSTERIP_HASHMODE_SIP_SPT_DPT
14 
15 #define CLUSTERIP_MAX_NODES 16
16 
17 #define CLUSTERIP_FLAG_NEW 0x00000001
18 
19 struct clusterip_config;
20 
21 struct ipt_clusterip_tgt_info {
22 
23 	__u32 flags;
24 
25 	/* only relevant for new ones */
26 	__u8 clustermac[ETH_ALEN];
27 	__u16 num_total_nodes;
28 	__u16 num_local_nodes;
29 	__u16 local_nodes[CLUSTERIP_MAX_NODES];
30 	__u32 hash_mode;
31 	__u32 hash_initval;
32 
33 	/* Used internally by the kernel */
34 	struct clusterip_config *config;
35 };
36 
37 #endif /*_IPT_CLUSTERIP_H_target*/
38