ipt_CLUSTERIP.h revision e0bba47e550420e371c97425cc6d39909a6e059b
1ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos#ifndef _IPT_CLUSTERIP_H_target
2ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos#define _IPT_CLUSTERIP_H_target
3ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos
4ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenosenum clusterip_hashmode {
5ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos    CLUSTERIP_HASHMODE_SIP = 0,
6ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos    CLUSTERIP_HASHMODE_SIP_SPT,
7ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos    CLUSTERIP_HASHMODE_SIP_SPT_DPT,
8ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos};
9ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos
10ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos#define CLUSTERIP_HASHMODE_MAX CLUSTERIP_HASHMODE_SIP_SPT_DPT
11ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos
12ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos#define CLUSTERIP_MAX_NODES 16
13ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos
14ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos#define CLUSTERIP_FLAG_NEW 0x00000001
15ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos
16ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenosstruct clusterip_config;
17ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos
18ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenosstruct ipt_clusterip_tgt_info {
1998e17cf54345a4e9ab0ded690cdb41c0cd219c8eAlkis Evlogimenos
20015959ee38e4fd4a920f6b0065c50e524762f580Chris Lattner	u_int32_t flags;
216b4edbaaf9021e0434f0ce0c3724eb43ed41b770Alkis Evlogimenos
22ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos	/* only relevant for new ones */
23ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos	u_int8_t clustermac[6];
24ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos	u_int16_t num_total_nodes;
25ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos	u_int16_t num_local_nodes;
26ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos	u_int16_t local_nodes[CLUSTERIP_MAX_NODES];
27ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos	u_int32_t hash_mode;
28ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos	u_int32_t hash_initval;
29ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos
30e88280a4224730dcf8076e0d9a20973c5761fd06Alkis Evlogimenos	/* Used internally by the kernel */
31ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos	struct clusterip_config *config;
32ff0cbe175df40e0d2b36e59c6fb72f211f1cba4cAlkis Evlogimenos};
33843b160a2040b3ec4d3452678450afa11704c473Alkis Evlogimenos
345f37502bfbadfa65de087627bd67fd58bb03725cAlkis Evlogimenos#endif /*_IPT_CLUSTERIP_H_target*/
354d46e1e521c0df1990ea50f8146d22bd77ea71a6Alkis Evlogimenos