blob: eac0f6548f47f17cd918e50b835cc14078f81df0 [file] [log] [blame]
Ben Cheng224b54f2013-10-15 18:26:18 -07001#ifndef _IPT_CLUSTERIP_H_target
2#define _IPT_CLUSTERIP_H_target
3
4#include <linux/types.h>
Christopher Ferrise0845012014-07-09 14:58:51 -07005#include <linux/if_ether.h>
Ben Cheng224b54f2013-10-15 18:26:18 -07006
7enum 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
19struct clusterip_config;
20
21struct ipt_clusterip_tgt_info {
22
23 __u32 flags;
24
25 /* only relevant for new ones */
Christopher Ferrise0845012014-07-09 14:58:51 -070026 __u8 clustermac[ETH_ALEN];
Ben Cheng224b54f2013-10-15 18:26:18 -070027 __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*/