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