Merge branch 'for-3.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
[firefly-linux-kernel-4.4.55.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         NL_INTEGER(     89,     T_MAY_IGNORE,   disk_timeout)
35 )
36
37 NL_PACKET(detach, 4,
38         NL_BIT(         88,     T_MANDATORY,    detach_force)
39 )
40
41 NL_PACKET(net_conf, 5,
42         NL_STRING(      8,      T_MANDATORY,    my_addr,        128)
43         NL_STRING(      9,      T_MANDATORY,    peer_addr,      128)
44         NL_STRING(      10,     T_MAY_IGNORE,   shared_secret,  SHARED_SECRET_MAX)
45         NL_STRING(      11,     T_MAY_IGNORE,   cram_hmac_alg,  SHARED_SECRET_MAX)
46         NL_STRING(      44,     T_MAY_IGNORE,   integrity_alg,  SHARED_SECRET_MAX)
47         NL_INTEGER(     14,     T_MAY_IGNORE,   timeout)
48         NL_INTEGER(     15,     T_MANDATORY,    wire_protocol)
49         NL_INTEGER(     16,     T_MAY_IGNORE,   try_connect_int)
50         NL_INTEGER(     17,     T_MAY_IGNORE,   ping_int)
51         NL_INTEGER(     18,     T_MAY_IGNORE,   max_epoch_size)
52         NL_INTEGER(     19,     T_MAY_IGNORE,   max_buffers)
53         NL_INTEGER(     20,     T_MAY_IGNORE,   unplug_watermark)
54         NL_INTEGER(     21,     T_MAY_IGNORE,   sndbuf_size)
55         NL_INTEGER(     22,     T_MAY_IGNORE,   ko_count)
56         NL_INTEGER(     24,     T_MAY_IGNORE,   after_sb_0p)
57         NL_INTEGER(     25,     T_MAY_IGNORE,   after_sb_1p)
58         NL_INTEGER(     26,     T_MAY_IGNORE,   after_sb_2p)
59         NL_INTEGER(     39,     T_MAY_IGNORE,   rr_conflict)
60         NL_INTEGER(     40,     T_MAY_IGNORE,   ping_timeo)
61         NL_INTEGER(     67,     T_MAY_IGNORE,   rcvbuf_size)
62         NL_INTEGER(     81,     T_MAY_IGNORE,   on_congestion)
63         NL_INTEGER(     82,     T_MAY_IGNORE,   cong_fill)
64         NL_INTEGER(     83,     T_MAY_IGNORE,   cong_extents)
65           /* 59 addr_family was available in GIT, never released */
66         NL_BIT(         60,     T_MANDATORY,    mind_af)
67         NL_BIT(         27,     T_MAY_IGNORE,   want_lose)
68         NL_BIT(         28,     T_MAY_IGNORE,   two_primaries)
69         NL_BIT(         41,     T_MAY_IGNORE,   always_asbp)
70         NL_BIT(         61,     T_MAY_IGNORE,   no_cork)
71         NL_BIT(         62,     T_MANDATORY,    auto_sndbuf_size)
72         NL_BIT(         70,     T_MANDATORY,    dry_run)
73 )
74
75 NL_PACKET(disconnect, 6,
76         NL_BIT(         84,     T_MAY_IGNORE,   force)
77 )
78
79 NL_PACKET(resize, 7,
80         NL_INT64(               29,     T_MAY_IGNORE,   resize_size)
81         NL_BIT(                 68,     T_MAY_IGNORE,   resize_force)
82         NL_BIT(                 69,     T_MANDATORY,    no_resync)
83 )
84
85 NL_PACKET(syncer_conf, 8,
86         NL_INTEGER(     30,     T_MAY_IGNORE,   rate)
87         NL_INTEGER(     31,     T_MAY_IGNORE,   after)
88         NL_INTEGER(     32,     T_MAY_IGNORE,   al_extents)
89 /*      NL_INTEGER(     71,     T_MAY_IGNORE,   dp_volume)
90  *      NL_INTEGER(     72,     T_MAY_IGNORE,   dp_interval)
91  *      NL_INTEGER(     73,     T_MAY_IGNORE,   throttle_th)
92  *      NL_INTEGER(     74,     T_MAY_IGNORE,   hold_off_th)
93  * feature will be reimplemented differently with 8.3.9 */
94         NL_STRING(      52,     T_MAY_IGNORE,   verify_alg,     SHARED_SECRET_MAX)
95         NL_STRING(      51,     T_MAY_IGNORE,   cpu_mask,       32)
96         NL_STRING(      64,     T_MAY_IGNORE,   csums_alg,      SHARED_SECRET_MAX)
97         NL_BIT(         65,     T_MAY_IGNORE,   use_rle)
98         NL_INTEGER(     75,     T_MAY_IGNORE,   on_no_data)
99         NL_INTEGER(     76,     T_MAY_IGNORE,   c_plan_ahead)
100         NL_INTEGER(     77,     T_MAY_IGNORE,   c_delay_target)
101         NL_INTEGER(     78,     T_MAY_IGNORE,   c_fill_target)
102         NL_INTEGER(     79,     T_MAY_IGNORE,   c_max_rate)
103         NL_INTEGER(     80,     T_MAY_IGNORE,   c_min_rate)
104 )
105
106 NL_PACKET(invalidate, 9, )
107 NL_PACKET(invalidate_peer, 10, )
108 NL_PACKET(pause_sync, 11, )
109 NL_PACKET(resume_sync, 12, )
110 NL_PACKET(suspend_io, 13, )
111 NL_PACKET(resume_io, 14, )
112 NL_PACKET(outdate, 15, )
113 NL_PACKET(get_config, 16, )
114 NL_PACKET(get_state, 17,
115         NL_INTEGER(     33,     T_MAY_IGNORE,   state_i)
116 )
117
118 NL_PACKET(get_uuids, 18,
119         NL_STRING(      34,     T_MAY_IGNORE,   uuids,  (UI_SIZE*sizeof(__u64)))
120         NL_INTEGER(     35,     T_MAY_IGNORE,   uuids_flags)
121 )
122
123 NL_PACKET(get_timeout_flag, 19,
124         NL_BIT(         36,     T_MAY_IGNORE,   use_degraded)
125 )
126
127 NL_PACKET(call_helper, 20,
128         NL_STRING(      38,     T_MAY_IGNORE,   helper,         32)
129 )
130
131 /* Tag nr 42 already allocated in drbd-8.1 development. */
132
133 NL_PACKET(sync_progress, 23,
134         NL_INTEGER(     43,     T_MAY_IGNORE,   sync_progress)
135 )
136
137 NL_PACKET(dump_ee, 24,
138         NL_STRING(      45,     T_MAY_IGNORE,   dump_ee_reason, 32)
139         NL_STRING(      46,     T_MAY_IGNORE,   seen_digest, SHARED_SECRET_MAX)
140         NL_STRING(      47,     T_MAY_IGNORE,   calc_digest, SHARED_SECRET_MAX)
141         NL_INT64(       48,     T_MAY_IGNORE,   ee_sector)
142         NL_INT64(       49,     T_MAY_IGNORE,   ee_block_id)
143         NL_STRING(      50,     T_MAY_IGNORE,   ee_data,        32 << 10)
144 )
145
146 NL_PACKET(start_ov, 25,
147         NL_INT64(       66,     T_MAY_IGNORE,   start_sector)
148 )
149
150 NL_PACKET(new_c_uuid, 26,
151        NL_BIT(          63,     T_MANDATORY,    clear_bm)
152 )
153
154 #ifdef NL_RESPONSE
155 NL_RESPONSE(return_code_only, 27)
156 #endif
157
158 #undef NL_PACKET
159 #undef NL_INTEGER
160 #undef NL_INT64
161 #undef NL_BIT
162 #undef NL_STRING
163 #undef NL_RESPONSE