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:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>