Annotation of embedaddon/quagga/doc/draft-zebra-00.ms, revision 1.1.1.1
1.1 misho 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.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>