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