blob: a3c0e24b29aa687937c697167226c6165009201b [file] [log] [blame]
ajs35a60c22005-10-30 23:51:32 +000012005-10-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
2
3 * ripd.c: (rip_response_process) Instead of calling
4 rip_interface.c:if_valid_neighbor(), call the equivalent
5 library function if_lookup_address().
6 * rip_interface.c: (if_valid_neighbor) Remove function, since it is
7 essentially equivalent to the if_lookup_address() library function.
8 * ripd.h: (if_valid_neighbor) Remove function declaration.
9
paul92779fe2005-10-28 10:23:09 +0000102005-10-28 Paul Jakma <paul.jakma@sun.com>
11
12 * Makefile.am: Add rip_interface.h, or else it doesn't get
13 included in dists.
14
pauldc63bfd2005-10-25 23:31:05 +0000152005-10-26 Paul Jakma <paul.jakma@sun.com>
16
17 * (general) static/extern functions and definitions.
18 * rip_interface.h: new file, export the public functions from
19 rip_interface.c
paul216565a2005-10-25 23:35:28 +000020 * ripd.c: Update couple more functions to specify void
21 explicitely.
pauldc63bfd2005-10-25 23:31:05 +000022
jardin38d3c162005-10-19 19:29:59 +0000232005-10-17 Vincent Jardin <vincent.jardin@6wind.com>
24
25 * ripd.c: rip_create_socket() for each packet, it does not bind to the
26 proper interfaces because we forget to use the from address when
27 it is specified.
28
vincentfac3e842005-10-06 07:45:43 +0000292005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
30
31 * rip_interface.c: Now the command "no ip rip split-horizon
32 poisoned-reverse" just inhibates the poisoned-reverse effects
33 but keep spli-horizon activ.
34
ajsf52d13c2005-10-01 17:38:06 +0000352005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
36
37 * rip_zebra.c: (config_write_rip_redistribute): Remove local hard-coded
38 table str[]. Replace str[] with calls to new library function
39 zebra_route_string().
40 * ripd.c: Remove local hard-coded table route_info[].
41 (show_ip_rip) Replace uses of str[] with calls to new library
42 functions zebra_route_char and zebra_route_string.
43
vincentfbf5d032005-09-29 11:25:50 +0000442005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
45
46 * rip_snmp.c: rip2IfConfReceive() sends values in conformance
47 with RFC. Also PeerDomain is now set to a STRING type.
48 * ripd.h: rip_redistribute_add() API includes metric and distance
49 added field external_metric in routes.
50 * ripd.c: rip_redistribute_add() API i.e. stores metric and distance
51 Now allows a RIP-route to overcome a redistributed route coming
52 from a protocol with worse (higher) administrative distance
53 Metrics from redistribution are shown in show ip rip
54 * rip_zebra.c: adapt to the rip_redistribute_add() API, i.e.
55 provide distance and metric
56 * rip_interface.c: adapt to the rip_redistribute_add() API
57 * rip_routemap.c: no RMAP_COMPILE_ERROR on (metric > 16) usage
58 rather a CMD_WARNING, because set metric ius shared with other
59 protocols using larger values (such as OSPF)
60 The match metric action takes first external metric if present
61 (from redistribution) then RIP metric.
62
vincentc1a03d42005-09-28 15:47:44 +0000632005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
64
65 * ripd.c: use new md5 API
66
paul2c61ae32005-08-16 15:22:14 +0000672005-08-16 Paul Jakma <paul.jakma@sun.com>
68
69 * ripd.c: (general) Fix previous commit, broke multicast bind and
70 hence setting of source port, which broke communication with
71 non-borken ripd. Fix removes more stuff from rip_interface.c
72 than it adds to ripd.c ;)
73 (rip_create_socket) the to argument really is a from argument,
74 rename it. Set the source port to RIP port unconditionally, it's
75 required.
76 (rip_send_packet) Set from address correctly for multicast.
77 (rip_output_process) trivial: num can be BSS specified, rather
78 than in body.
79 * rip_interface.c: (rip_interface_multicast_set) strip out
80 redundant stuff related to bind, which rip_create_socket does.
81 Just make it set the multicast socket option, as per the
82 interface concerned, no more.
83
paula4e987e2005-06-03 17:46:49 +0000842005-06-03 Paul Jakma <paul.jakma@sun.com>
85
86 * ripd.c: (rip_create_socket) move it up so rip_send_packet
paulf69bd9d2005-06-03 18:01:50 +000087 can use it too. Make it static. Remove the getservbyname stuff,
88 as RFC2453 3.9.2 says non-RIP port messages should be discarded,
89 quagga doesnt accept them, no need to lookup port.
90 Take a 'to' argument, if socket should be bound to something else.
91 setsockopt_so_recvbuf might need privs, move it to the raised
92 privileges section.
93 dont forget to close the socket if bind fails.
94 (rip_send_packet) use strncpy, just in case (address is under
95 our control anyway, but still).
96 dont duplicate rip_create_socket - just use it.
97 (rip_create) rip_create_socket takes an argument now, modify.
98
paul7755a8c2005-06-02 08:20:53 +0000992005-06-01 Paul Jakma <paul.jakma@sun.com>
100
101 * rip_interface.c: Fix authentication, no-auth impossible to specify
102 (rip_interface_new) default to RIP_NO_AUTH
103 (rip_interface_reset) ditto
104 (rip_interface_config_write) write out config for simple
105
paul0cb8a012005-05-29 11:27:24 +00001062005-05-29 Paul Jakma <paul@dishone.st>
107
108 * ripd.c: (rip_output_process) fix error which crept in my
109 previous rip auth untanglement commit - it had become impossible
110 to not have authentication (even for v1).
111
hasso033e8612005-05-28 04:50:54 +00001122005-05-28 Hasso Tepper <hasso at quagga.net>
113
114 * rip_routemap.c: Fix set_metric_addsub_cmd help, it's not about BGP
115 metric.
116
hassocf96db12005-05-25 21:15:32 +00001172005-05-26 Hasso Tepper <hasso at quagga.net>
118
hassodc625e82005-05-26 06:26:40 +0000119 * rip_routemap.c: In case of '0.0.0.0' used as 'nexthop', use sender
120 address as nexthop in routemap.
121
1222005-05-26 Hasso Tepper <hasso at quagga.net>
123
hassocf96db12005-05-25 21:15:32 +0000124 * rip_routemap.c: Make "match interface" routemap command match both -
125 in and out interfaces.
126
ajsd4e47282005-05-11 15:56:21 +00001272005-05-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
128
129 * rip_interface.c (rip_interface_add): Need to call
130 rip_passive_interface_apply (was already calling it in
131 rip_interface_up).
132
ajs634f9ea2005-04-11 15:51:40 +00001332005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
134
135 * rip_zebra.c (rip_redistribute_set, rip_redistribute_unset,
136 rip_redistribute_clean): Change 2nd arg to zebra_redistribute_send
137 from zclient->sock to zclient.
138
ajsd2fc8892005-04-02 18:38:43 +00001392005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
140
141 * rip_interface.c: (rip_interface_delete) After deleting, set
142 ifp->ifindex to IFINDEX_INTERNAL.
143
paulb14ee002005-02-04 23:42:41 +00001442005-02-04 Paul Jakma <paul@dishone.st>
145
146 * ripd.c: Untangle the construction of RIP auth data.
147 (rip_auth_prepare_str_send) new helper function, prepare
148 correct key string.
149 (rip_auth_simple_write) new helper, write out the
150 rip simple password auth psuedo-RTE.
151 (rip_auth_md5_ah_write) new helper, write out the
152 MD5 auth-header psuedo-RTE.
153 (rip_auth_header_write) new helper, write out correct
154 auth header data / psuedo-RTE.
155 (rip_auth_md5_set) rip out the memmove and writing of the
156 auth header psuedo-RTE. So that all that is left is to
157 write the trailing auth digest, and update digest offset
158 field in the original header.
159 (rip_write_rte) rip out writing of RIP header, writing of
160 simple auth data psuedo-RTE. Make it do what its name suggests,
161 write out actual RTEs.
162 (rip_output_process) remove the incorrect additional decrements
163 of rtemax. Prepare the auth_str, which simple or MD5 auth will
164 need. Move write out of RIP header and auth data to inside the
165 loop. Adjust paramaters as required.
166
ajs79853452005-01-30 17:40:29 +00001672005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
168
ajs6a52d0d2005-01-30 18:49:28 +0000169 * ripd.c: (rip_create_socket) Replace perror with zlog_err.
170
1712005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
172
ajs79853452005-01-30 17:40:29 +0000173 * ripd.c: (rip_create_socket) Save errno before calling
174 ripd_privs.change.
175
ajsb99760a2005-01-04 16:24:43 +00001762005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
177
178 * ripd.c: (rip_recvmsg) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR.
179
ajs766a0ca2004-12-15 14:55:51 +00001802004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
181
182 * ripd.c: (rip_read) Improve 2 error messages to show the source of
183 the packet when the lookup fails.
184
ajs5d6c3772004-12-08 19:24:06 +00001852004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
186
187 * *.c: Change level of debug messages to LOG_DEBUG.
188
ajs274a4a42004-12-07 15:39:31 +00001892004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
190
191 * rip_main.c: (main) The 2nd argument to openzlog has been removed.
192
ajs887c44a2004-12-03 16:36:46 +00001932004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
194
195 * rip_main.c: (sigint) Use zlog_notice for termination message.
196 (main) Add a startup announcement using zlog_notice.
197
hassoc0652302004-11-25 19:33:48 +00001982004-11-25 Hasso Tepper <hasso at quagga.net>
199
200 * rip_main.c: Make group to run as configurable.
201
paulc49ad8f2004-10-22 10:27:28 +00002022004-10-22 Paul Jakma <paul@dishone.st>
203
204 * ripd.c: Collapse redundant passing of various address structs,
205 struct interface and struct connected as arguments to functions
206 down to two key arguments, namely struct connected and, possibly,
207 address of source/destination. Testing for RIPv1 would be useful.
208 (rip_read) lookup struct connected for the received packet, pass
209 it on.
210 * rip_interface.c: With previous changes, we no longer have to tread
211 carefully with struct connected, as it will always be there and
212 valid.
213
hasso3fb9cd62004-10-19 19:44:43 +00002142004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
215
216 * ripd.c: (rip_update_interface) if connected->destination is NULL,
217 get the broadcast address with ipv4_broadcast_addr()
218 * rip_interface.c: (rip_interface_multicast_set)
219 connected->destination may be NULL. Improve message if
220 setsockopt_multicast_ipv4 fails. Improve message if bind fails.
221 (rip_request_interface_send) If connected->destination is NULL,
222 get the broadcast address with ipv4_broadcast_addr().
223 (if_valid_neighbor) Handle PtP subnet addressing properly.
224 Speed up code by using prefix_match properly.
225
hassoc75105a2004-10-13 10:33:26 +00002262004-10-13 Hasso Tepper <hasso at quagga.net>
227
228 * ripd_snmp.c: Remove defaults used to initialize smux connection to
229 snmpd. Connection is initialized only if smux peer is configured.
230
hasso98b718a2004-10-11 12:57:57 +00002312004-10-11 Hasso Tepper <hasso at quagga.net>
232
233 * *.c: Make more strings const.
234
hasso8a676be2004-10-08 06:36:38 +00002352004-10-08 Hasso Tepper <hasso at quagga.net>
236
237 * *.c: Fix compiler warnings: make strings const, signed -> unsigned
238 etc.
239
hasso1af81932004-09-26 16:11:14 +00002402004-09-26 Hasso Tepper <hasso at quagga.net>
241
242 * ripd.c: Fix compiler warning.
243
hasso52dc7ee2004-09-23 19:18:23 +00002442004-09-23 Hasso Tepper <hasso at quagga.net>
245
246 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
247
paul0b3acf42004-09-17 08:39:08 +00002482004-09-17 Paul Jakma <paul@dishone.st>
249
250 * ripd.c: set receive buffer to a decent size, some systems have low
251 defaults. Problem noted and fix suggested by Stephan Schweizer
252 in [zebra 20967].
253
paul1a517862004-08-19 04:03:08 +00002542004-08-19 Paul Jakma <paul@dishone.st>
255
256 * rip_interface.c: (rip_interface_multicast_set) get rid
257 of extraneous if_pointopoint arg. ifp is accessible via connected.
258 pass connected->ifp->ifindex to setsockopt_multicast_ipv4.
259 * ripd.c: (rip_send_packet) update call to
260 rip_interface_multicast_set
261 * ripd.h: update rip_interface_multicast_set prototype
262
paul02ff83c2004-06-11 11:27:03 +00002632004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
264
265 * ripd.c: (rip_distribute_update_all) distribute list hook
266 function pointer prototype requires struct prefix_list * arg.
267 (rip_distribute_update_all_wrapper) update to pass required arg,
268 NULL.
269
paulca5e5162004-06-06 22:06:33 +00002702004-06-06 Paul Jakma <paul.jakma@sun.com>
271
272 * ripd.h: Add define for the RIPv2 Authentication Data family
273 Move the auth type defines up to where other defines live.
274 Add RIP_AUTH_MD5_COMPAT_SIZE, for backwards compatible
275 md5->auth_len size. Add md5_auth_len field to struct
276 rip_interface: (rip_interface_new) Init md5_auth_len to compatible
277 size.
278 (ip_rip_authentication_mode_cmd) Extended to handle setting
279 md5 auth-length. Appropriate aliases added.
280 (no_ip_rip_authentication_mode_cmd) Reset md5_auth_len to
281 compatible size.
282 (rip_interface_config_write) Teach it about md5_auth_len.
283 _always_ write out the auth-length, so that everyone will get
284 the setting in their config file, and hence allow for a future
285 change of default for md5_auth_len to be less painful - every md5
286 user will have this setting in their config file.
287 ripd.c: (rip_packet_dump) Change nasty hard coded constants to
288 symbolic defines. Change various tests of 'ntoh.(variable) ==
289 constant' to test 'variable == ntoh.(constant)'. Clean up
290 indentation on some long lines.
291 (rip_auth_simple_password) ditto.
292 (rip_auth_md5) ditto, also add length argument and sanity check
293 md5 data offset field. Sanity check md5 auth length, accept RFC
294 or old-ripd/cisco lengths.
295 (rip_auth_md5_set) as per (rip_packet_dump), also write out
296 the configured md5 auth length for the interface (old-ripd or rfc)
297 (rip_read) as per (rip_packet_dump)
298 (rip_write_rte) ditto
299 (rip_response_process) ditto
300 (rip_write_rte) ditto
301
paulc2bfbcc2004-06-04 01:42:38 +00003022004-06-04 JJ Ludman <jacques.ludman@sun.com>
303
304 * ripd.c: Interoperability fix. Correct value for MD5 auth length
305 is 16. Accept packets with this set to >= 16, and set to 16
306 ourselves.
307
paul11dde9c2004-05-31 14:00:00 +00003082004-05-31 Sowmini Varadhan <sowmini.varadhan@sun.com>
309
310 * ripd.c: Fixup compile warnings
311 * rip_routemap.c: Ditto
312
paul0a589352004-05-08 11:48:26 +00003132004-05-08 Paul Jakma <paul@dishone.st>
314
315 * rip_zebra.c: sync with zclient changes.
316 * rip_interface.c: ditto.
317
paul239389b2004-05-05 14:09:37 +00003182004-05-05 Anthony.Golia@morganstanley.com
319
320 * ripd.c: (rip_update_jitter) Bound jitter to a more sensible
321 value, eg 1/4 of update time.
322
paula87552c2004-05-03 20:00:17 +00003232004-05-03 Paul Jakma <paul@dishone.st>
324
325 * ripd.c: (rip_rte_process) fix typo in merge of previous patch
326 and run function through indent.
327
paulb94f9db2004-05-01 20:45:38 +00003282004-03-19 Jean-Yves Simon <lethalwp@tiscali.be>
329
paula87552c2004-05-03 20:00:17 +0000330 * ripd.c: (rip_rte_process) make ripd also check on
331 administrative distance of his own links to update routes.
paulb94f9db2004-05-01 20:45:38 +0000332
hassoda9c9a22004-03-18 02:40:55 +00003332004-03-18 sowmini.varadhan@sun.com
334
335 * ripd.c: rip_send_packet can get null connected address when
336 called in response to a unicast rip-request. Handle correctly.
337
hassoa1455d82004-03-03 19:36:24 +00003382004-03-03 Krzysztof Oledzki <oleq@ans.pl>
339
hassocaa6f8a2004-03-03 19:48:48 +0000340 * ripd.c: fix "show ip rip" and per interface rip version selection.
hassoa1455d82004-03-03 19:36:24 +0000341
paul931cd542004-01-23 15:31:42 +00003422004-01-23 sowmini.varadhan@sun.com
343
344 * rip_interface.c: obsolete unbind code in
345 rip_interface_multicast_set, and instead do the more portable
346 (though slower) method of creating a socket for each outgoing packet
347 and binding the source address on the new socket.
348 * rip_interface.c, ripd.c, ripd.h: Modify rip_request_send so that
349 source address is determined by the caller of rip_request_send for
350 ripv1 packets and non-multicast interfaces (rip_request_send loops
351 over all connected address in all other cases).
352 * rip_send_packet: don't send packets with source set to
353 ZEBRA_IFA_SECONDARY connected addresses; improved debug messages;
354
paulf38a4712003-06-07 01:10:00 +00003552003-06-07 Andrew J. Schorr <aschorr@telemetry-investments.com>
356
357 * Allow ripd to receive RIPv1
358 * add default as valid param to passive-interface command
359
hasso16705132003-05-25 14:49:19 +00003602003-05-25 Vincent Jardin <vjardin@wanadoo.fr>
361
paulf38a4712003-06-07 01:10:00 +0000362 * 6Wind patch merge.
hasso16705132003-05-25 14:49:19 +0000363
paul445f1432003-05-16 19:00:31 +00003642003-04-19 Hasso Tepper <hasso@estpak.ee>
365
366 * rip_routemap.c: sync daemon's route-map commands to have same
367 syntax
368
paul718e3742002-12-13 20:15:29 +00003692002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
370
371 * zebra-0.93 released.
372
3732002-06-30 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
374
375 * ripd.c (rip_output_process): When outgoing interface is same as
376 next hop interface, announce RIPv2 next hop otherwise set next hop
377 to 0. Revert previous change then take 6WIND way.
378
3792001-09-14 Akihiro Mizutani <mizutani@dml.com>
380
381 * ripd.c: RIP enabled interface's route is advertised by default.
382
3832001-08-28 NOGUCHI Kay <kay@v6.access.co.jp>
384
385 * rip_snmp.c (rip_ifaddr_delete): Add route_node_lookup() return
386 value check.
387
388 * rip_interface.c (rip_multicast_leave): Fix bug of multiple IP
389 address on one interface multicast join/leave bug.
390
3912001-08-26 NOGUCHI Kay <kay@v6.access.co.jp>
392
393 * rip_interface.c (no_rip_passive_interface): Add NO_STR.
394
3952001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
396
397 * zebra-0.92a released.
398
3992001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
400
401 * zebra-0.92 released.
402
4032001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
404
405 * rip_routemap.c (route_match_ip_address_prefix_list): Add match
406 ip next-hop prefix-list WORD.
407
4082001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
409
410 * rip_interface.c (rip_passive_interface_clean): Call
411 rip_passive_interface_apply_all.
412
4132001-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
414
415 * ripd.c (rip_response_process): Multicast address nexthop check
416 is moved from rip_nexthop_check.
417
4182001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
419
420 * rip_interface.c (ipv4_multicast_join): Use
421 setsockopt_multicast_ipv4.
422 (ipv4_multicast_leave): Likewise.
423 (rip_if_ipv4_address_check): Interface which has IPv4 address can
424 be enabled.
425
4262001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
427
428 * rip_interface.c (rip_interface_delete): To support pseudo
429 interface do not free interface structure.
430 * ripd.c (rip_output_process): If output interface is in simple
431 password authentication mode, we need space for authentication
432 data.
433
4342001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
435
436 * ripd.c (rip_nexthop_check): Fix multicast address nexthop check.
437
438 * zebra-0.91 is released.
439
4402001-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
441
442 * ripd.c (show_ip_rip): Show metric infinity route's timeout.
443 (rip_rte_process): If current route is metric infinity, route is
444 replaced with received rte.
445 (rip_redistribute_delete): When redistribute route is deleted,
446 perform poisoned reverse.
447 (rip_redistribute_withdraw): Likewise.
448
4492001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
450
451 * ripd.c (rip_response_process): RIPv2 routing table entry with
452 non directly reachable nexthop was dropped. The code is changed
453 to treat it as 0.0.0.0 nexthop.
454 (rip_destination_check): Check net 0 address destination.
455 (rip_nexthop_check): New function for checking nexthop address
456 validity.
457
4582001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
459
460 * ripd.c (rip_request_process): Triggered update only send changed
461 route.
462
463 * rip_interface.c: Delete RIP_API part until new implementation
464 comes out.
465
466 * rip_snmp.: Likewise.
467
468 * rip_zebra.c: Likewise.
469
470 * ripd.c: Likewise.
471
4722001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
473
474 * rip_interface.c (rip_if_init): Remove HAVE_IF_PSEUDO part.
475
4762001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
477
478 * zebra-0.90 is released.
479
4802001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
481
482 * ripd.h (RIP_VTYSH_PATH): Change "/tmp/ripd" to "/tmp/.ripd".
483
4842000-12-25 David Lipovkov <davidl@nbase.co.il>
485
486 * ripd.c (rip_rte_process): When a route is in garbage collection
487 process (invalid with metric 16) and a router receives the same
488 route with valid metric then route was not installed into zebra
489 rib, but only into ripd rib. Moreover , it will never get into
490 zebra rib, because ripd wrongly assumes it's already there.
491 (rip_redistribute_add): When doing redistribute into rip other
492 route (e.g. connected) and the same route exists in ripd rib we
493 changed it in place - bug. Now we don't forget to remove old route
494 from zebra.
495 (rip_timeout): When removing routes from zebra I made sure that we
496 remove route with the metric we have in zebra and not the new
497 one. It doesn't make a difference now,but could be significant
498 when multipath support is done.
499
5002000-12-25 David Lipovkov <davidl@nbase.co.il>
501
502 * rip_zebra.c (rip_metric_unset): Fix bug of metric value unset.
503
5042000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
505
506 * ripd.c (rip_request_process): Check passive flag of the
507 interface.
508
5092000-11-23 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
510
511 * rip_interface.c (rip_multicast_join): When IP_ADD_MEMBERSHIP
512 failed do not set runnning flag to the interface.
513
5142000-11-16 Kunihiro Ishiguro <kunihiro@zebra.org>
515
516 * ripd.c (rip_output_process): Memory leak related classfull
517 network generation is fixed.
518
5192000-11-16 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
520
521 * rip_interface.c (if_check_address): Obsolete pointopoint address
522 check is removed.
523
5242000-11-02 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
525
526 * rip_interface.c (if_check_address): Add pointopoint address
527 check.
528 (rip_interface_up): Add check for passive interface when interface
529 goes up.
530
5312000-10-23 Jochen Friedrich <jochen@scram.de>
532
533 * rip_snmp.c: rip_oid and ripd_oid are used in smux_open after it
534 is registered. So those variables must be static.
535
5362000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
537
538 * rip_interface.c: Change to "no ip rip (send|receive)" command
539 accept version number argument.
540
5412000-10-17 Akihiro Mizutani <mizutani@dml.com>
542
543 * rip_routemap.c (route_set_ip_nexthop_compile): Change "match ip
544 next-hop" from IP address to access-list name.
545
5462000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
547
548 * rip_peer.c: Change ot use linklist.c instaed of newlist.c.
549
5502000-10-16 Kunihiro Ishiguro <kunihiro@zebra.org>
551
552 * rip_offset.c: Change to use linklist.c instead of newlist.c.
553
5542000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
555
556 * zebra-0.89 is released.
557
5582000-09-26 Akihiro Mizutani <mizutani@dml.com>
559
560 * rip_routemap.c (match_ip_nexthop): Add next-hop format check.
561
5622000-09-18 David Lipovkov <dlipovkov@OpticalAccess.com>
563
564 * rip_interface.c (ripd_api_get_if_rx_version): Corrects rip SNMP
565 and rip API functions dealing with rip version.
566
567 * rip_snmp.c (Status_Valid): SNMPv2-TC TEXTUAL-CONVENTION.
568
5692000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
570
571 * rip_snmp.c (rip2IfLookup): Use rip_ifaddr_lookup_next() instead
572 of rip_if_lookup_next().
573
574 * rip_interface.c (rip_enable_network_lookup): Interface enable
575 check by interface's address with /32 prefix.
576
577 * ripd.c (rip_read): When RIP is configured with authentication
578 and no authentication in incoming packet, drop the packet.
579
580 * rip_interface.c (rip_interface_reset): RIP_AUTH_SIMPLE_PASSWORD
581 is default mode of authentication.
582 (rip_interface_new): Likewise.
583 (no_ip_rip_authentication_mode): Likewise.
584
585 * ripd.c (rip_read): Likewise.
586
5872000-09-10 David Lipovkov <davidl@nbase.co.il>
588
589 * rip_snmp.c: Set ASN_INTEGER v->type where it is needed.
590
5912000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
592
593 * ripd.c (rip_auth_simple_password): Simple password
594 authentication using key-chain.
595 (rip_write_rte): Likewise.
596
597 * rip_interface.c (ip_rip_authentication_key_chain): Add check for
598 authentication string configuration.
599
6002000-09-08 Akihiro Mizutani <mizutani@dml.com>
601
602 * ripd.c (rip_write_rte): Add check for ri->auth_str.
603
6042000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
605
606 * ripd_api.h: New file is added.
607
6082000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
609
610 * ripd.c (rip_rte_process): rip_route_process() is renamed to
611 rip_rte_process() to clarify meanings of the function.
612 rip_route_process() is newly added to process RIP route selection.
613
6142000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
615
616 * ripd.c (rip_incoming_filter): Extract incoming filter code to
617 function from rip_route_process(). Add check for all interface
618 filter.
619 (rip_outgoing_filter): Extract incoming filter code to function
620 from rip_output_process(). Add check for all interface filter.
621
622 * rip_zebra.c (rip_redistribute_clean): Reset redistribute status
623 when "no router rip" is performed.
624
625 * rip_interface.c (rip_interface_clean): Reset interface's RIP
626 enable status.
627
6282000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
629
630 * ripd.c (rip_route_process): When metric infinity is received the
631 route is removed from service immediately.
632 (rip_timeout): Likewise.
633 (rip_garbage_collect): Do not delete route in garbage collection.
634 (rip_output_process): Check metric_out exceed metric infinity.
635
636 * zebra-0.88 is released.
637
6382000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
639
640 * ripd.c (rip_distance_apply): Unlock node when there is matched
641 node.
642
6432000-08-13 Akihiro Mizutani <mizutani@dml.com>
644
645 * rip_routemap.c (match_ip_nexthop): Add check for IP address
646 validness.
647 (no_set_metric): Add new ALIAS.
648
6492000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
650
651 * ripd.h (struct rip ): Add distance.
652
6532000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
654
655 * rip_zebra.c (rip_zebra_ipv4_add): Use new Zebra api to register
656 routes. Pass RIP metric value to zebra.
657
6582000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
659
660 * rip_main.c (main): Make struct thread thread from global
661 variable to local variable in main.
662
6632000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
664
665 * ripd.c (rip_packet_dump): Add MD5 authentication dump function.
666 (rip_auth_md5): RIP MD5 authentication packet receive works.
667
6682000-08-02 David Lipovkov <davidl@nbase.co.il>
669
670 * rip_interface.c (rip_if_init): Install interface "pseudo"
671 commands.
672 (rip_interface_delete): Do not call if_delete() when interface is
673 pseudo interface.
674
6752000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
676
677 * rip_interface.c (ip_rip_authentication_mode): "ip rip
678 authentication mode (md5|text)" is added.
679 (ip_rip_authentication_key_chain): "ip rip authentication
680 key-chain KEY-CHAIN" is added.
681 (rip_interface_clean): Clean all interface configuration.
682 (rip_interface_reset): Reset all interface configuration.
683 (rip_clean_network): Clean rip_enable_network.
684
685 * ripd.h (struct rip_interface): Add key_chain member.
686
687 * ripd.c: Include md5-gnu.h.
688
6892000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
690
691 * ripd.h (RIP_NO_AUTH): Change RIP_NO_AUTH value from 1 to 0.
692
693 * ripd.c (rip_authentication): Use RIP_AUTH_SIMPLE_PASSWORD
694 instead of raw value 2.
695 (rip_write_rte): Likewise.
696 (rip_write_rte): Check ri->auth_type instead of ri->auth_str.
697
6982000-07-30 David Lipovkov <davidl@nbase.co.il>
699
700 * rip_interface.c (rip_if_down): Do not delete ZEBRA_ROUTE_KERNEL
701 route.
702
7032000-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
704
705 * ripd.c (rip_update_process): Add "passive-interface" command.
706
707 * ripd.h (struct rip_interface): Add passive member to struct
708 rip_interface.
709
7102000-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
711
712 * rip_interface.c (rip_if_init): Multiple RIP routes for one
713 prefix change. The codes are enclosed by #ifdef NEW_RIP_TABLE.
714
7152000-07-24 Akihiro Mizutani <mizutani@dml.com>
716
717 * rip_interface.c (rip_if_init): Use install_default() for
718 INTERFACE_NODE.
719
7202000-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
721
722 * ripd.c: First update timer will be invoked in two seconds.
723
7242000-07-09 Jochen Friedrich <jochen@scram.de>
725
726 * rip_snmp.c: Local function definitions to static. Add INTEGER
727 ASN_INTEGER and TIMETICKS ASN_TIMETICKS definition.
728 (rip2PeerLookup): Peer with domain lookup implemented.
729 (rip2PeerTable): Temporary disable RIP2PEERLASTUPDATE value
730 support due to unknown SNMP agent startup time.
731
7322000-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
733
734 * ripd.h: Sweep obsolete definitions.
735
736 * rip_interface.c (rip_split_horizon): Add "ip split-horizon"
737 command.
738
739 * ripd.c (rip_output_process): Remove split_horizon argument.
740 (rip_update_process): Likewise.
741
742 * ripd.h (struct rip_interface): Add split_horizon flag to struct
743 rip_interface.
744
7452000-07-04 Akihiro Mizutani <mizutani@dml.com>
746
747 * ripd.c (rip_version): Change VERSION to <1-2>.
748 Add "no version" command.
749
7502000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
751
752 * rip_zebra.c (rip_redistribute_type_metric): "redistribute TYPE
753 metric <0-16>" command is added.
754
755 * rip_routemap.c (route_set_metric): Set metric_set when metric is
756 modified.
757
758 * ripd.h (struct rip_info): To check route-map set metric or not,
759 new member metric_set is added to struct rip_info.
760
761 * ripd.c (rip_route_process): Move metric handling code from
762 rip_response_process() to rip_route_process().
763 (rip_output_process): Set output offset-list metric.
764
7652000-07-02 Kunihiro Ishiguro <kunihiro@zebra.org>
766
767 * rip_offset.c (rip_offset_list): New file for offset-list.
768
7692000-07-02 Akihiro Mizutani <mizutani@dml.com>
770
771 * ripd.h (struct rip ): Add default_metric.
772
773 * ripd.c (rip_default_metric): "default-metric <1-16>" command is
774 added.
775 (config_write_rip): Change configuration order.
776
777 * rip_zebra.c: Fix help strings.
778
7792000-07-02 David Lipovkov <davidl@nbase.co.il>
780
781 * rip_interface.c (rip_if_init): Add IF_DELETE_HOOK.
782
7832000-07-01 Kunihiro Ishiguro <kunihiro@zebra.org>
784
785 * ripd.c (rip_output_process): If specified route-map does not
786 exist, it treated as deny all.
787
7882000-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
789
790 * rip_routemap.c (rip_route_map_init): Call rip_route_map_update
791 when route-map is deleted.
792
7932000-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
794
795 * rip_routemap.c (set_metric): For consistency with bgpd's set
796 metric, value range is set to <0-4294967295>.
797
7982000-06-28 David Lipovkov <davidl@nbase.co.il>
799
800 * rip_routemap.c (rip_route_map_update): Add check for rip is
801 enabled or not for avoid core dump.
802
803 * rip_debug.c (debug_rip_packet_direct): Fix bug of setting
804 rip_debug_packet flag.
805
8062000-06-13 David Lipovkov <davidl@nbase.co.il>
807
808 * rip_interface.c (rip_interface_delete): All work is done in
809 rip_if_down().
810
8112000-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
812
813 * ripd.c (rip_redistribute_delete): Fix bug of missing
814 route_unlock_node() when redistribute route is not found.
815
8162000-06-05 Akihirof Mizutani <mizutani@dml.com>
817
818 * rip_debug.c (rip_debug_init): Disable show debugging in
819 VIEW_NODE like other protocol daemon.
820
821 * rip_routemap.c: Change command argument to more comprehensive.
822
823 METRIC -> <0-16>
824 IFNAME -> WORD
825 IP_ADDR -> A.B.C.D
826 ACCSESS_LIST -> WORD
827
8282000-06-05 David Lipovkov <davidl@nbase.co.il>
829
830 * rip_interface.c (rip_interface_delete): Delete all routes
831 include static and kernel through the interface , because even if
832 the interface is added again there is no guarantee that it will
833 get the same ifindex as before.
834
8352000-05-31 Akihirof Mizutani <mizutani@dml.com>
836
837 * rip_debug.c: Fix rip debug help string.
838
8392000-04-27 Mirko Karanovic <mkaranov@torsel.alcatel.com>
840
841 * rip_interface.c (rip_interface_down): Remove interface from
842 multicast group when interface goes down.
843
8442000-04-03 David Lipovkov <davidl@nbase.co.il>
845
846 * rip_interface.c (rip_interface_down): Implemented rip functions
847 for interface up/down events: rip_interface_up() and
848 rip_interface_down()
849
8502000-03-16 David Lipovkov <davidl@nbase.co.il>
851
852 * rip_zebra.c (rip_zclient_init): Added rip functions for
853 interface up/down events.
854
8552000-02-15 Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
856
857 * ripd.c (rip_write_rte): "set metic" in route-map has no effect
858 for RIPv1 in ripd. It worked fine for RIPv2.
859
8602000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
861
862 * ripd.c (show_ip_protocols_rip): Fix bug of "show ip protocls"
863 mis-display RIP version.
864
865 * ripd.h (struct rip_peer): Add timeout thread to rip_peer
866 structure.
867
8682000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
869
870 * rip_peer.c: Add new file for supporting RIP peer.
871
8721999-12-26 David Lipovkov <davidl@nbase.co.il>
873
874 * ripd.c (rip_authentication): RIP authantication string is 16
875 bytes long.
876
8771999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
878
879 * ripd.c (rip_read): Add check for minimum packet length.
880 Authentication check is moved from rip_process_response() to
881 rip_read(). Patch from David Lipovkov <davidl@nbase.co.il> is
882 applied then add rte number check by Kunihiro Ishiguro
883 <kunihiro@zebra.org>.
884
8851999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
886
887 * ripd.c (rip_response_process): In case of packet is RIPv2 and
888 network is non zero and netmask is zero, apply netmask rule as
889 same as RIPv1.
890
8911999-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
892
893 * ripd.c (rip_timers): Fix bug of timers basic argument format.
894
8951999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
896
897 * rip_snmp.c (rip2IfConfAddress): Forgot to include
898 RIP2IFCONFDOMAIN.
899
9001999-10-28 Kunihiro Ishiguro <kunihiro@zebra.org>
901
902 * ripd.h (struct rip_peer): New structure added.
903
9041999-10-26 Kunihiro Ishiguro <kunihiro@zebra.org>
905
906 * rip_zebra.c (rip_zebra_ipv4_add): Increment
907 rip_global_route_changes when route change occur.
908 (rip_zebra_ipv4_delete): Likewise.
909
910 * ripd.c (rip_request_process): Increment rip_global_queries when
911 reply to the query is sent.
912
9131999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
914
915 * rip_debug.c (rip_debug_reset): Reset function added.
916
917 * ripd.c (rip_update_process): Logging bug is fixed.
918
9191999-10-10 Marc Boucher <marc@mbsi.ca>
920
921 * ripd.c (config_write_rip): Add config_write_distribute() call.
922
9231999-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
924
925 * ripd.c (rip_distribute_update): Fix bug of access-list
926 prefix-list updates.
927
9281999-09-10 VOP <vop@unity.net>
929
930 * rip_zebra.c: Add redistribute route-map feature.
931
9321999-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
933
934 * ripd.c (rip_response_process): Add check for given prefix is
935 given mask applied one.
936
9371999-09-03 VOP <vop@unity.net>
938
939 * rip_interface.c (rip_interface_multicast_set): Bug fix about
940 setting multicast interface.
941
9421999-09-02 VOP <vop@unity.net>
943
944 * rip_routemap.c: New file added.
945
9461999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
947
948 * ripd.c (show_ip_protocols_rip): Show next update time.
949 (show_ip_protocols_rip): Show redistribute information.
950
9511999-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
952
953 * RIPv2-MIB.txt: New file added.
954
955 * rip_snmp.c: New file added.
956
9571999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
958
959 * rip_interface.c (ip_rip_authentication_string): RIPv2
960 authentication command is added.
961
9621999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
963
964 * rip_interface.c (rip_interface_multicast_set): Process of
965 setting IP_MULTICAST_IF on specific interface.
966
967 * ripd.c (rip_read): Add packet size check.
968
9691999-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
970
971 * ripd.c (rip_request_process): Fill in RIP_METRIC_INFINITY with
972 network byte order using htonl ().
973 (rip_response_process): Pass host byte order address to IN_CLASSC
974 and IN_CLASSB macro.
975
9761999-08-08 davidm@nbase.co.il (David Mozes)
977
978 * rip_zebra.c (rip_zebra_read_ipv4): Fix split horizon problem.
979
9801999-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
981
982 * ripd.c (rip_timer_set): Function added.
983
9841999-07-01 Kunihiro Ishiguro <kunihiro@zebra.org>
985
986 * rip_debug.c: New file added.
987 rip_debug.h: New file added.
988
9891999-07-01 Rick Payne <rickp@rossfell.co.uk>
990
991 * rip_zebra.c (zebra_init): Install standard commands to
992 ZEBRA_NODE.
993
9941999-06-01 David Luyer <luyer@ucs.uwa.edu.au>
995
996 * ripd.c (rip_process_route): Add support for RIP version 1.
997
9981999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
999
1000 * rip_zebra.c: Change to use lib/zclient.[ch].
1001
10021999-05-20 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1003
1004 * ripd.c (rip_add_route): Change the existance route's metric check
1005 to the condition specified by RFC2453.
1006
10071999-05-17 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1008
1009 * ripd.c (rip_process_route): Add the if metric to the route metric.
1010
1011 * ripd.c (rip_add_route): Deleted add if metric to the route.
1012
10131999-05-16 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1014
1015 * rip_interface.c (if_valid_neighbor): New function.
1016
1017 * ripd.c (rip_process_route): Added check whether the datagram
1018 is from a valid neighbor.
1019
10201999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1021
1022 * ripd.c (rip_process_route): Set interface pointer to rinfo.
1023
10241999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1025
1026 * ripd.c (rip_check_address): Unicast and not net 0 or 127 check
1027 added.
1028
10291999-05-14 Stephen R. van den Berg <srb@cuci.nl>
1030
1031 * rip_main.c (signal_init): SIGTERM call sigint.
1032 (sigint): Loggging more better message.
1033
10341999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1035
1036 * ripd.c (rip_add_route): Fix previous route_unlock_node() chenge.
1037
1038 * rip_main.c (main): Change default zlog output to ZLOG_STDOUT for
1039 debugging.
1040
10411999-05-09 Patrick Koppen <koppen@rhrk.uni-kl.de>
1042
1043 * rip_interface.c (rip_request): Fix old semantics for fetching
1044 connected address.
1045
1046 * ripd.c (rip_add_route): Update timer when the route is updated.
1047
10481999-05-09 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
1049
1050 * rip_zebra.c (struct zebra): Add ridist_static, ridist_connect,
1051 redist_rip, redist_ripng.
1052
1053 * rip_zebra.c (zebra_create): Updated for current zebra method.
1054
1055 * ripd.c (rip_add_route): Add missing route_unlock_node().
1056
10571999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1058
1059 * ripd.c (rip_add_route): Add metric check. Reported by Carlos
1060 Alberto Barcenilla <barce@frlp.utn.edu.ar>.
1061
10621999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
1063
1064 * syslog support added
1065
10661998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1067
1068 * ripd.c (rip_announce_func): Apply new lib functions.
1069
10701998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1071
1072 * ripd.c (config_write_rip): Delete vector v argument.
1073 * rip_zebra.c (config_write_zebra): Likewise.
1074 * rip_interface.c (interface_config_write): Likewise.
1075
10761998-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1077
1078 * rip_announce.c (rip_rib_close): When ripd terminates delete all
1079 added route.
1080
10811998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1082
1083 * rip_interface.c: return read packet size.
1084
10851998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
1086
1087 * ripd.h: Modify for compile on Solaris.
1088
10891998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1090
1091 * ripd.c: DEFUN function return CMD_SUCCESS.
1092 change xmalloc to XMALLOC macro.
1093
10941998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1095
1096 * rip_main.c: change CONFDIR to SYSCONFDIR.
1097
10981998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1099
1100 * .cvsignore: added.
1101
11021998-02-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1103
1104 * rip_interface.c (config_write_interface): correct ADVERTISE spell.
1105
1106 * rip_main.c (main): add usage() and make cleanup.
1107
11081998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1109
1110 * ripd.c (rip_version): add rip version command.
1111
11121998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1113
1114 * rip_interface.c (zebra_get_interface): added to get
1115 interface's information.
1116
1117 * ChangeLog: create.