Merge branch 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[pandora-kernel.git] / include / linux / drbd_nl.h
1 /*
2    PAKET( name,
3           TYPE ( pn, pr, member )
4           ...
5    )
6
7    You may never reissue one of the pn arguments
8 */
9
10 #if !defined(NL_PACKET) || !defined(NL_STRING) || !defined(NL_INTEGER) || !defined(NL_BIT) || !defined(NL_INT64)
11 #error "The macros NL_PACKET, NL_STRING, NL_INTEGER, NL_INT64 and NL_BIT needs to be defined"
12 #endif
13
14 NL_PACKET(primary, 1,
15        NL_BIT(          1,      T_MAY_IGNORE,   primary_force)
16 )
17
18 NL_PACKET(secondary, 2, )
19
20 NL_PACKET(disk_conf, 3,
21         NL_INT64(       2,      T_MAY_IGNORE,   disk_size)
22         NL_STRING(      3,      T_MANDATORY,    backing_dev,    128)
23         NL_STRING(      4,      T_MANDATORY,    meta_dev,       128)
24         NL_INTEGER(     5,      T_MANDATORY,    meta_dev_idx)
25         NL_INTEGER(     6,      T_MAY_IGNORE,   on_io_error)
26         NL_INTEGER(     7,      T_MAY_IGNORE,   fencing)
27         NL_BIT(         37,     T_MAY_IGNORE,   use_bmbv)
28         NL_BIT(         53,     T_MAY_IGNORE,   no_disk_flush)
29         NL_BIT(         54,     T_MAY_IGNORE,   no_md_flush)
30           /*  55 max_bio_size was available in 8.2.6rc2 */
31         NL_INTEGER(     56,     T_MAY_IGNORE,   max_bio_bvecs)
32         NL_BIT(         57,     T_MAY_IGNORE,   no_disk_barrier)
33         NL_BIT(         58,     T_MAY_IGNORE,   no_disk_drain)
34 )
35
36 NL_PACKET(detach, 4, )
37
38 NL_PACKET(net_conf, 5,
39         NL_STRING(      8,      T_MANDATORY,    my_addr,        128)
40         NL_STRING(      9,      T_MANDATORY,    peer_addr,      128)
41         NL_STRING(      10,     T_MAY_IGNORE,   shared_secret,  SHARED_SECRET_MAX)
42         NL_STRING(      11,     T_MAY_IGNORE,   cram_hmac_alg,  SHARED_SECRET_MAX)
43         NL_STRING(      44,     T_MAY_IGNORE,   integrity_alg,  SHARED_SECRET_MAX)
44         NL_INTEGER(     14,     T_MAY_IGNORE,   timeout)
45         NL_INTEGER(     15,     T_MANDATORY,    wire_protocol)
46         NL_INTEGER(     16,     T_MAY_IGNORE,   try_connect_int)
47         NL_INTEGER(     17,     T_MAY_IGNORE,   ping_int)
48         NL_INTEGER(     18,     T_MAY_IGNORE,   max_epoch_size)
49         NL_INTEGER(     19,     T_MAY_IGNORE,   max_buffers)
50         NL_INTEGER(     20,     T_MAY_IGNORE,   unplug_watermark)
51         NL_INTEGER(     21,     T_MAY_IGNORE,   sndbuf_size)
52         NL_INTEGER(     22,     T_MAY_IGNORE,   ko_count)
53         NL_INTEGER(     24,     T_MAY_IGNORE,   after_sb_0p)
54         NL_INTEGER(     25,     T_MAY_IGNORE,   after_sb_1p)
55         NL_INTEGER(     26,     T_MAY_IGNORE,   after_sb_2p)
56         NL_INTEGER(     39,     T_MAY_IGNORE,   rr_conflict)
57         NL_INTEGER(     40,     T_MAY_IGNORE,   ping_timeo)
58         NL_INTEGER(     67,     T_MAY_IGNORE,   rcvbuf_size)
59           /* 59 addr_family was available in GIT, never released */
60         NL_BIT(         60,     T_MANDATORY,    mind_af)
61         NL_BIT(         27,     T_MAY_IGNORE,   want_lose)
62         NL_BIT(         28,     T_MAY_IGNORE,   two_primaries)
63         NL_BIT(         41,     T_MAY_IGNORE,   always_asbp)
64         NL_BIT(         61,     T_MAY_IGNORE,   no_cork)
65         NL_BIT(         62,     T_MANDATORY,    auto_sndbuf_size)
66         NL_BIT(         70,     T_MANDATORY,    dry_run)
67 )
68
69 NL_PACKET(disconnect, 6, )
70
71 NL_PACKET(resize, 7,
72         NL_INT64(               29,     T_MAY_IGNORE,   resize_size)
73         NL_BIT(                 68,     T_MAY_IGNORE,   resize_force)
74         NL_BIT(                 69,     T_MANDATORY,    no_resync)
75 )
76
77 NL_PACKET(syncer_conf, 8,
78         NL_INTEGER(     30,     T_MAY_IGNORE,   rate)
79         NL_INTEGER(     31,     T_MAY_IGNORE,   after)
80         NL_INTEGER(     32,     T_MAY_IGNORE,   al_extents)
81 /*      NL_INTEGER(     71,     T_MAY_IGNORE,   dp_volume)
82  *      NL_INTEGER(     72,     T_MAY_IGNORE,   dp_interval)
83  *      NL_INTEGER(     73,     T_MAY_IGNORE,   throttle_th)
84  *      NL_INTEGER(     74,     T_MAY_IGNORE,   hold_off_th)
85  * feature will be reimplemented differently with 8.3.9 */
86         NL_STRING(      52,     T_MAY_IGNORE,   verify_alg,     SHARED_SECRET_MAX)
87         NL_STRING(      51,     T_MAY_IGNORE,   cpu_mask,       32)
88         NL_STRING(      64,     T_MAY_IGNORE,   csums_alg,      SHARED_SECRET_MAX)
89         NL_BIT(         65,     T_MAY_IGNORE,   use_rle)
90         NL_INTEGER(     75,     T_MAY_IGNORE,   on_no_data)
91         NL_INTEGER(     76,     T_MAY_IGNORE,   c_plan_ahead)
92         NL_INTEGER(     77,     T_MAY_IGNORE,   c_delay_target)
93         NL_INTEGER(     78,     T_MAY_IGNORE,   c_fill_target)
94         NL_INTEGER(     79,     T_MAY_IGNORE,   c_max_rate)
95         NL_INTEGER(     80,     T_MAY_IGNORE,   c_min_rate)
96 )
97
98 NL_PACKET(invalidate, 9, )
99 NL_PACKET(invalidate_peer, 10, )
100 NL_PACKET(pause_sync, 11, )
101 NL_PACKET(resume_sync, 12, )
102 NL_PACKET(suspend_io, 13, )
103 NL_PACKET(resume_io, 14, )
104 NL_PACKET(outdate, 15, )
105 NL_PACKET(get_config, 16, )
106 NL_PACKET(get_state, 17,
107         NL_INTEGER(     33,     T_MAY_IGNORE,   state_i)
108 )
109
110 NL_PACKET(get_uuids, 18,
111         NL_STRING(      34,     T_MAY_IGNORE,   uuids,  (UI_SIZE*sizeof(__u64)))
112         NL_INTEGER(     35,     T_MAY_IGNORE,   uuids_flags)
113 )
114
115 NL_PACKET(get_timeout_flag, 19,
116         NL_BIT(         36,     T_MAY_IGNORE,   use_degraded)
117 )
118
119 NL_PACKET(call_helper, 20,
120         NL_STRING(      38,     T_MAY_IGNORE,   helper,         32)
121 )
122
123 /* Tag nr 42 already allocated in drbd-8.1 development. */
124
125 NL_PACKET(sync_progress, 23,
126         NL_INTEGER(     43,     T_MAY_IGNORE,   sync_progress)
127 )
128
129 NL_PACKET(dump_ee, 24,
130         NL_STRING(      45,     T_MAY_IGNORE,   dump_ee_reason, 32)
131         NL_STRING(      46,     T_MAY_IGNORE,   seen_digest, SHARED_SECRET_MAX)
132         NL_STRING(      47,     T_MAY_IGNORE,   calc_digest, SHARED_SECRET_MAX)
133         NL_INT64(       48,     T_MAY_IGNORE,   ee_sector)
134         NL_INT64(       49,     T_MAY_IGNORE,   ee_block_id)
135         NL_STRING(      50,     T_MAY_IGNORE,   ee_data,        32 << 10)
136 )
137
138 NL_PACKET(start_ov, 25,
139         NL_INT64(       66,     T_MAY_IGNORE,   start_sector)
140 )
141
142 NL_PACKET(new_c_uuid, 26,
143        NL_BIT(          63,     T_MANDATORY,    clear_bm)
144 )
145
146 #undef NL_PACKET
147 #undef NL_INTEGER
148 #undef NL_INT64
149 #undef NL_BIT
150 #undef NL_STRING
151