Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
drbd_nl.h
Go to the documentation of this file.
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 
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 
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