Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[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,   overwrite_peer)
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 )
67
68 NL_PACKET(disconnect, 6, )
69
70 NL_PACKET(resize, 7,
71         NL_INT64(               29,     T_MAY_IGNORE,   resize_size)
72         NL_BIT(                 68,     T_MAY_IGNORE,   resize_force)
73 )
74
75 NL_PACKET(syncer_conf, 8,
76         NL_INTEGER(     30,     T_MAY_IGNORE,   rate)
77         NL_INTEGER(     31,     T_MAY_IGNORE,   after)
78         NL_INTEGER(     32,     T_MAY_IGNORE,   al_extents)
79         NL_STRING(      52,     T_MAY_IGNORE,   verify_alg,     SHARED_SECRET_MAX)
80         NL_STRING(      51,     T_MAY_IGNORE,   cpu_mask,       32)
81         NL_STRING(      64,     T_MAY_IGNORE,   csums_alg,      SHARED_SECRET_MAX)
82         NL_BIT(         65,     T_MAY_IGNORE,   use_rle)
83 )
84
85 NL_PACKET(invalidate, 9, )
86 NL_PACKET(invalidate_peer, 10, )
87 NL_PACKET(pause_sync, 11, )
88 NL_PACKET(resume_sync, 12, )
89 NL_PACKET(suspend_io, 13, )
90 NL_PACKET(resume_io, 14, )
91 NL_PACKET(outdate, 15, )
92 NL_PACKET(get_config, 16, )
93 NL_PACKET(get_state, 17,
94         NL_INTEGER(     33,     T_MAY_IGNORE,   state_i)
95 )
96
97 NL_PACKET(get_uuids, 18,
98         NL_STRING(      34,     T_MAY_IGNORE,   uuids,  (UI_SIZE*sizeof(__u64)))
99         NL_INTEGER(     35,     T_MAY_IGNORE,   uuids_flags)
100 )
101
102 NL_PACKET(get_timeout_flag, 19,
103         NL_BIT(         36,     T_MAY_IGNORE,   use_degraded)
104 )
105
106 NL_PACKET(call_helper, 20,
107         NL_STRING(      38,     T_MAY_IGNORE,   helper,         32)
108 )
109
110 /* Tag nr 42 already allocated in drbd-8.1 development. */
111
112 NL_PACKET(sync_progress, 23,
113         NL_INTEGER(     43,     T_MAY_IGNORE,   sync_progress)
114 )
115
116 NL_PACKET(dump_ee, 24,
117         NL_STRING(      45,     T_MAY_IGNORE,   dump_ee_reason, 32)
118         NL_STRING(      46,     T_MAY_IGNORE,   seen_digest, SHARED_SECRET_MAX)
119         NL_STRING(      47,     T_MAY_IGNORE,   calc_digest, SHARED_SECRET_MAX)
120         NL_INT64(       48,     T_MAY_IGNORE,   ee_sector)
121         NL_INT64(       49,     T_MAY_IGNORE,   ee_block_id)
122         NL_STRING(      50,     T_MAY_IGNORE,   ee_data,        32 << 10)
123 )
124
125 NL_PACKET(start_ov, 25,
126         NL_INT64(       66,     T_MAY_IGNORE,   start_sector)
127 )
128
129 NL_PACKET(new_c_uuid, 26,
130        NL_BIT(          63,     T_MANDATORY,    clear_bm)
131 )
132
133 #undef NL_PACKET
134 #undef NL_INTEGER
135 #undef NL_INT64
136 #undef NL_BIT
137 #undef NL_STRING
138