blob: d795509efe2874052dcfe5db61c71abf99e088be [file] [log] [blame]
vincent7a383332006-01-30 18:12:42 +000012006-01-30 Alain Ritoux <alain.ritoux@6wind.com>
2
3 * ripd.c: correct bug that allowed route learnt through RIP to take
4 precedence over connectd routes
5
paule8e19462006-01-19 20:16:55 +000062006-01-19 Paul Jakma <paul.jakma@sun.com>
7
8 * ripd.c: (main) return from main, not exit, cause it annoys SOS.
9
paul98fd1e62006-01-17 17:26:25 +0000102006-01-17 Paul Jakma <paul.jakma@sun.com>
11
12 * ripd.c: (rip_auth_md5) remove pdigest, not needed.
13 Use a local buffer for the auth_str, where it can be properly
14 nul padded. Do so, hence fixing MD5 authentication.
15 Key looked up via key ring should be used in preference to
16 the RIPv1 simple password, not other way around.
17 No need to copy around digests, we can reference them
18 directly.
19 The auth_len received can't be trusted, some implementations
20 lie (e.g. older ripd).
21 (rip_auth_md5_ah_write) rename len local variable to doff
22 to be consistent with other functions.
23 (rip_auth_header_write) add the missing return.
24 (rip_auth_md5_set) use the proper constructs to access stream.
25
ajs35a60c22005-10-30 23:51:32 +0000262005-10-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
27
28 * ripd.c: (rip_response_process) Instead of calling
29 rip_interface.c:if_valid_neighbor(), call the equivalent
30 library function if_lookup_address().
31 * rip_interface.c: (if_valid_neighbor) Remove function, since it is
32 essentially equivalent to the if_lookup_address() library function.
33 * ripd.h: (if_valid_neighbor) Remove function declaration.
34
paul92779fe2005-10-28 10:23:09 +0000352005-10-28 Paul Jakma <paul.jakma@sun.com>
36
37 * Makefile.am: Add rip_interface.h, or else it doesn't get
38 included in dists.
39
pauldc63bfd2005-10-25 23:31:05 +0000402005-10-26 Paul Jakma <paul.jakma@sun.com>
41
42 * (general) static/extern functions and definitions.
43 * rip_interface.h: new file, export the public functions from
44 rip_interface.c
paul216565a2005-10-25 23:35:28 +000045 * ripd.c: Update couple more functions to specify void
46 explicitely.
pauldc63bfd2005-10-25 23:31:05 +000047
jardin38d3c162005-10-19 19:29:59 +0000482005-10-17 Vincent Jardin <vincent.jardin@6wind.com>
49
50 * ripd.c: rip_create_socket() for each packet, it does not bind to the
51 proper interfaces because we forget to use the from address when
52 it is specified.
53
vincentfac3e842005-10-06 07:45:43 +0000542005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
55
56 * rip_interface.c: Now the command "no ip rip split-horizon
57 poisoned-reverse" just inhibates the poisoned-reverse effects
58 but keep spli-horizon activ.
59
ajsf52d13c2005-10-01 17:38:06 +0000602005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
61
62 * rip_zebra.c: (config_write_rip_redistribute): Remove local hard-coded
63 table str[]. Replace str[] with calls to new library function
64 zebra_route_string().
65 * ripd.c: Remove local hard-coded table route_info[].
66 (show_ip_rip) Replace uses of str[] with calls to new library
67 functions zebra_route_char and zebra_route_string.
68
vincentfbf5d032005-09-29 11:25:50 +0000692005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
70
71 * rip_snmp.c: rip2IfConfReceive() sends values in conformance
72 with RFC. Also PeerDomain is now set to a STRING type.
73 * ripd.h: rip_redistribute_add() API includes metric and distance
74 added field external_metric in routes.
75 * ripd.c: rip_redistribute_add() API i.e. stores metric and distance
76 Now allows a RIP-route to overcome a redistributed route coming
77 from a protocol with worse (higher) administrative distance
78 Metrics from redistribution are shown in show ip rip
79 * rip_zebra.c: adapt to the rip_redistribute_add() API, i.e.
80 provide distance and metric
81 * rip_interface.c: adapt to the rip_redistribute_add() API
82 * rip_routemap.c: no RMAP_COMPILE_ERROR on (metric > 16) usage
83 rather a CMD_WARNING, because set metric ius shared with other
84 protocols using larger values (such as OSPF)
85 The match metric action takes first external metric if present
86 (from redistribution) then RIP metric.
87
vincentc1a03d42005-09-28 15:47:44 +0000882005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
89
90 * ripd.c: use new md5 API
91
paul2c61ae32005-08-16 15:22:14 +0000922005-08-16 Paul Jakma <paul.jakma@sun.com>
93
94 * ripd.c: (general) Fix previous commit, broke multicast bind and
95 hence setting of source port, which broke communication with
96 non-borken ripd. Fix removes more stuff from rip_interface.c
97 than it adds to ripd.c ;)
98 (rip_create_socket) the to argument really is a from argument,
99 rename it. Set the source port to RIP port unconditionally, it's
100 required.
101 (rip_send_packet) Set from address correctly for multicast.
102 (rip_output_process) trivial: num can be BSS specified, rather
103 than in body.
104 * rip_interface.c: (rip_interface_multicast_set) strip out
105 redundant stuff related to bind, which rip_create_socket does.
106 Just make it set the multicast socket option, as per the
107 interface concerned, no more.
108
paula4e987e2005-06-03 17:46:49 +00001092005-06-03 Paul Jakma <paul.jakma@sun.com>
110
111 * ripd.c: (rip_create_socket) move it up so rip_send_packet
paulf69bd9d2005-06-03 18:01:50 +0000112 can use it too. Make it static. Remove the getservbyname stuff,
113 as RFC2453 3.9.2 says non-RIP port messages should be discarded,
114 quagga doesnt accept them, no need to lookup port.
115 Take a 'to' argument, if socket should be bound to something else.
116 setsockopt_so_recvbuf might need privs, move it to the raised
117 privileges section.
118 dont forget to close the socket if bind fails.
119 (rip_send_packet) use strncpy, just in case (address is under
120 our control anyway, but still).
121 dont duplicate rip_create_socket - just use it.
122 (rip_create) rip_create_socket takes an argument now, modify.
123
paul7755a8c2005-06-02 08:20:53 +00001242005-06-01 Paul Jakma <paul.jakma@sun.com>
125
126 * rip_interface.c: Fix authentication, no-auth impossible to specify
127 (rip_interface_new) default to RIP_NO_AUTH
128 (rip_interface_reset) ditto
129 (rip_interface_config_write) write out config for simple
130
paul0cb8a012005-05-29 11:27:24 +00001312005-05-29 Paul Jakma <paul@dishone.st>
132
133 * ripd.c: (rip_output_process) fix error which crept in my
134 previous rip auth untanglement commit - it had become impossible
135 to not have authentication (even for v1).
136
hasso033e8612005-05-28 04:50:54 +00001372005-05-28 Hasso Tepper <hasso at quagga.net>
138
139 * rip_routemap.c: Fix set_metric_addsub_cmd help, it's not about BGP
140 metric.
141
hassocf96db12005-05-25 21:15:32 +00001422005-05-26 Hasso Tepper <hasso at quagga.net>
143
hassodc625e82005-05-26 06:26:40 +0000144 * rip_routemap.c: In case of '0.0.0.0' used as 'nexthop', use sender
145 address as nexthop in routemap.
146
1472005-05-26 Hasso Tepper <hasso at quagga.net>
148
hassocf96db12005-05-25 21:15:32 +0000149 * rip_routemap.c: Make "match interface" routemap command match both -
150 in and out interfaces.
151
ajsd4e47282005-05-11 15:56:21 +00001522005-05-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
153
154 * rip_interface.c (rip_interface_add): Need to call
155 rip_passive_interface_apply (was already calling it in
156 rip_interface_up).
157
ajs634f9ea2005-04-11 15:51:40 +00001582005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
159
160 * rip_zebra.c (rip_redistribute_set, rip_redistribute_unset,
161 rip_redistribute_clean): Change 2nd arg to zebra_redistribute_send
162 from zclient->sock to zclient.
163
ajsd2fc8892005-04-02 18:38:43 +00001642005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
165
166 * rip_interface.c: (rip_interface_delete) After deleting, set
167 ifp->ifindex to IFINDEX_INTERNAL.
168
paulb14ee002005-02-04 23:42:41 +00001692005-02-04 Paul Jakma <paul@dishone.st>
170
171 * ripd.c: Untangle the construction of RIP auth data.
172 (rip_auth_prepare_str_send) new helper function, prepare
173 correct key string.
174 (rip_auth_simple_write) new helper, write out the
175 rip simple password auth psuedo-RTE.
176 (rip_auth_md5_ah_write) new helper, write out the
177 MD5 auth-header psuedo-RTE.
178 (rip_auth_header_write) new helper, write out correct
179 auth header data / psuedo-RTE.
180 (rip_auth_md5_set) rip out the memmove and writing of the
181 auth header psuedo-RTE. So that all that is left is to
182 write the trailing auth digest, and update digest offset
183 field in the original header.
184 (rip_write_rte) rip out writing of RIP header, writing of
185 simple auth data psuedo-RTE. Make it do what its name suggests,
186 write out actual RTEs.
187 (rip_output_process) remove the incorrect additional decrements
188 of rtemax. Prepare the auth_str, which simple or MD5 auth will
189 need. Move write out of RIP header and auth data to inside the
190 loop. Adjust paramaters as required.
191
ajs79853452005-01-30 17:40:29 +00001922005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
193
ajs6a52d0d2005-01-30 18:49:28 +0000194 * ripd.c: (rip_create_socket) Replace perror with zlog_err.
195
1962005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
197
ajs79853452005-01-30 17:40:29 +0000198 * ripd.c: (rip_create_socket) Save errno before calling
199 ripd_privs.change.
200
ajsb99760a2005-01-04 16:24:43 +00002012005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
202
203 * ripd.c: (rip_recvmsg) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR.
204
ajs766a0ca2004-12-15 14:55:51 +00002052004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
206
207 * ripd.c: (rip_read) Improve 2 error messages to show the source of
208 the packet when the lookup fails.
209
ajs5d6c3772004-12-08 19:24:06 +00002102004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
211
212 * *.c: Change level of debug messages to LOG_DEBUG.
213
ajs274a4a42004-12-07 15:39:31 +00002142004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
215
216 * rip_main.c: (main) The 2nd argument to openzlog has been removed.
217
ajs887c44a2004-12-03 16:36:46 +00002182004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
219
220 * rip_main.c: (sigint) Use zlog_notice for termination message.
221 (main) Add a startup announcement using zlog_notice.
222
hassoc0652302004-11-25 19:33:48 +00002232004-11-25 Hasso Tepper <hasso at quagga.net>
224
225 * rip_main.c: Make group to run as configurable.
226
paulc49ad8f2004-10-22 10:27:28 +00002272004-10-22 Paul Jakma <paul@dishone.st>
228
229 * ripd.c: Collapse redundant passing of various address structs,
230 struct interface and struct connected as arguments to functions
231 down to two key arguments, namely struct connected and, possibly,
232 address of source/destination. Testing for RIPv1 would be useful.
233 (rip_read) lookup struct connected for the received packet, pass
234 it on.
235 * rip_interface.c: With previous changes, we no longer have to tread
236 carefully with struct connected, as it will always be there and
237 valid.
238
hasso3fb9cd62004-10-19 19:44:43 +00002392004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
240
241 * ripd.c: (rip_update_interface) if connected->destination is NULL,
242 get the broadcast address with ipv4_broadcast_addr()
243 * rip_interface.c: (rip_interface_multicast_set)
244 connected->destination may be NULL. Improve message if
245 setsockopt_multicast_ipv4 fails. Improve message if bind fails.
246 (rip_request_interface_send) If connected->destination is NULL,
247 get the broadcast address with ipv4_broadcast_addr().
248 (if_valid_neighbor) Handle PtP subnet addressing properly.
249 Speed up code by using prefix_match properly.
250
hassoc75105a2004-10-13 10:33:26 +00002512004-10-13 Hasso Tepper <hasso at quagga.net>
252
253 * ripd_snmp.c: Remove defaults used to initialize smux connection to
254 snmpd. Connection is initialized only if smux peer is configured.
255
hasso98b718a2004-10-11 12:57:57 +00002562004-10-11 Hasso Tepper <hasso at quagga.net>
257
258 * *.c: Make more strings const.
259
hasso8a676be2004-10-08 06:36:38 +00002602004-10-08 Hasso Tepper <hasso at quagga.net>
261
262 * *.c: Fix compiler warnings: make strings const, signed -> unsigned
263 etc.
264
hasso1af81932004-09-26 16:11:14 +00002652004-09-26 Hasso Tepper <hasso at quagga.net>
266
267 * ripd.c: Fix compiler warning.
268
hasso52dc7ee2004-09-23 19:18:23 +00002692004-09-23 Hasso Tepper <hasso at quagga.net>
270
271 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
272
paul0b3acf42004-09-17 08:39:08 +00002732004-09-17 Paul Jakma <paul@dishone.st>
274
275 * ripd.c: set receive buffer to a decent size, some systems have low
276 defaults. Problem noted and fix suggested by Stephan Schweizer
277 in [zebra 20967].
278
paul1a517862004-08-19 04:03:08 +00002792004-08-19 Paul Jakma <paul@dishone.st>
280
281 * rip_interface.c: (rip_interface_multicast_set) get rid
282 of extraneous if_pointopoint arg. ifp is accessible via connected.
283 pass connected->ifp->ifindex to setsockopt_multicast_ipv4.
284 * ripd.c: (rip_send_packet) update call to
285 rip_interface_multicast_set
286 * ripd.h: update rip_interface_multicast_set prototype
287
paul02ff83c2004-06-11 11:27:03 +00002882004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
289
290 * ripd.c: (rip_distribute_update_all) distribute list hook
291 function pointer prototype requires struct prefix_list * arg.
292 (rip_distribute_update_all_wrapper) update to pass required arg,
293 NULL.
294
paulca5e5162004-06-06 22:06:33 +00002952004-06-06 Paul Jakma <paul.jakma@sun.com>
296
297 * ripd.h: Add define for the RIPv2 Authentication Data family
298 Move the auth type defines up to where other defines live.
299 Add RIP_AUTH_MD5_COMPAT_SIZE, for backwards compatible
300 md5->auth_len size. Add md5_auth_len field to struct
301 rip_interface: (rip_interface_new) Init md5_auth_len to compatible
302 size.
303 (ip_rip_authentication_mode_cmd) Extended to handle setting
304 md5 auth-length. Appropriate aliases added.
305 (no_ip_rip_authentication_mode_cmd) Reset md5_auth_len to
306 compatible size.
307 (rip_interface_config_write) Teach it about md5_auth_len.
308 _always_ write out the auth-length, so that everyone will get
309 the setting in their config file, and hence allow for a future
310 change of default for md5_auth_len to be less painful - every md5
311 user will have this setting in their config file.
312 ripd.c: (rip_packet_dump) Change nasty hard coded constants to
313 symbolic defines. Change various tests of 'ntoh.(variable) ==
314 constant' to test 'variable == ntoh.(constant)'. Clean up
315 indentation on some long lines.
316 (rip_auth_simple_password) ditto.
317 (rip_auth_md5) ditto, also add length argument and sanity check
318 md5 data offset field. Sanity check md5 auth length, accept RFC
319 or old-ripd/cisco lengths.
320 (rip_auth_md5_set) as per (rip_packet_dump), also write out
321 the configured md5 auth length for the interface (old-ripd or rfc)
322 (rip_read) as per (rip_packet_dump)
323 (rip_write_rte) ditto
324 (rip_response_process) ditto
325 (rip_write_rte) ditto
326
paulc2bfbcc2004-06-04 01:42:38 +00003272004-06-04 JJ Ludman <jacques.ludman@sun.com>
328
329 * ripd.c: Interoperability fix. Correct value for MD5 auth length
330 is 16. Accept packets with this set to >= 16, and set to 16
331 ourselves.
332
paul11dde9c2004-05-31 14:00:00 +00003332004-05-31 Sowmini Varadhan <sowmini.varadhan@sun.com>
334
335 * ripd.c: Fixup compile warnings
336 * rip_routemap.c: Ditto
337
paul0a589352004-05-08 11:48:26 +00003382004-05-08 Paul Jakma <paul@dishone.st>
339
340 * rip_zebra.c: sync with zclient changes.
341 * rip_interface.c: ditto.
342
paul239389b2004-05-05 14:09:37 +00003432004-05-05 Anthony.Golia@morganstanley.com
344
345 * ripd.c: (rip_update_jitter) Bound jitter to a more sensible
346 value, eg 1/4 of update time.
347
paula87552c2004-05-03 20:00:17 +00003482004-05-03 Paul Jakma <paul@dishone.st>
349
350 * ripd.c: (rip_rte_process) fix typo in merge of previous patch
351 and run function through indent.
352
paulb94f9db2004-05-01 20:45:38 +00003532004-03-19 Jean-Yves Simon <lethalwp@tiscali.be>
354
paula87552c2004-05-03 20:00:17 +0000355 * ripd.c: (rip_rte_process) make ripd also check on
356 administrative distance of his own links to update routes.
paulb94f9db2004-05-01 20:45:38 +0000357
hassoda9c9a22004-03-18 02:40:55 +00003582004-03-18 sowmini.varadhan@sun.com
359
360 * ripd.c: rip_send_packet can get null connected address when
361 called in response to a unicast rip-request. Handle correctly.
362
hassoa1455d82004-03-03 19:36:24 +00003632004-03-03 Krzysztof Oledzki <oleq@ans.pl>
364
hassocaa6f8a2004-03-03 19:48:48 +0000365 * ripd.c: fix "show ip rip" and per interface rip version selection.
hassoa1455d82004-03-03 19:36:24 +0000366
paul931cd542004-01-23 15:31:42 +00003672004-01-23 sowmini.varadhan@sun.com
368
369 * rip_interface.c: obsolete unbind code in
370 rip_interface_multicast_set, and instead do the more portable
371 (though slower) method of creating a socket for each outgoing packet
372 and binding the source address on the new socket.
373 * rip_interface.c, ripd.c, ripd.h: Modify rip_request_send so that
374 source address is determined by the caller of rip_request_send for
375 ripv1 packets and non-multicast interfaces (rip_request_send loops
376 over all connected address in all other cases).
377 * rip_send_packet: don't send packets with source set to
378 ZEBRA_IFA_SECONDARY connected addresses; improved debug messages;
379
paulf38a4712003-06-07 01:10:00 +00003802003-06-07 Andrew J. Schorr <aschorr@telemetry-investments.com>
381
382 * Allow ripd to receive RIPv1
383 * add default as valid param to passive-interface command
384
hasso16705132003-05-25 14:49:19 +00003852003-05-25 Vincent Jardin <vjardin@wanadoo.fr>
386
paulf38a4712003-06-07 01:10:00 +0000387 * 6Wind patch merge.
hasso16705132003-05-25 14:49:19 +0000388
paul445f1432003-05-16 19:00:31 +00003892003-04-19 Hasso Tepper <hasso@estpak.ee>
390
391 * rip_routemap.c: sync daemon's route-map commands to have same
392 syntax
393
paul718e3742002-12-13 20:15:29 +00003942002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
395
396 * zebra-0.93 released.
397
3982002-06-30 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
399
400 * ripd.c (rip_output_process): When outgoing interface is same as
401 next hop interface, announce RIPv2 next hop otherwise set next hop
402 to 0. Revert previous change then take 6WIND way.
403
4042001-09-14 Akihiro Mizutani <mizutani@dml.com>
405
406 * ripd.c: RIP enabled interface's route is advertised by default.
407
4082001-08-28 NOGUCHI Kay <kay@v6.access.co.jp>
409
410 * rip_snmp.c (rip_ifaddr_delete): Add route_node_lookup() return
411 value check.
412
413 * rip_interface.c (rip_multicast_leave): Fix bug of multiple IP
414 address on one interface multicast join/leave bug.
415
4162001-08-26 NOGUCHI Kay <kay@v6.access.co.jp>
417
418 * rip_interface.c (no_rip_passive_interface): Add NO_STR.
419
4202001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
421
422 * zebra-0.92a released.
423
4242001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
425
426 * zebra-0.92 released.
427
4282001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
429
430 * rip_routemap.c (route_match_ip_address_prefix_list): Add match
431 ip next-hop prefix-list WORD.
432
4332001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
434
435 * rip_interface.c (rip_passive_interface_clean): Call
436 rip_passive_interface_apply_all.
437
4382001-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
439
440 * ripd.c (rip_response_process): Multicast address nexthop check
441 is moved from rip_nexthop_check.
442
4432001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
444
445 * rip_interface.c (ipv4_multicast_join): Use
446 setsockopt_multicast_ipv4.
447 (ipv4_multicast_leave): Likewise.
448 (rip_if_ipv4_address_check): Interface which has IPv4 address can
449 be enabled.
450
4512001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
452
453 * rip_interface.c (rip_interface_delete): To support pseudo
454 interface do not free interface structure.
455 * ripd.c (rip_output_process): If output interface is in simple
456 password authentication mode, we need space for authentication
457 data.
458
4592001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
460
461 * ripd.c (rip_nexthop_check): Fix multicast address nexthop check.
462
463 * zebra-0.91 is released.
464
4652001-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
466
467 * ripd.c (show_ip_rip): Show metric infinity route's timeout.
468 (rip_rte_process): If current route is metric infinity, route is
469 replaced with received rte.
470 (rip_redistribute_delete): When redistribute route is deleted,
471 perform poisoned reverse.
472 (rip_redistribute_withdraw): Likewise.
473
4742001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
475
476 * ripd.c (rip_response_process): RIPv2 routing table entry with
477 non directly reachable nexthop was dropped. The code is changed
478 to treat it as 0.0.0.0 nexthop.
479 (rip_destination_check): Check net 0 address destination.
480 (rip_nexthop_check): New function for checking nexthop address
481 validity.
482
4832001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
484
485 * ripd.c (rip_request_process): Triggered update only send changed
486 route.
487
488 * rip_interface.c: Delete RIP_API part until new implementation
489 comes out.
490
491 * rip_snmp.: Likewise.
492
493 * rip_zebra.c: Likewise.
494
495 * ripd.c: Likewise.
496
4972001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
498
499 * rip_interface.c (rip_if_init): Remove HAVE_IF_PSEUDO part.
500
5012001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
502
503 * zebra-0.90 is released.
504
5052001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
506
507 * ripd.h (RIP_VTYSH_PATH): Change "/tmp/ripd" to "/tmp/.ripd".
508
5092000-12-25 David Lipovkov <davidl@nbase.co.il>
510
511 * ripd.c (rip_rte_process): When a route is in garbage collection
512 process (invalid with metric 16) and a router receives the same
513 route with valid metric then route was not installed into zebra
514 rib, but only into ripd rib. Moreover , it will never get into
515 zebra rib, because ripd wrongly assumes it's already there.
516 (rip_redistribute_add): When doing redistribute into rip other
517 route (e.g. connected) and the same route exists in ripd rib we
518 changed it in place - bug. Now we don't forget to remove old route
519 from zebra.
520 (rip_timeout): When removing routes from zebra I made sure that we
521 remove route with the metric we have in zebra and not the new
522 one. It doesn't make a difference now,but could be significant
523 when multipath support is done.
524
5252000-12-25 David Lipovkov <davidl@nbase.co.il>
526
527 * rip_zebra.c (rip_metric_unset): Fix bug of metric value unset.
528
5292000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
530
531 * ripd.c (rip_request_process): Check passive flag of the
532 interface.
533
5342000-11-23 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
535
536 * rip_interface.c (rip_multicast_join): When IP_ADD_MEMBERSHIP
537 failed do not set runnning flag to the interface.
538
5392000-11-16 Kunihiro Ishiguro <kunihiro@zebra.org>
540
541 * ripd.c (rip_output_process): Memory leak related classfull
542 network generation is fixed.
543
5442000-11-16 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
545
546 * rip_interface.c (if_check_address): Obsolete pointopoint address
547 check is removed.
548
5492000-11-02 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
550
551 * rip_interface.c (if_check_address): Add pointopoint address
552 check.
553 (rip_interface_up): Add check for passive interface when interface
554 goes up.
555
5562000-10-23 Jochen Friedrich <jochen@scram.de>
557
558 * rip_snmp.c: rip_oid and ripd_oid are used in smux_open after it
559 is registered. So those variables must be static.
560
5612000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
562
563 * rip_interface.c: Change to "no ip rip (send|receive)" command
564 accept version number argument.
565
5662000-10-17 Akihiro Mizutani <mizutani@dml.com>
567
568 * rip_routemap.c (route_set_ip_nexthop_compile): Change "match ip
569 next-hop" from IP address to access-list name.
570
5712000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
572
573 * rip_peer.c: Change ot use linklist.c instaed of newlist.c.
574
5752000-10-16 Kunihiro Ishiguro <kunihiro@zebra.org>
576
577 * rip_offset.c: Change to use linklist.c instead of newlist.c.
578
5792000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
580
581 * zebra-0.89 is released.
582
5832000-09-26 Akihiro Mizutani <mizutani@dml.com>
584
585 * rip_routemap.c (match_ip_nexthop): Add next-hop format check.
586
5872000-09-18 David Lipovkov <dlipovkov@OpticalAccess.com>
588
589 * rip_interface.c (ripd_api_get_if_rx_version): Corrects rip SNMP
590 and rip API functions dealing with rip version.
591
592 * rip_snmp.c (Status_Valid): SNMPv2-TC TEXTUAL-CONVENTION.
593
5942000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
595
596 * rip_snmp.c (rip2IfLookup): Use rip_ifaddr_lookup_next() instead
597 of rip_if_lookup_next().
598
599 * rip_interface.c (rip_enable_network_lookup): Interface enable
600 check by interface's address with /32 prefix.
601
602 * ripd.c (rip_read): When RIP is configured with authentication
603 and no authentication in incoming packet, drop the packet.
604
605 * rip_interface.c (rip_interface_reset): RIP_AUTH_SIMPLE_PASSWORD
606 is default mode of authentication.
607 (rip_interface_new): Likewise.
608 (no_ip_rip_authentication_mode): Likewise.
609
610 * ripd.c (rip_read): Likewise.
611
6122000-09-10 David Lipovkov <davidl@nbase.co.il>
613
614 * rip_snmp.c: Set ASN_INTEGER v->type where it is needed.
615
6162000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
617
618 * ripd.c (rip_auth_simple_password): Simple password
619 authentication using key-chain.
620 (rip_write_rte): Likewise.
621
622 * rip_interface.c (ip_rip_authentication_key_chain): Add check for
623 authentication string configuration.
624
6252000-09-08 Akihiro Mizutani <mizutani@dml.com>
626
627 * ripd.c (rip_write_rte): Add check for ri->auth_str.
628
6292000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
630
631 * ripd_api.h: New file is added.
632
6332000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
634
635 * ripd.c (rip_rte_process): rip_route_process() is renamed to
636 rip_rte_process() to clarify meanings of the function.
637 rip_route_process() is newly added to process RIP route selection.
638
6392000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
640
641 * ripd.c (rip_incoming_filter): Extract incoming filter code to
642 function from rip_route_process(). Add check for all interface
643 filter.
644 (rip_outgoing_filter): Extract incoming filter code to function
645 from rip_output_process(). Add check for all interface filter.
646
647 * rip_zebra.c (rip_redistribute_clean): Reset redistribute status
648 when "no router rip" is performed.
649
650 * rip_interface.c (rip_interface_clean): Reset interface's RIP
651 enable status.
652
6532000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
654
655 * ripd.c (rip_route_process): When metric infinity is received the
656 route is removed from service immediately.
657 (rip_timeout): Likewise.
658 (rip_garbage_collect): Do not delete route in garbage collection.
659 (rip_output_process): Check metric_out exceed metric infinity.
660
661 * zebra-0.88 is released.
662
6632000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
664
665 * ripd.c (rip_distance_apply): Unlock node when there is matched
666 node.
667
6682000-08-13 Akihiro Mizutani <mizutani@dml.com>
669
670 * rip_routemap.c (match_ip_nexthop): Add check for IP address
671 validness.
672 (no_set_metric): Add new ALIAS.
673
6742000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
675
676 * ripd.h (struct rip ): Add distance.
677
6782000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
679
680 * rip_zebra.c (rip_zebra_ipv4_add): Use new Zebra api to register
681 routes. Pass RIP metric value to zebra.
682
6832000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
684
685 * rip_main.c (main): Make struct thread thread from global
686 variable to local variable in main.
687
6882000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
689
690 * ripd.c (rip_packet_dump): Add MD5 authentication dump function.
691 (rip_auth_md5): RIP MD5 authentication packet receive works.
692
6932000-08-02 David Lipovkov <davidl@nbase.co.il>
694
695 * rip_interface.c (rip_if_init): Install interface "pseudo"
696 commands.
697 (rip_interface_delete): Do not call if_delete() when interface is
698 pseudo interface.
699
7002000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
701
702 * rip_interface.c (ip_rip_authentication_mode): "ip rip
703 authentication mode (md5|text)" is added.
704 (ip_rip_authentication_key_chain): "ip rip authentication
705 key-chain KEY-CHAIN" is added.
706 (rip_interface_clean): Clean all interface configuration.
707 (rip_interface_reset): Reset all interface configuration.
708 (rip_clean_network): Clean rip_enable_network.
709
710 * ripd.h (struct rip_interface): Add key_chain member.
711
712 * ripd.c: Include md5-gnu.h.
713
7142000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
715
716 * ripd.h (RIP_NO_AUTH): Change RIP_NO_AUTH value from 1 to 0.
717
718 * ripd.c (rip_authentication): Use RIP_AUTH_SIMPLE_PASSWORD
719 instead of raw value 2.
720 (rip_write_rte): Likewise.
721 (rip_write_rte): Check ri->auth_type instead of ri->auth_str.
722
7232000-07-30 David Lipovkov <davidl@nbase.co.il>
724
725 * rip_interface.c (rip_if_down): Do not delete ZEBRA_ROUTE_KERNEL
726 route.
727
7282000-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
729
730 * ripd.c (rip_update_process): Add "passive-interface" command.
731
732 * ripd.h (struct rip_interface): Add passive member to struct
733 rip_interface.
734
7352000-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
736
737 * rip_interface.c (rip_if_init): Multiple RIP routes for one
738 prefix change. The codes are enclosed by #ifdef NEW_RIP_TABLE.
739
7402000-07-24 Akihiro Mizutani <mizutani@dml.com>
741
742 * rip_interface.c (rip_if_init): Use install_default() for
743 INTERFACE_NODE.
744
7452000-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
746
747 * ripd.c: First update timer will be invoked in two seconds.
748
7492000-07-09 Jochen Friedrich <jochen@scram.de>
750
751 * rip_snmp.c: Local function definitions to static. Add INTEGER
752 ASN_INTEGER and TIMETICKS ASN_TIMETICKS definition.
753 (rip2PeerLookup): Peer with domain lookup implemented.
754 (rip2PeerTable): Temporary disable RIP2PEERLASTUPDATE value
755 support due to unknown SNMP agent startup time.
756
7572000-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
758
759 * ripd.h: Sweep obsolete definitions.
760
761 * rip_interface.c (rip_split_horizon): Add "ip split-horizon"
762 command.
763
764 * ripd.c (rip_output_process): Remove split_horizon argument.
765 (rip_update_process): Likewise.
766
767 * ripd.h (struct rip_interface): Add split_horizon flag to struct
768 rip_interface.
769
7702000-07-04 Akihiro Mizutani <mizutani@dml.com>
771
772 * ripd.c (rip_version): Change VERSION to <1-2>.
773 Add "no version" command.
774
7752000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
776
777 * rip_zebra.c (rip_redistribute_type_metric): "redistribute TYPE
778 metric <0-16>" command is added.
779
780 * rip_routemap.c (route_set_metric): Set metric_set when metric is
781 modified.
782
783 * ripd.h (struct rip_info): To check route-map set metric or not,
784 new member metric_set is added to struct rip_info.
785
786 * ripd.c (rip_route_process): Move metric handling code from
787 rip_response_process() to rip_route_process().
788 (rip_output_process): Set output offset-list metric.
789
7902000-07-02 Kunihiro Ishiguro <kunihiro@zebra.org>
791
792 * rip_offset.c (rip_offset_list): New file for offset-list.
793
7942000-07-02 Akihiro Mizutani <mizutani@dml.com>
795
796 * ripd.h (struct rip ): Add default_metric.
797
798 * ripd.c (rip_default_metric): "default-metric <1-16>" command is
799 added.
800 (config_write_rip): Change configuration order.
801
802 * rip_zebra.c: Fix help strings.
803
8042000-07-02 David Lipovkov <davidl@nbase.co.il>
805
806 * rip_interface.c (rip_if_init): Add IF_DELETE_HOOK.
807
8082000-07-01 Kunihiro Ishiguro <kunihiro@zebra.org>
809
810 * ripd.c (rip_output_process): If specified route-map does not
811 exist, it treated as deny all.
812
8132000-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
814
815 * rip_routemap.c (rip_route_map_init): Call rip_route_map_update
816 when route-map is deleted.
817
8182000-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
819
820 * rip_routemap.c (set_metric): For consistency with bgpd's set
821 metric, value range is set to <0-4294967295>.
822
8232000-06-28 David Lipovkov <davidl@nbase.co.il>
824
825 * rip_routemap.c (rip_route_map_update): Add check for rip is
826 enabled or not for avoid core dump.
827
828 * rip_debug.c (debug_rip_packet_direct): Fix bug of setting
829 rip_debug_packet flag.
830
8312000-06-13 David Lipovkov <davidl@nbase.co.il>
832
833 * rip_interface.c (rip_interface_delete): All work is done in
834 rip_if_down().
835
8362000-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
837
838 * ripd.c (rip_redistribute_delete): Fix bug of missing
839 route_unlock_node() when redistribute route is not found.
840
8412000-06-05 Akihirof Mizutani <mizutani@dml.com>
842
843 * rip_debug.c (rip_debug_init): Disable show debugging in
844 VIEW_NODE like other protocol daemon.
845
846 * rip_routemap.c: Change command argument to more comprehensive.
847
848 METRIC -> <0-16>
849 IFNAME -> WORD
850 IP_ADDR -> A.B.C.D
851 ACCSESS_LIST -> WORD
852
8532000-06-05 David Lipovkov <davidl@nbase.co.il>
854
855 * rip_interface.c (rip_interface_delete): Delete all routes
856 include static and kernel through the interface , because even if
857 the interface is added again there is no guarantee that it will
858 get the same ifindex as before.
859
8602000-05-31 Akihirof Mizutani <mizutani@dml.com>
861
862 * rip_debug.c: Fix rip debug help string.
863
8642000-04-27 Mirko Karanovic <mkaranov@torsel.alcatel.com>
865
866 * rip_interface.c (rip_interface_down): Remove interface from
867 multicast group when interface goes down.
868
8692000-04-03 David Lipovkov <davidl@nbase.co.il>
870
871 * rip_interface.c (rip_interface_down): Implemented rip functions
872 for interface up/down events: rip_interface_up() and
873 rip_interface_down()
874
8752000-03-16 David Lipovkov <davidl@nbase.co.il>
876
877 * rip_zebra.c (rip_zclient_init): Added rip functions for
878 interface up/down events.
879
8802000-02-15 Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
881
882 * ripd.c (rip_write_rte): "set metic" in route-map has no effect
883 for RIPv1 in ripd. It worked fine for RIPv2.
884
8852000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
886
887 * ripd.c (show_ip_protocols_rip): Fix bug of "show ip protocls"
888 mis-display RIP version.
889
890 * ripd.h (struct rip_peer): Add timeout thread to rip_peer
891 structure.
892
8932000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
894
895 * rip_peer.c: Add new file for supporting RIP peer.
896
8971999-12-26 David Lipovkov <davidl@nbase.co.il>
898
899 * ripd.c (rip_authentication): RIP authantication string is 16
900 bytes long.
901
9021999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
903
904 * ripd.c (rip_read): Add check for minimum packet length.
905 Authentication check is moved from rip_process_response() to
906 rip_read(). Patch from David Lipovkov <davidl@nbase.co.il> is
907 applied then add rte number check by Kunihiro Ishiguro
908 <kunihiro@zebra.org>.
909
9101999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
911
912 * ripd.c (rip_response_process): In case of packet is RIPv2 and
913 network is non zero and netmask is zero, apply netmask rule as
914 same as RIPv1.
915
9161999-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
917
918 * ripd.c (rip_timers): Fix bug of timers basic argument format.
919
9201999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
921
922 * rip_snmp.c (rip2IfConfAddress): Forgot to include
923 RIP2IFCONFDOMAIN.
924
9251999-10-28 Kunihiro Ishiguro <kunihiro@zebra.org>
926
927 * ripd.h (struct rip_peer): New structure added.
928
9291999-10-26 Kunihiro Ishiguro <kunihiro@zebra.org>
930
931 * rip_zebra.c (rip_zebra_ipv4_add): Increment
932 rip_global_route_changes when route change occur.
933 (rip_zebra_ipv4_delete): Likewise.
934
935 * ripd.c (rip_request_process): Increment rip_global_queries when
936 reply to the query is sent.
937
9381999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
939
940 * rip_debug.c (rip_debug_reset): Reset function added.
941
942 * ripd.c (rip_update_process): Logging bug is fixed.
943
9441999-10-10 Marc Boucher <marc@mbsi.ca>
945
946 * ripd.c (config_write_rip): Add config_write_distribute() call.
947
9481999-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
949
950 * ripd.c (rip_distribute_update): Fix bug of access-list
951 prefix-list updates.
952
9531999-09-10 VOP <vop@unity.net>
954
955 * rip_zebra.c: Add redistribute route-map feature.
956
9571999-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
958
959 * ripd.c (rip_response_process): Add check for given prefix is
960 given mask applied one.
961
9621999-09-03 VOP <vop@unity.net>
963
964 * rip_interface.c (rip_interface_multicast_set): Bug fix about
965 setting multicast interface.
966
9671999-09-02 VOP <vop@unity.net>
968
969 * rip_routemap.c: New file added.
970
9711999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
972
973 * ripd.c (show_ip_protocols_rip): Show next update time.
974 (show_ip_protocols_rip): Show redistribute information.
975
9761999-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
977
978 * RIPv2-MIB.txt: New file added.
979
980 * rip_snmp.c: New file added.
981
9821999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
983
984 * rip_interface.c (ip_rip_authentication_string): RIPv2
985 authentication command is added.
986
9871999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
988
989 * rip_interface.c (rip_interface_multicast_set): Process of
990 setting IP_MULTICAST_IF on specific interface.
991
992 * ripd.c (rip_read): Add packet size check.
993
9941999-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
995
996 * ripd.c (rip_request_process): Fill in RIP_METRIC_INFINITY with
997 network byte order using htonl ().
998 (rip_response_process): Pass host byte order address to IN_CLASSC
999 and IN_CLASSB macro.
1000
10011999-08-08 davidm@nbase.co.il (David Mozes)
1002
1003 * rip_zebra.c (rip_zebra_read_ipv4): Fix split horizon problem.
1004
10051999-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1006
1007 * ripd.c (rip_timer_set): Function added.
1008
10091999-07-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1010
1011 * rip_debug.c: New file added.
1012 rip_debug.h: New file added.
1013
10141999-07-01 Rick Payne <rickp@rossfell.co.uk>
1015
1016 * rip_zebra.c (zebra_init): Install standard commands to
1017 ZEBRA_NODE.
1018
10191999-06-01 David Luyer <luyer@ucs.uwa.edu.au>
1020
1021 * ripd.c (rip_process_route): Add support for RIP version 1.
1022
10231999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1024
1025 * rip_zebra.c: Change to use lib/zclient.[ch].
1026
10271999-05-20 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1028
1029 * ripd.c (rip_add_route): Change the existance route's metric check
1030 to the condition specified by RFC2453.
1031
10321999-05-17 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1033
1034 * ripd.c (rip_process_route): Add the if metric to the route metric.
1035
1036 * ripd.c (rip_add_route): Deleted add if metric to the route.
1037
10381999-05-16 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1039
1040 * rip_interface.c (if_valid_neighbor): New function.
1041
1042 * ripd.c (rip_process_route): Added check whether the datagram
1043 is from a valid neighbor.
1044
10451999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1046
1047 * ripd.c (rip_process_route): Set interface pointer to rinfo.
1048
10491999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1050
1051 * ripd.c (rip_check_address): Unicast and not net 0 or 127 check
1052 added.
1053
10541999-05-14 Stephen R. van den Berg <srb@cuci.nl>
1055
1056 * rip_main.c (signal_init): SIGTERM call sigint.
1057 (sigint): Loggging more better message.
1058
10591999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1060
1061 * ripd.c (rip_add_route): Fix previous route_unlock_node() chenge.
1062
1063 * rip_main.c (main): Change default zlog output to ZLOG_STDOUT for
1064 debugging.
1065
10661999-05-09 Patrick Koppen <koppen@rhrk.uni-kl.de>
1067
1068 * rip_interface.c (rip_request): Fix old semantics for fetching
1069 connected address.
1070
1071 * ripd.c (rip_add_route): Update timer when the route is updated.
1072
10731999-05-09 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1074
1075 * rip_zebra.c (struct zebra): Add ridist_static, ridist_connect,
1076 redist_rip, redist_ripng.
1077
1078 * rip_zebra.c (zebra_create): Updated for current zebra method.
1079
1080 * ripd.c (rip_add_route): Add missing route_unlock_node().
1081
10821999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1083
1084 * ripd.c (rip_add_route): Add metric check. Reported by Carlos
1085 Alberto Barcenilla <barce@frlp.utn.edu.ar>.
1086
10871999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
1088
1089 * syslog support added
1090
10911998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1092
1093 * ripd.c (rip_announce_func): Apply new lib functions.
1094
10951998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1096
1097 * ripd.c (config_write_rip): Delete vector v argument.
1098 * rip_zebra.c (config_write_zebra): Likewise.
1099 * rip_interface.c (interface_config_write): Likewise.
1100
11011998-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1102
1103 * rip_announce.c (rip_rib_close): When ripd terminates delete all
1104 added route.
1105
11061998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1107
1108 * rip_interface.c: return read packet size.
1109
11101998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
1111
1112 * ripd.h: Modify for compile on Solaris.
1113
11141998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1115
1116 * ripd.c: DEFUN function return CMD_SUCCESS.
1117 change xmalloc to XMALLOC macro.
1118
11191998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1120
1121 * rip_main.c: change CONFDIR to SYSCONFDIR.
1122
11231998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1124
1125 * .cvsignore: added.
1126
11271998-02-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1128
1129 * rip_interface.c (config_write_interface): correct ADVERTISE spell.
1130
1131 * rip_main.c (main): add usage() and make cleanup.
1132
11331998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1134
1135 * ripd.c (rip_version): add rip version command.
1136
11371998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1138
1139 * rip_interface.c (zebra_get_interface): added to get
1140 interface's information.
1141
1142 * ChangeLog: create.