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
15Network Working Group                                        K. Ishiguro
16Request for Comments: DRAFT                     Digital Magic Labs, Inc.
17                                                              March 1998
18.sp 2
19.ce
20Zebra Protocol Draft
21.sp 2
22.fi
23.ne 4
24Status of this Memo
25.sp
26.in 3
27This draft is very eary beta version.
28.sp
29.in 0
30.ne 4
31Introduction
32.sp
33.in 3
34The zebra protocol is a communication protocol between kernel
35routing table manager and routing protocol daemon. It is built over
36TCP/IP protocol suite.
37.sp
38.in 0
39.ne 4
40Request message formats
41.sp
42.in 3
43zebra is TCP-based protocol.
44.sp
45Below is request packet format.
46.sp
47.in 0
48.DS
490                   1                   2                   3
500 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
57Length is total packet length.
58.sp
59Here is summary of command list.
60.sp
61.in 0
62.DS
631 - ZEBRA_IPV4_ROUTE_ADD
642 - ZEBRA_IPV4_ROUTE_DELETE
653 - ZEBRA_IPV6_ROUTE_ADD
664 - ZEBRA_IPV6_ROUTE_DELETE
675 - ZEBRA_GET_ONE_INTERFACE
686 - ZEBRA_GET_ALL_INTERFACE
697 - ZEBRA_GET_HOSTINFO
70.DE
71.sp
72.in 0
73.ne 4
74IPv4 reply message formats
75.sp
76.in 0
77.DS
780                   1                   2                   3
790 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
88Type field specify route's origin type.
89.sp
90.in 0
91.DS
921 - ZEBRA_ROUTE_RESERVE
932 - ZEBRA_ROUTE_CONNECT
943 - ZEBRA_ROUTE_STATIC
954 - ZEBRA_ROUTE_RIP
965 - ZEBRA_ROUTE_RIPNG
976 - ZEBRA_ROUTE_BGP
987 - ZEBRA_ROUTE_RADIX
99.DE
100.sp
101.in 3
102After above message there can be variale length IPv4 prefix data.
103Each IPv4 prefix is encoded as a two tuple of the form <masklength,
104prefix>
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
117IPv6 reply message formats
118.sp
119.in 0
120.DS
1210                   1                   2                   3
1220 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
137Type field specify route's origin type.
138.sp
139.in 0
140.DS
1411 - ZEBRA_ROUTE_RESERVE
1422 - ZEBRA_ROUTE_CONNECT
1433 - ZEBRA_ROUTE_STATIC
1444 - ZEBRA_ROUTE_RIP
1455 - ZEBRA_ROUTE_RIPNG
1466 - ZEBRA_ROUTE_BGP
1477 - 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
162I am not sure but it seems some operation systems IPv6
163implementation may need interface index when add and delete
164linklocal routes.
165.sp
166I have added ifindex field to specify IPv6 routes interface
167index. If this index is value zero, it will ignored.
168.sp
169.in 0
170.ne 4
171Interface information message format.
172.sp
173.in 0
174.DS
1750                   1                   2                   3
1760 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
193Address message format.
194.sp
195.in 0
196.ne 4
197Host inforamtion message format.
198.sp
199.in 0
200.DS
2010                   1                   2                   3
2020 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
209Host information contain IPv4/IPv6 forwarding information.
210