draft-zebra-00.ms 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. .pl 10.0i
  2. .po 0
  3. .ll 7.2i
  4. .lt 7.2i
  5. .nr LL 7.2i
  6. .nr LT 7.2i
  7. .ds LF Ishiguro
  8. .ds RF FORMFEED[Page %]
  9. .ds CF
  10. .ds LH RFC DRAFT
  11. .ds RH March 1998
  12. .ds CH
  13. .hy 0
  14. .ad l
  15. Network Working Group K. Ishiguro
  16. Request for Comments: DRAFT Digital Magic Labs, Inc.
  17. March 1998
  18. .sp 2
  19. .ce
  20. Zebra Protocol Draft
  21. .sp 2
  22. .fi
  23. .ne 4
  24. Status of this Memo
  25. .sp
  26. .in 3
  27. This draft is very eary beta version.
  28. .sp
  29. .in 0
  30. .ne 4
  31. Introduction
  32. .sp
  33. .in 3
  34. The zebra protocol is a communication protocol between kernel
  35. routing table manager and routing protocol daemon. It is built over
  36. TCP/IP protocol suite.
  37. .sp
  38. .in 0
  39. .ne 4
  40. Request message formats
  41. .sp
  42. .in 3
  43. zebra is TCP-based protocol.
  44. .sp
  45. Below is request packet format.
  46. .sp
  47. .in 0
  48. .DS
  49. 0 1 2 3
  50. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  51. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  52. | Length (2) | Command (1) |
  53. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  54. .DE
  55. .sp
  56. .in 3
  57. Length is total packet length.
  58. .sp
  59. Here is summary of command list.
  60. .sp
  61. .in 0
  62. .DS
  63. 1 - ZEBRA_IPV4_ROUTE_ADD
  64. 2 - ZEBRA_IPV4_ROUTE_DELETE
  65. 3 - ZEBRA_IPV6_ROUTE_ADD
  66. 4 - ZEBRA_IPV6_ROUTE_DELETE
  67. 5 - ZEBRA_GET_ONE_INTERFACE
  68. 6 - ZEBRA_GET_ALL_INTERFACE
  69. 7 - ZEBRA_GET_HOSTINFO
  70. .DE
  71. .sp
  72. .in 0
  73. .ne 4
  74. IPv4 reply message formats
  75. .sp
  76. .in 0
  77. .DS
  78. 0 1 2 3
  79. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  80. +-+-+-+-+-+-+-+-+
  81. | Type (1) |
  82. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  83. | Gateway (4) |
  84. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  85. .DE
  86. .sp
  87. .in 3
  88. Type field specify route's origin type.
  89. .sp
  90. .in 0
  91. .DS
  92. 1 - ZEBRA_ROUTE_RESERVE
  93. 2 - ZEBRA_ROUTE_CONNECT
  94. 3 - ZEBRA_ROUTE_STATIC
  95. 4 - ZEBRA_ROUTE_RIP
  96. 5 - ZEBRA_ROUTE_RIPNG
  97. 6 - ZEBRA_ROUTE_BGP
  98. 7 - ZEBRA_ROUTE_RADIX
  99. .DE
  100. .sp
  101. .in 3
  102. After above message there can be variale length IPv4 prefix data.
  103. Each IPv4 prefix is encoded as a two tuple of the form <masklength,
  104. prefix>
  105. .sp
  106. .in 0
  107. .DS
  108. +----------------------+
  109. |Subnet mask (1 octet) |
  110. +----------------------+
  111. |IPv4 prefix (variable)|
  112. +----------------------+
  113. .DE
  114. .sp
  115. .in 0
  116. .ne 4
  117. IPv6 reply message formats
  118. .sp
  119. .in 0
  120. .DS
  121. 0 1 2 3
  122. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  123. +-+-+-+-+-+-+-+-+
  124. | Type (1) |
  125. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  126. | |
  127. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  128. | Gateway (16) |
  129. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  130. | |
  131. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  132. | |
  133. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  134. .DE
  135. .sp
  136. .in 3
  137. Type field specify route's origin type.
  138. .sp
  139. .in 0
  140. .DS
  141. 1 - ZEBRA_ROUTE_RESERVE
  142. 2 - ZEBRA_ROUTE_CONNECT
  143. 3 - ZEBRA_ROUTE_STATIC
  144. 4 - ZEBRA_ROUTE_RIP
  145. 5 - ZEBRA_ROUTE_RIPNG
  146. 6 - ZEBRA_ROUTE_BGP
  147. 7 - ZEBRA_ROUTE_RADIX
  148. .DE
  149. .sp
  150. .in 0
  151. .DS
  152. +----------------------+
  153. | ifindex (4 octet) |
  154. +----------------------+
  155. | prefixlen (1 octet)|
  156. +----------------------+
  157. |IPv6 prefix (variable)|
  158. +----------------------+
  159. .DE
  160. .sp
  161. .in 3
  162. I am not sure but it seems some operation systems IPv6
  163. implementation may need interface index when add and delete
  164. linklocal routes.
  165. .sp
  166. I have added ifindex field to specify IPv6 routes interface
  167. index. If this index is value zero, it will ignored.
  168. .sp
  169. .in 0
  170. .ne 4
  171. Interface information message format.
  172. .sp
  173. .in 0
  174. .DS
  175. 0 1 2 3
  176. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  177. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  178. | Interface name (20) |
  179. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  180. | Index (1) |
  181. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  182. | Inteface flag (4) |
  183. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  184. | Inteface metric (4) |
  185. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  186. | Inteface MTU (4) |
  187. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  188. | Inteface Address count (4) |
  189. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  190. .DE
  191. .sp
  192. .in 3
  193. Address message format.
  194. .sp
  195. .in 0
  196. .ne 4
  197. Host inforamtion message format.
  198. .sp
  199. .in 0
  200. .DS
  201. 0 1 2 3
  202. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  203. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  204. |IPv4 forwarding|IPv6 forwarding|
  205. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  206. .DE
  207. .sp
  208. .in 3
  209. Host information contain IPv4/IPv6 forwarding information.