drbd_nl.h 5.2 KB

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