blob: b7f71124df61c3c22c961e38ac96749328ae3c94 [file] [log] [blame]
Paul Jakma7e4bcdc2006-08-04 06:14:13 +000012006-08-04 Paul Jakma <paul.jakma@sun.com>
2
3 * misc_null.c: Add ifstat_update_sysctl, add another required
4 header.
5
Andrew J. Schorra6974fe2006-08-02 16:47:03 +000062006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
7
8 * misc_null.c: Must include header files to get older versions of gcc
9 to process the #pragma statements properly.
10
Paul Jakma36943742006-08-04 06:18:04 +0000112006-08-01 Paul Jakma <paul.jakma@sun.com>
12
13 * irdp_main.c: (irdp_advertisement) free the stream here, when done,
14 right under where it was allocated so it's blindingly obvious
15 it's correct. This possibly fixes a very slow leak of streams in
16 zebra.
17 * irdp_packet.c: (send_packet) don't free the stream here as
18 it's hard to tell if right, plus an error case seemed to
19 returning before free anyway.
20
Paul Jakma457eb9a2006-07-27 19:59:58 +0000212006-07-27 Paul Jakma <paul.jakma@sun.com>
22
23 * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations,
24 useful for testing zebra code that calls such methods.
25 * {redistribute,misc}_null.c: Dummy/Null methods, as above. But
26 for zclient, and for various misc functions.
27 * test_main.c: Test harness for zebra, currently just to test the
28 RIB.
29 * Makefile.am: Build testzebra using above.
Paul Jakma6d691122006-07-27 21:49:00 +000030 * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'.
31 * rib.h: (struct rib) Add a route_node rn_status flag field,
32 this has to be copied every time head RIB of a route_node
33 changes.
34 Remove the rib lock field, not needed - see below.
35 Add a status field for RIB-private flags.
Paul Jakma457eb9a2006-07-27 19:59:58 +000036 * zebra_rib.c: Add a global for the workqueue hold time, useful
37 for testing.
Paul Jakma6d691122006-07-27 21:49:00 +000038 (general) Fix for bug #268. Problem originally detailed by
39 Simon Bryden in [quagga-dev 4001].
40 Essentially, add/delete of a RIB must happen /before/ the
41 queue. Best-path selection (ie rib_process) and reaping of
42 freed RIBs can then be done after queueing. Only the route_node
43 is queued - no important RIB state (i.e. whether a RIB is to be
44 deleted) is queued.
45 (struct zebra_queue_node_t) Disappears, no longer need to
46 track multiple things on the queue, only the route_node.
47 (rib_{lock,unlock}) removed, RIBs no longer need to be
48 refcounted, no longer queued.
49 (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted
50 via the queue.
51 (rib_queue_add_qnode) deleted
52 (rib_queue_add) Only the route_node is queued for best-path
53 selection, we can check whether it is already queued or
54 not and avoid queueing same node twice - struct rib * argument
55 is not needed.
56 (rib_link/unlink) (un)link RIB from route_node.
57 (rib_{add,del}node) Front-end to updates of a RIB.
58 (rib_process) Reap any deleted RIBs via rib_unlink.
59 Unset the route_node 'QUEUED' flag.
60 (General) Remove calls to rib_queue_add where add/del node was
61 called - not needed, update calls where not.
62 Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes
Paul Jakma457eb9a2006-07-27 19:59:58 +000063
Paul Jakma171eee32006-07-27 16:11:02 +0000642006-07-27 Rumen Svobodnikov <rumen@telecoms.bg>
65
66 * connected.c: (connected_up_ipv4) interface connected routes always
67 go to table main (or otherwise they cannot be used by linux as
68 nexthops)
69 * zserv.c: (zread_ipv4_add) send route to the correct routing table
70 * zebra_rib.c (static_install_ipv4) set routing table
71
Paul Jakma27b47252006-07-02 16:38:54 +0000722006-07-02 Paul Jakma <paul.jakma@sun.com>
73
74 * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not
75 proceed if addr is NULL.
76 * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check
77 required arguments are supplied for the given nexthop type.
78
Paul Jakma630c97c2006-06-15 12:48:17 +0000792006-06-15 Paul Jakma <paul.jakma@sun.com>
80
81 * interface.c: (if_flag_dump_vty) redundant code, remove.
82 (if_dump_vty) use libzebra if_flag_dump.
Paul Jakma74ecdc92006-06-15 18:10:47 +000083 (ip_address_uninstall) Unset the configured flag.
84 * connected.c: (connected_same) new helper, check whether
85 two connected are same.
86 (connected_implicit_withdraw) new helper, consolidation of
87 existing code in connected_add_ipv{4,6}.
88 Try filter out unneeded Zserv address delete/adds when
89 address is exact same.
90 Where old address is implicitely removed, be sure to preserve
91 the IFC_CONFIGURED flag if set, fixes bug where configured
92 addresses were being lost on FreeBSD (Andrew Schorr).
Paul Jakma630c97c2006-06-15 12:48:17 +000093
Andrew J. Schorr9c378512006-05-21 04:04:49 +0000942006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
95
96 * connected.c: (connected_withdraw) Do not delete the connected
97 address if the ZEBRA_IFC_CONFIGURED flag is set.
98 (connected_add_ipv4,connected_add_ipv6) Before calling
99 connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag
100 on the superseded connected structure.
101
Andrew J. Schorr0f38dc42006-05-19 13:53:23 +00001022006-05-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
103
104 * connected.c: (connected_add_ipv4,connected_add_ipv6) If the
105 new struct connected matches an already existing one
106 (that will consequently be removed by connected_withdraw),
107 then be sure to preserve the ZEBRA_IFC_CONFIGURED flag.
108
Andrew J. Schorr55196042006-05-17 15:04:59 +00001092006-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
110
111 * kernel_socket.c: (ifam_read_mesg) Improve debug message
112 to show the IP address.
113
Paul Jakma66859782006-05-15 17:00:37 +00001142006-05-15 Paul Jakma <paul.jakma@sun.com>
115
116 * zserv.c: (general) Remove the private zebra_command_str
117 in favour of newly added libzebra zserv_command_string.
118
Paul Jakmabeb56332006-05-11 13:28:05 +00001192006-05-11 Paul Jakma <paul.jakma@sun.com>
120
121 * interface.c: (if_delete_update) route_node_lookup may return
122 NULL, should fix Coverity CID #31.
123
Paul Jakmae6d7d052006-03-30 13:32:09 +00001242006-02-09 Paul Jakma <paul.jakma@sun.com>
125
126 * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid
127 needless padding.
128 (struct rib) Remove the indirect pointer, not used anywhere!
129
paul3a570c82006-02-02 17:27:13 +00001302006-02-02 Paul Jakma <paul.jakma@sun.com>
131
132 * interface.c: (if_dump_vty) move flags to their line, neater.
133
paula1038a12006-01-30 14:08:51 +00001342006-01-30 Paul Jakma <paul.jakma@sun.com>
135
136 * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
137 commit, last commit had a hole that could allow connected
138 route selection to escape beyond the connected route logic.
139 This time I cross-checked with Gunnar first. ;)
140
paula8d9c1f2006-01-25 06:31:04 +00001412006-01-25 Gunnar Stigen <gunnar.stigen@axxessit.no>
142
143 * zebra_rib.c: (rib_process) Application of Gunnar's earlier
144 metric selection RIB change included incorrect tidy-ups made
145 by commiter. Fix. (NB: any errors here are again due to paul).
146
paul5c78b3d2006-01-25 04:31:40 +00001472006-01-25 Paul Jakma <paul.jakma@sun.com>
148
149 * (general) More solaris PF_ROUTE hacks. The IFF_UP mangling
150 for solaris was incomplete on the PF_ROUTE side. fix it.
151 This changeset generally uglifies things. For some future
152 work I'd like to see the state changes seperated out from
153 the details of the code. Differences between systems might
154 then be slightly easier to implement without convoluted
155 hacks.
156 Changes should be specific to Solaris mostly, however
157 also tested on FreeBSD 6.
158 * if_ioctl_solaris.c: (interface_list_ioctl) ignore ~IFF_UP
159 interfaces, we'll hear about them when/if interface goes up
160 through NEWADDR.
161 Update flags explicitely at end of it to kick mangling.
162 * ioctl_solaris.c: (if_mangle_up) removed to interface.c, in
163 kind.
164 (lifreq_set_name) more convenient to take the string, than
165 the ifp.
166 (if_get_flags_direct) new convenience function, returns
167 the actual flags. Used during bootstrap in if_ioctl_solaris.c
168 to peek at flags of logical interfaces to see whether or
169 not to ignore them.
170 (if_get_flags) ENXIO means it's gone, poke out IFF_UP and
171 kick flags update.
172 (if_{un,}set_flags) flags argument should be 64bit.
173 * ioctl.{c,h}: flags argument should be 64bit.
174 * interface.h: Add a 'primary_state' flag to struct zebra_if on
175 SUNOS_5.
176 Export if_flags_update.
177 * interface.c: (if_flags_mangle) moved over in kind from
178 ioctl_solaris.c. Nasty kludge to try get IFF_UP right, as
179 much as is possible. Also keep track of the actual IFF_UP
180 value for the primary interface, so we can know when the ifp
181 must be deleted.
182 (if_flags_update) Take a new interface flags value, apply it
183 to the interface, and take whatever actions are required due
184 to flag transitions.
185 (if_refresh) flag state change logic is moved out to
186 previous. Just call if_get_flags, which will end up using
187 previous to effect the update of flags.
188 (if_flag_dump_vty) IFF_IPV{4,6} aren't interesting, VIRTUAL
189 and NOXMIT are though.
190 * kernel_socket.c: (ifm_read) Down->Down transitions shouldn't
191 create ifp, for non-IFANNOUNCE systems.
192 Use if_flags_update to update flags.
193 flag transition logic is now handled automatically through
194 if_flags_update.
195 (ifam_read) Better to call if_refresh *after* adding
196 connected addresses, as connected count affects IFF_UP on
197 IFF_UP-mangled systems.
198 On Solaris, Up->Down due to DELADDR means we need to delete
199 the ifp - the IFINFO might already have been and gone.
200 * rt.h: include other dependent headers.
201
paule8e19462006-01-19 20:16:55 +00002022006-01-19 Paul Jakma <paul.jakma@sun.com>
203
204 * (general) various miscellaneous compiler warning fixes.
205 Remove redundant break statements from switch clauses
206 which return.
207 Remove stray semi-colons which cause empty-statement
208 warnings.
209 * main.c: (sighup) remove private declaration of external
210 function.
211 (main) return from main, not exit, cause it annoys SOS.
212
paulaf887b52006-01-18 14:52:52 +00002132006-01-18 Gunnar Stigen <gunnar.stigen@axxessit.no>
214
215 * zebra_rib.c: Take interface metric into account.
216
pauld34b8992006-01-17 18:03:04 +00002172006-01-17 Paul Jakma <paul.jakma@sun.com>
218
219 * kernel_socket.c: (ifam_read) Read metric from RTM_NEWADDR.
220 If interface is an alias, pass the alias as a label for
221 connected_add_ipv{4,6}.
222 * rt_netlink.c: (netlink_interface_addr) print out
223 IFA_CACHEINFO info, if present, when debugging kernel
224 messages.
225
paulc7133002006-01-17 17:56:18 +00002262006-01-17 Gunnar Stigen <gunnar.stigen@axxessit.no>
227
228 * connected.c: (connected_up_ipv{4,6}) Include interface metric on
229 connected routes.
paul61f42ae2006-01-17 17:59:11 +0000230 * if_ioctl.c: (if_getaddrs) Be defensive about assuming
231 that struct ifaddrs will have ifa_addr filled in.
paulc7133002006-01-17 17:56:18 +0000232
paulc1b98002006-01-16 01:54:02 +00002332006-01-16 Paul Jakma <paul.jakma@sun.com>
234
235 * zserv.c: Read/write updated Zserv header.
236
paulc77d4542006-01-11 01:59:04 +00002372006-01-11 Paul Jakma <paul.jakma@sun.com>
238
239 * zserv.c: (zsend_interface_{add,delete,update}) if flags are
240 8 bytes now, update to write out with stream_putq.
241
gdt6083e1f2005-12-29 15:59:57 +00002422005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
243
gdte14b7fc2005-12-29 16:04:53 +0000244 * kernel_socket.c: remove dead code (from David Young).
245
gdt6083e1f2005-12-29 15:59:57 +0000246 * rt_socket.c (kernel_rtm_ipv4): Use AF_INET rather than AF_UNSPEC
247 for mask. From David Young.
248
paul89368d92005-11-26 09:14:07 +00002492005-11-26 Paul Jakma <paul.jakma@sun.com>
250
251 * connected.{c,h}: (connected_add_ipv6) label should have
252 const qualifier, fix declarations.
253
paulec1a4282005-11-24 15:15:17 +00002542005-11-24 Paul Jakma <paul.jakma@sun.com>
255
256 * kernel_socket.h: New header for functions exported to sysctl
257 methods.
258 * kernel_socket.c: include previous.
259 Remove static qualifier from couple of functions which are
260 used by sysctl methods.
261 Add a workaround for a bogus gcc warning to the RTA_ macros.
262 * Makefile.am: Add kernel_socket.h to noinst_HEADERS
263 * if_sysctl.c: include rt.h and kernel_socket.h and remove
264 redundant prototypes.
265 * rtread_sysctl.c: ditto.
266 (route_read) fix mismatch of return values.
267 * {rt,zserv,rib}.h: Include lib headers depended on.
268
paul6621ca82005-11-23 13:02:08 +00002692005-11-23 Paul Jakma <paul.jakma@sun.com>
270
271 * (general) fix some small compile errors, and mark several
272 functions as static.
273 * kernel_socket.c: (ifan_read) should be static.
274 fix missing brackets.
275 (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static
276 (ifam_read_mesg) make static. fix incorrect variable name.
277 (rtm_read) make static. Fix call to rib_delete_ipv4 which
278 should be rib_delete_ipv6.
279 (routing_socket,kernel_init) should be static. Void argument
280 should be specified as such, not left incomplete.
281 * rt_netlink.c: rt.h should be included, contains prototypes of
282 exported functions.
283 (kernel_delete_ipv6_old) fix sign of index argument.
284 * rt_socket.c: Exact same as previous. Also, make various
285 functions static.
286 * rtread_getmsg.c: Include zserv.h, which prototypes
287 route_read. Make static.
288 * rtread_sysctl.c: zserv.h and rt.h should be included.
289 fix definition of route_read.
290
paul0fb58d52005-11-14 14:31:49 +00002912005-11-14 Paul Jakma <paul.jakma@sun.com>
292
293 * zebra_rib.c: (rib_process) convert to new workqueue specs and
294 shut up gcc, which complains about cast from void via
295 function parameters, for some dumb reason. Do the cast
296 inside the function instead.
297 (rib_queue_qnode_del) ditto.
298 (rib_queue_init) no need for the casts anymore.
299
paul6fe70d12005-11-12 22:55:10 +00003002005-11-12 Alexander Gall <gall@switch.ch>
301
302 * See [quagga-dev 1815]
303 * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN
304 is not available.
305 * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to
306 AF_INET6 on ipv6 routes.
307
3082005-11-12 Paul Jakma <paul.jakma@sun.com>
309
310 * kernel_socket.c: Add RTA_NAME_GET macro to extract name from
311 sockaddr_dl. Add some more RTF_ flags.
312 * (ifan_read) Add some debug messages.
313 * (ifm_read) Add more debug messages. More robust cross-checks
314 of index against name.
315 Fall back to by-name lookup if the index lookup fails, future
316 proofing more than anything else.
317 (ifam_read_mesg) Read RTA_IFP. Add debug messages.
318 (ifam_read) More debug. If there's an RTA_IFP and it isn't
319 the name of the interface, save it as the label.
320 (rtm_read_mesg) Read RTA_IFP.
321 (rtm_read) allow name to be retrieved.
322 (rtmsg_debug) expand on the debug message.
323
paul0994c3a2005-11-11 09:52:40 +00003242005-11-11 Paul Jakma <paul.jakma@sun.com>
325
326 * kernel_socket.c: (ifm_read) arithmetic on void pointer
327 warning.
328 (ifam_read) Fix error from connected-with-label merge,
329 something crept in from the pending Solaris kernel_socket.c
330 patch which shouldn't have.
331
paul0752ef02005-11-03 12:35:21 +00003322005-11-03 Paul Jakma <paul.jakma@sun.com>
333
334 * connected.{c,h}: Include memory.h
335 (connected_add_ipv4) Use MTYPE for ifc label.
336 (connected_add_ipv6) Also should accept label. Store it in ifp.
337 (connected_del_ipv4) Taking label as argument is pointless.
338 * rt_netlink.c: (netlink_interface_addr) update label usage
339 for connected_{add,delete} functions.
340 * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
341 * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
342 so we also find out about NOXMIT interfaces like VNI.
343 Bit of hackery to turn interface names into the primary
344 interface name, later with routing socket messages we only
345 will about primary interfaces anyway, so we must normalise
346 the name.
347 (if_get_addr) take label as argument, so it can
348 be passed to connected_add.
349 If label is provided, then it is interface name to issue the
350 ioctl for address information on, not the ifp name.
351 (interface_list) List AF_UNSPEC too, just in case.
352 * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
353 * interface.c: (if_addr_wakeup) Some very bogus code - sets
354 IFF_RUNNING - add comment.
355 (if_refresh)
356 (ip_address_install) Use MTYPE for ifc label.
357 * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
358 IFF_UP reflect whether any addresses are left on the
359 interface, as we get signalled for IFF_UP flags change on the
360 primary interface only. Logical interfaces dont generate
361 IFINFO, but we do get an RTM_DELADDR.
362 (if_get_flags) Call if_mangle_up before return.
363 * kernel_socket.c: (ifam_read) Fixup calls to
364 connected_{add,delete} to match above changes. Rename gate
365 variable to brd, less confusing.
366 Pass the interface name as a label, if it is not same name
367 as ifp->name.
368
pauld06b2a62005-10-11 03:53:54 +00003692005-10-11 Paul Jakma <paul.jakma@sun.com>
370
371 * connected.{c,h}: (connected_{add,delete}_ipv4) label should
372 be const qualified.
373
ajsc05612b2005-10-01 16:36:54 +00003742005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
375
ajsf52d13c2005-10-01 17:38:06 +0000376 * zebra_vty.c: (route_type_str) Remove obsolete function: use new
377 library function zebra_route_string() instead. Note that there
378 are a few differences: for IPv6 routes, we now get "ripng" and
379 "ospf6" instead of the old behavior ("rip" and "ospf").
380 (route_type_char) Remove obsolete function: ues new library function
381 zebra_route_char() instead. Note that there is one difference:
382 the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
383 whereas the new one returns 'X'.
384 (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
385 route_type_str() with zebra_route_string().
386 (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
387 with zebra_route_char().
388
3892005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
390
ajsc05612b2005-10-01 16:36:54 +0000391 * rt_netlink.c: (netlink_request) Use memset to clear structure
392 before calling sendto (eliminates a valgrind error message about
393 uninitialized data).
vincentaa2e32b2005-09-28 13:42:11 +0000394
3952005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
396
vincentfbf5d032005-09-29 11:25:50 +0000397 * zserv.c: Always provied distance for route add
398
3992005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
400
vincentaa2e32b2005-09-28 13:42:11 +0000401 * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
402 usage with HAVE_IPV6
403
hassod24af182005-09-24 14:00:26 +00004042005-09-24 Hasso Tepper <hasso at quagga.net>
405
406 * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
407 add is treated as implicit withdraw.
408
hassoebf1ead2005-09-21 14:58:20 +00004092005-09-21 David Young <dyoung@ojctech.com>
410
411 * zebra_rib.c: Reduce the height of some staircases. Fix
412 rib_delete_ipv6() to match routes in the RIB by their gateway as
413 well as by destination.
414
paul319572c2005-09-21 12:30:08 +00004152005-09-21 Paul Jakma <paul.jakma@sun.com>
416
417 * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
418 removal of static routes with multiple-hops introduced with
419 the workqueue conversion. We should free the relevant
420 nexthop and then get rib_process to run, otherwise we just
421 get same static route back again (with no way to unconfigure
422 it, because its already deleted from configuration).
423
paulca162182005-09-12 16:58:52 +00004242005-09-12 Paul Jakma <paul.jakma@sun.com>
425
426 * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR
427 support.
428 * connected.c: (connected_withdraw) new function. withdraw a
429 connected subnet address set from zebra, and pass information
430 along to clients.
431 (connected_announce) similar, but to announce a new connected
432 subnet address set.
433 (connected_check_ipv4) renamed to connected_check, as its
434 AFI independent.
435 (connected_add_ipv{4,6}) Remove the connected address announce
436 stuff, use connected_announce instead.
437 If connected_check indicates address is already present,
438 treat it as an implicit withdraw of the existing address, ie
439 remove the old address details and replace with the new
440 details.
441 (connected_delete_ipv{4,6}) Use connected_withdraw.
442 (connected_check_ipv6) deleted in favour of connected_check.
443 * connected.h: Rename connected_check_ipv4 to connected_check.
444 delete connected_check_ipv6.
445 * interface.c: Use connected_check rather than the AFI specific
446 symbols.
447 * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a
448 rib delete event for the existing route, before adding route
449 again.
450 (kernel_read) we can handle RTM_CHANGE now.
451
hassobe61c4e2005-08-27 06:05:47 +00004522005-08-27 Hasso Tepper <hasso at quagga.net>
453
454 * zebra_rib.c, rib.h: Add distance and metric arguments to the
455 rib_add_ipv6() function so that IPv6 routes in RIB can have correct
456 metric. No IPv6 routing daemon uses distance yet though.
457 * zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
458 rtread_proc.c,zserv.c: Pass metric and distance info to the
459 rib_add_ipv6().
460
paul6eb88272005-07-29 14:36:00 +00004612005-07-29 Paul Jakma <paul.jakma@sun.com>
462
463 * interface.c: (if_delete_update) should always be available, not
464 just on RTM_IFANNOUNCE/NETLINK systems.
465 * kernel_socket.c: (ifan_read) only call if_delete_update when
466 interface departs, dont if_delete, because we wish to retain
467 interface configuration state even when interfaces are removed.
468 (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning
469 to down state is only chance we have to clean up interface in case
470 it is deleted (eg Solaris down -> unplumb -> plumb up).
471 * redistribute.c: (zebra_interface_delete_update) should always be
472 available, we /will/ call it now on all systems, via
473 if_delete_update.
474 * zserv.c: (zsend_interface_delete) ditto
475 (zsend_interface_address) Update the call-flow diagramme, to
476 reflect that if_delete_update /is/ now called on all systems,
477 potentially.
478 * zserv.h: (zsend_interface_delete) unconditionally exported, as
479 above.
480
paula1ac18c2005-06-28 17:17:12 +00004812005-06-28 Paul Jakma <paul.jakma@sun.com>
482
483 * (global) Extern and static'ification, with related fixups
484 of declarations, ensuring files include their own headers, etc.
paulea6f82b2005-06-28 17:20:26 +0000485 * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in
paula1ac18c2005-06-28 17:17:12 +0000486 list loop
paulea6f82b2005-06-28 17:20:26 +0000487 * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
488 should be on DEST argument
paula1ac18c2005-06-28 17:17:12 +0000489
paul62debbb2005-06-14 14:07:07 +00004902005-06-14 Paul Jakma <paul.jakma@sun.com>
491
492 * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and
493 RTM{ADDR,MASK}GET macros into generic rta_addrs macros,
494 RTA_{ADDR,ATTR}_GET.
495 (af_check) could use 'inline' attribute
496 (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to
497 generic macro.
498 (rtm_read_mesg) similar
499
hasso1ada8192005-06-12 11:28:18 +00005002005-06-12 Hasso Tepper <hasso at quagga.net>
501
502 * rt_netlink.c: Remove netlink-addr socket declaration, it's not used.
503 * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is
504 unsigned and one zlog call had swapped arguments.
505 * rt_netlink.c (netlink_route_multipath): Fix compile with disabled
506 IPv6 support.
507
paul1dcb5172005-05-31 08:38:50 +00005082005-05-31 Paul Jakma <paul.jakma@sun.com>
509
510 * zserv.c: (zsend_route_multipath) Fix bug if route is sent
511 with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX
512 and ZAPI_MESSAGE_NEXTHOP are always set, clients would try
513 read non-existent nexthop information and hit stream assert.
514 Zserv is still broken for multi-nexthop messages, but it always was.
515
paul69e10ad2005-05-06 21:27:33 +00005162005-05-06 Paul Jakma <paul.jakma@sun.com>
517
518 * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
519
paul4d38fdb2005-04-28 17:35:14 +00005202005-04-28 Paul Jakma <paul.jakma@sun.com>
521
522 * rib.h: (struct rib) Add lock field for refcounting.
523 * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
524 'master' struct.
525 * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
526 * zebra_rib.c: Clean up refcounting of route_node, make struct rib
527 refcounted and convert rib_process to work-queue. In general,
528 rib's should be rib_addnode'd and delnode'd to route_nodes, and
529 these symmetrical functions will manage the locking of referenced
530 route_node and freeing of struct rib - rather than having users
531 manage each seperately - with much scope for bugs..
532 (newrib_free) removed and replaced with rib_lock
533 (rib_lock) new function, check state of lock and increment.
534 (rib_unlock) new function, check lock state and decrement. Free
535 struct rib if refcount hits 0, freeing struct nexthop's, as
536 newrib_free did.
537 (rib_addnode) Add RIB to route_node, locking both.
538 (rib_delnode) Delete RIB from route_node, unlocking each.
539 (rib_process) Converted to a work-queue work function.
540 Functional changes are minimal, just arguments, comments and
541 whitespace.
542 (rib_queue_add_qnode) Helper function to setup a ribq item.
543 (rib_queue_add) Helper function, same arguments as old
544 rib_process, to replace in callers of rib_process.
545 (rib_queue_qnode_del) ribq deconstructor.
546 (rib_queue_init) Create the ribq.
547 (rib_init) call rib_queue_init.
548 (remainder) Sanitise refcounting of route_node's. Convert to
549 rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
550 to XCALLOC. Remove calls to nexthop_delete and nexthop_free.
551
paulcf460ef2005-04-10 16:54:26 +00005522005-04-10 Paul Jakma <paul@dishone.st>
553
554 * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
555 in ALL_LIST_ELEMENTS_RO macro.
556
ajs57a14772005-04-10 15:01:56 +00005572005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
558
559 * zserv.c (zebra_client_read): Fix bug: first read attempt should
560 read ZEBRA_HEADER_SIZE minus the number of bytes already read.
561 Improve efficiency by maintaining a calculation of the number
562 of bytes read instead of calling stream_get_endp multiple times.
563 If message length is too small, issue a warning message (not debug)
564 before closing the connection. And also check that message length
565 is not too big.
566
hasso206d8052005-04-09 16:38:51 +00005672005-04-09 Hasso Tepper <hasso at quagga.net>
568
hassofa599802005-04-09 16:59:28 +0000569 * rt_netlink.c: One tiny missing comma caused pointless debug messages
570 about IPv6 nexthops.
571
5722005-04-09 Hasso Tepper <hasso at quagga.net>
573
hasso206d8052005-04-09 16:38:51 +0000574 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
575 status to unsigned here, because we already checked that it isn't
576 negative or 0.
577 * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
578 address, not to the interface.
579 * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
580 is printed out now and IPv6 info is handeled.
581
paul3d1dc852005-04-05 00:45:23 +00005822005-04-05 Paul Jakma <paul@dishone.st>
583
584 * zserv.c: print more helpful errors when we fail to successfully
585 bind and listen on zserv socket. Closes bugzilla #163.
586
ajsd2fc8892005-04-02 18:38:43 +00005872005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
588
ajs08dbfb62005-04-03 03:40:52 +0000589 * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
590 * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
591 avoid overflow.
592 * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
593
5942005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
595
ajsa3491982005-04-02 22:50:38 +0000596 * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
597 to save a memcpy.
598 * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
599 if_get_by_name_len function.
600
6012005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
602
ajsd2fc8892005-04-02 18:38:43 +0000603 * interface.c: (if_new_intern_ifindex) Remove obsolete function.
604 (if_delete_update) After distributing the interface deletion message,
605 set ifp->ifindex to IFINDEX_INTERNAL.
606 (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
607 IFINDEX_INTERNAL.
608 (zebra_interface) Check return code from interface_cmd.func.
609 Do not set internal ifindex values to if_new_intern_ifindex(),
610 since we now use IFINDEX_INTERNAL for all pseudo interfaces.
611 * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
612 all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
613 * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
614 Detects interface rename events by checking if that ifindex is already
615 being used. If it is, delete the old interface before assigning
616 the ifindex to the new interface.
617 (netlink_interface, netlink_link_change) Call set_ifindex to update
618 the ifindex.
619
hassob7ed1ec2005-03-31 20:13:49 +00006202005-03-31 Hasso Tepper <hasso at quagga.net>
621
622 * rt_netlink.c (netlink_talk_filter): Show always warning message,
623 it's not for debug.
624 * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
625 although we do now actually.
626 * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
627 netlink_cmd to send messages to the kernel.
628
ajs2da40f42005-03-30 16:33:13 +00006292005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
630
631 * irdp.h: Add prototype for irdp_sock_init, and fix protos for
632 other irdp_* functions.
633 * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
634 call irdp_sock_init to create the IRDP socket.
635 (irdp_if_init) Rename to irdp_init().
636 (get_iflist_ifp) Remove function that is a duplicate of
637 if_lookup_by_index.
638 (*) Make many functions static. And remove superfluous "\n" from
639 several zlog messages.
640 * irdp_main.c: (irdp_init) Remove function that used to call
641 irdp_if_init() and irdp_sock_init(), since we will now create
642 the socket only upon first use.
643 (irdp_sock_init) Do not update global irdp_sock variable, just
644 return the fd and assume that the caller will do so. If setsockopt
645 calls fail, close the socket before returning -1.
646 (*) Make many functions static.
647 * irdp_packet.c: Initialize irdp_sock to -1.
648 (irdp_read_raw) Call standard library function if_lookup_by_index
649 instead of get_iflist_ifp.
650 (irdp_recvmsg) Should be static, not global.
651
ajsa608bbf2005-03-29 17:03:49 +00006522005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
653
654 * rt_netlink.c: (netlink_link_change) If the status of an
655 operative interface changes (e.g. MTU changes), the client
656 daemons should be notified by calling zebra_interface_up_update.
657 Previously, the information was being updated in zebra's
658 interface structure, but the clients were not notified of
659 changes to an operative interface.
660
vincent7cee1bb2005-03-25 13:08:53 +00006612005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
662 * interface.c, interface.h, rtadv.c, rtadv.h: modifications to
663 IPv6 Neighbor Discovery according to RFC3775, section 7:
664 o 1-bit Home Agent flag management in Router Advertisement (7.1).
665 o 1-bit Router Address flag management in Prefix Information
666 Option (7.2).
667 o Advertisement Interval Option (7.3)
668 o Home Agent Information Option (7.4)
669 o Changes to Sending Router Advertisements more frequently (7.5)
670
hassoed9bb6d2005-03-13 19:17:21 +00006712005-03-13 Hasso Tepper <hasso at quagga.net>
672
673 * zebra/interaface.c: "show interface description" command
674 implemented.
675
paulc1f01f32005-03-12 06:33:14 +00006762005-03-12 Paul Jakma <paul@dishone.st>
677
678 * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
679 No stock Linux kernel has ever supported it, and even if it had
680 it's not generally a good idea.
681
hasso42a66d72005-03-07 08:19:44 +00006822005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
683
684 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
685
hasso3452d472005-03-06 13:42:05 +00006862005-03-06 Hasso Tepper <hasso at quagga.net>
687
688 * interface.c: Fix CRC and frame errors statistics in Linux.
689
ajs719e9742005-02-28 20:52:15 +00006902005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
691
692 * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
693 Remove global message_queue and t_write (need separate buffering for
694 each client).
695 (zebra_server_dequeue,zebra_server_enqueue) Remove functions
696 related to old buggy buffering code.
697 (zserv_delayed_close) New thread callback function to delete a client.
698 (zserv_flush_data) New thread callback function to flush buffered
699 data to client.
700 (zebra_server_send_message) Rewritten to use buffer_write (so
701 buffering of writes and non-blocking I/O work properly).
702 (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
703 zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
704 (this is not really an error). Return value from
705 zebra_server_send_message.
706 (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
707 zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
708 (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
709 from zebra_server_send_message.
710 (zsend_router_id_update) Must use zebra_server_send_message instead
711 of deprecated writen function. Return 0 instead of -1 if this client
712 is not subscribed to router-id updates (since this is not really
713 an error).
714 (zread_interface_add) Change type to static int. If
715 zsend_interface_add fails or zsend_interface_address fails, return -1
716 immediately (since the client has had an I/O error).
717 (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
718 zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
719 to indicate success.
720 (zread_ipv4_nexthop_lookup) Return value from
721 zsend_ipv4_nexthop_lookup.
722 (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
723 (zebra_read_ipv6) Remove unused function.
724 (zread_ipv6_nexthop_lookup) Return value from
725 zsend_ipv6_nexthop_lookup.
726 (zread_router_id_add) Return value from zsend_router_id_update.
727 (zebra_client_close) Call buffer_free(client->wb) and
728 thread_cancel(client->t_suicide).
729 (zebra_client_create) Allocate client->wb using buffer_new.
730 (zebra_client_read) Support non-blocking I/O by using stream_read_try.
731 Use ZEBRA_HEADER_SIZE instead of 3.
732 (zebra_accept) Fix bug: reset accept thread at top. Make client
733 socket non-blocking using the set_nonblocking function.
734 (config_write_forwarding) Fix scope to static.
735 (zebra_init) Remove initialization code for old buggy write buffering.
736 * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
737 (to enable buffered writes with non-blocking I/), and
738 struct thread *t_suicide to support delayed close on I/O
739 errors.
740 * router-id.h: Remove prototypes for zread_router_id_add and
741 zread_router_id_delete (their scope should be static to zserv.c).
742
ajs27da3982005-02-24 16:06:33 +00007432005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
744
745 * redistribute.c: (zebra_check_addr,is_default,
746 zebra_redistribute_default,zebra_redistribute) Fix scope to be static.
747
hassoe8274dc2005-02-20 19:09:23 +00007482005-02-20 Hasso Tepper <hasso at quagga.net>
749
750 * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
751 if we are not debugging.
752
paule31f2292005-02-19 02:00:26 +00007532005-02-19 Paul Jakma <paul@dishone.st>
754
755 * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
756 STREAM_READABLE.
757
paul1e193152005-02-14 23:53:05 +00007582005-02-14 Paul Jakma <paul@dishone.st>
759
760 * Not all Linux netlink systems have IFLA_WIRELESS
761
ajs6a52d0d2005-01-30 18:49:28 +00007622005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
763
764 * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
765 zlog_err.
766 * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
767 zlog_err.
768
ajs4be019d2005-01-29 16:12:41 +00007692005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
770
ajs4460e7a2005-01-29 17:07:40 +0000771 * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
772 zserv_privs.change.
773 * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
774 zserv_privs.change.
775 * ipforward_solaris.c: (solaris_nd) Save errno before calling
776 zserv_privs.change.
777 * irdp_main.c: (irdp_sock_init) Save errno before calling
778 zserv_privs.change.
779
7802005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
781
ajs4be019d2005-01-29 16:12:41 +0000782 * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
783 netlink_talk) Save errno before calling zserv_privs.change.
784
paulc15cb242005-01-24 09:05:27 +00007852005-01-24 Martin Pot <mpot at martybugs.net>
786
787 * zebra/rt_netlink.c: ignore wireless newlink netlink messages.
788
hasso6f2c27a2005-01-18 13:44:35 +00007892005-01-18 Hasso Tepper <hasso at quagga.net>
790
791 * interface.c: Better statistics output in "show interface" command in
792 case of /proc being used.
793
hasso583d8002005-01-16 23:34:02 +00007942005-01-17 Hasso Tepper <hasso at quagga.net>
795
796 * main.c: With --nl-bufsize argument is required.
797
paul865b8522005-01-05 08:30:35 +00007982005-01-05 Paul Jakma <paul@dishone.st>
799
800 * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
801 for now, as we dont actually deal with with resending.... See
802 bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
803 * kernel_socket.c: (routing_socket) ditto.
804
ajsb99760a2005-01-04 16:24:43 +00008052005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
806
807 * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
808 instead of CMSG_FIRSTHDR.
809
ajs341a8f12004-12-22 16:32:16 +00008102004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
811
812 * connected.c: (connected_add_ipv4) Limit warning about /32 addresses
813 with no peer specified to PtP interfaces only.
814
hassob8adec12004-12-18 16:03:28 +00008152004-12-18 Hasso Tepper <hasso at quagga.net>
816
817 * zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it
818 work for isis routes.
819
gdt6a250b02004-12-09 14:48:12 +00008202004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
821
822 * kernel_socket.c (rtmsg_debug): char * => const char *
823
ajs274a4a42004-12-07 15:39:31 +00008242004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
825
ajsb6178002004-12-07 21:12:56 +0000826 * *.c: Change level of debug messages to LOG_DEBUG.
827
8282004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
829
ajs274a4a42004-12-07 15:39:31 +0000830 * main.c: (main) The 2nd argument to openzlog has been removed.
831 So stdout logging will no longer be enabled by default.
832 * irdp_main.c: (irdp_finish) Reduce severity of shutdown message
833 from LOG_WARNING to LOG_INFO.
834
ajs887c44a2004-12-03 16:36:46 +00008352004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
836
837 * main.c: (sigint) Use zlog_notice for termination message.
838 (main) Add a startup announcement using zlog_notice.
839
hassoaccb1562004-11-25 19:21:07 +00008402004-11-25 Hasso Tepper <hasso at quagga.net>
841
842 * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because
843 it confuses extract.pl.
hassoc0652302004-11-25 19:33:48 +0000844 * main.c: Make group to run as configurable.
hassoaccb1562004-11-25 19:21:07 +0000845
hasso6bd7c6a2004-10-28 17:32:27 +00008462004-10-28 Hasso Tepper <hasso at quagga.net>
847
848 * interface.c: Remove dead "ip tunnel" command.
849
paul06f953f2004-10-22 17:00:38 +00008502004-10-22 Paul Jakma <paul@dishone.st>
851
852 * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex
853
hasso3fb9cd62004-10-19 19:44:43 +00008542004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
855
856 * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore
857 tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL].
858 * interface.c: (ip_address_install) Use new ipv4_broadcast_addr
859 function.
860 * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST
861 macro.
862 (connected_down_ipv4) ditto.
863 (connected_add_ipv4) Validate destination address, print warnings
864 if it does not make sense.
865
hassoc1eaa442004-10-19 06:26:01 +00008662004-10-19 Hasso Tepper <hasso at quagga.net>
867
868 * zserv.c: Fix regression introduced with zserv cleanup.
869
hassoc75105a2004-10-13 10:33:26 +00008702004-10-13 Hasso Tepper <hasso at quagga.net>
871
872 * zebra_snmp.c: Remove defaults used to initialize smux connection to
873 snmpd. Connection is initialized only if smux peer is configured.
hassob71f00f2004-10-13 12:20:35 +0000874 * zserv.c: Remove useless warnings "forwarding is already on".
hassoc75105a2004-10-13 10:33:26 +0000875
hasso39ff11d2004-10-12 15:55:19 +00008762004-10-12 Hasso Tepper <hasso at quagga.net>
877
878 * zebra_vty.c: Unbreak "show ip route" command help and make it work
879 for isis routes.
hasso39db97e2004-10-12 20:50:58 +0000880 * interface.c(if_dump_vty): Show IPv6 addresses in "show interface"
881 output. Fixes Bugzilla #119.
882 * *.c: Make some strings const and some (unsigned) casts to fix
883 compiler warnings.
hasso39ff11d2004-10-12 15:55:19 +0000884
hassofce954f2004-10-07 20:29:24 +00008852004-10-07 Hasso Tepper <hasso at quagga.net>
886
887 * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c:
888 Fix warnings: make strings const, signed -> unsigned.
889
paul72164662004-10-05 14:39:43 +00008902004-10-05 Paul Jakma <paul@dishone.st>
891
892 * irdp_packet.c: (parse_irdp_packet) style issues.
893 Use sockopt_iphdrincl_swab_systoh.
894 Try unbork the code. Checksum the ICMP data and actually
895 compare it to received checksum. Check data length against
896 claimed length in header.
897 Always use ntoh.. when accessing addresses, even when the
898 comparison happens to be endian-safe.
899 (send_packet) minor style isues. Use
900 sockopt_iphdrincl_swab_htosys.
901 (irdp_iph_hton/ntoh) IP header to/from network/host order.
902
hassoeef1fe12004-10-03 18:46:08 +00009032004-10-03 Gilad Arnold <gilad.arnold at terayon.com>
904
905 * interface.c, interface.h: A new prefix tree of connected subnets is
906 associated with each interface structure in zebra, in which each
907 live (ie, non-synthetic) node holds a list of installed addresses
908 that belong to that prefix. Remove secondary address logic from cli.
909 See [quagga-dev 872] for detailed explanation.
910 * connected.c: Use if_subnet_add() and if_subnet_delete().
911
hasso18a6dce2004-10-03 18:18:34 +00009122004-10-03 James R. Leu <jleu at mindspring.com>
913
914 * router-id.c, router-id.h: New files. Router id selection process. If
915 there is non 127.x.x.x address in loopack interface, lowest of them
916 is chosen. If there isn't, lowest from other interfaces addresses
917 are chosen. "router-id x.x.x.x" vty command to manual override.
918 * Makefile.am: Compile new files.
919 * main.c: Initialize router id.
920 * redistribute.c: Add interface addresses into router id selection
921 lists as they (dis)appear.
922 * zserv.c, zserv.h: Sending router id related messages to daemons.
923
hassoc9e52be2004-09-26 16:09:34 +00009242004-09-26 Hasso Tepper <hasso at quagga.net>
925
926 * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
927 rtadv.c, zebra_vty.c: Fix compiler warnings.
928
paul0c0f9112004-09-24 08:24:42 +00009292004-09-24 Paul Jakma <paul@dishone.st>
930
paul26f7a242004-09-24 08:45:10 +0000931 * irdp_interface.c: (no_ip_irdp_address_preference_cmd)
932 add missing listnode declaration.
933
9342004-09-24 Paul Jakma <paul@dishone.st>
935
paul0c0f9112004-09-24 08:24:42 +0000936 * irdp_{interface,main}.c: lists typedef removal cleanup.
937 update some list loops to LIST_LOOP. some miscellaneous style
938 and indent fixups.
939 (no_ip_irdp_address_preference_cmd) Fix delete of referenced node
paul26f7a242004-09-24 08:45:10 +0000940 in loop.
paul0c0f9112004-09-24 08:24:42 +0000941 * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer
942 to pointer.
943 * if_ioctl{,_solaris}.c: lists typedef removal cleanup.
944 update some list loops to LIST_LOOP.
945
hasso52dc7ee2004-09-23 19:18:23 +00009462004-09-23 Hasso Tepper <hasso at quagga.net>
947
948 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
949
paul44983cf2004-09-22 13:15:58 +00009502004-09-22 Paul Jakma <paul.jakma@sun.com>
951
952 * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
953 in_addr to sizeof(struct in6_addr), causing odd and hard to debug
954 crash.
955
hassoc34b6b52004-08-31 13:41:49 +00009562004-08-31 Hasso Tepper <hasso at quagga.net>
957
958 * main.c, rt_netlink.c: Added -s command line switch for tuning
959 netlink receive buffer size in Linux to avoid buffer overruns.
960
gdta5ea6872004-08-26 13:24:00 +00009612004-08-26 Miles Nordin <carton@Ivy.NET>
962
963 * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
964 sysctl(3), rather than int. (Needed on NetBSD/alpha to display
965 forwarding status correctly.)
966
paul3e0b3a52004-08-23 18:58:32 +00009672004-08-23 Paul Jakma <paul@dishone.st>
968
969 * zserv.c: (zebra_init) remove implicit ip forward enabling
970
paul0de1cde2004-08-19 04:45:33 +00009712004-08-19 Paul Jakma <paul@dishone.st>
972
973 * irdp_main.c: update to match sockopt renames.
974 * irdp_packet.c: include sockopt.h and update to match sockopt
975 renames.
976
gdt57492d52004-08-11 18:06:38 +00009772004-08-11 Greg Troxel <gdt@fnord.ir.bbn.com>
978
979 * rtadv.c (rtadv_send_packet): Allocate space for control messages
980 more carefully; it was wrong on NetBSD/sparc where CMSG alignment
981 is to 8 bytes instead of 4, and overwriting the address. Use the
982 provided macros for determining lengths.
983
paul5b73a672004-07-23 15:26:14 +00009842004-07-23 Sowmini Varadhan <Sowmini.Varadhan@Sun.COM>
985
986 * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups
987 * zserv.c: ditto
988 * ioctl_solaris.c: ditto.
989 * interface.c: cast for LLADDR
990 * interface.h: Add guards, include redistribute.h and remove
991 extraneous definitions of zebra_interface_{up,down}_update
992 * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6
993 * redistribute.h: include dependent header, zserv.h
994 * zserv.h: include dependent header, rib.h
995
paul1470baf2004-07-23 15:25:01 +00009962004-07-23 Paul Jakma <paul@dishone.st>
997
998 * irdp_main.c: use setsockopt_pktinfo_ipv4
999 * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and
1000 getsockopt_pktinfo_ifindex()
1001
gdtcced60d2004-07-13 16:45:54 +000010022004-07-13 David Wiggins <dwiggins@bbn.com
1003
1004 * kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'.
1005
hasso25dac852004-07-13 03:06:51 +000010062004-07-13 Hasso Tepper <hasso@estpak.ee>
1007
1008 * irdp_main.c: Add privilege change.
1009
hasso996933f2004-07-12 16:32:56 +000010102004-07-12 Hasso Tepper <hasso@estpak.ee>
1011
1012 * irdp_interface.c: follow common style while naming vty command
1013 functions. Avoids confusion in extract.pl.
1014
gdt87efd642004-06-30 17:36:11 +000010152004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1016
1017 * main.c: define thread_master variable so that linking with
1018 libzebra.so doesn't fail. Arguably zclient.o should be in a
1019 separate library, but this is far less disruptive.
1020
hassoca776982004-06-12 14:33:05 +000010212004-06-12 Robert Olsson <Robert.Olsson at data.slu.se>
1022
1023 * Added IRDP support.
1024
hasso3e31cde2004-05-18 11:58:59 +000010252004-05-18 Hasso Tepper <hasso@estpak.ee>
1026
1027 * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd
1028 prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of
1029 "ipv6 nd prefix" command to allow various combinations of parameters
1030 and flags. No defaults in configuration. Replaced on-link and
1031 autoconfig with off-link and no-autoconfig flags in command syntax.
1032 Cosmetic fixes in all commands. Documentation to reflect all changes.
1033
paul19877dd2004-05-11 10:49:35 +000010342004-05-11 Paul Jakma <paul@dishone.st>
1035
1036 * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
paul48a46fa2004-05-11 10:55:22 +00001037 * if_ioctl_solaris.c: Fixup some erroneous privilege changes and
1038 add privs.h header.
1039 * ioctl_solaris.c: ditto
paulc50ae8b2004-05-11 11:31:07 +00001040 * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6
1041 * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while
1042 RHS in assignments :)
1043 * redistribute.c: (zebra_interface_delete_update) only used
1044 if RTM_IFANNOUNCE and NETLINK is available.
1045
paulb9df2d22004-05-09 09:09:59 +000010462004-05-09 Paul Jakma <paul@dishone.st>
1047
1048 * zserv.c: (zsend_route_multipath) Set the nexthop_num
1049 field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6.
1050 Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds.
1051 (zsend_ipv4_add) cruft, deleted.
1052 (zsend_ipv4_delete) ditto.
1053 (zsend_ipv6_add) ditto.
1054 (zsend_ipv6_delete) ditto.
paul44145db2004-05-09 11:00:23 +00001055 * ioctl.c: (if_get_mtu) set mtu6 to mtu
1056 * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
1057 * rt_netlink.c: (netlink_interface) set mtu6 to mtu
1058 (netlink_link_change) ditto
paul66e94882004-05-09 17:19:24 +00001059 * ipforward_solaris.c: fix typo of ND variable.
paul88424682004-05-09 18:21:35 +00001060 * if_ioctl_solaris.c: Add zprivs support.
1061 * ioctl_solaris.c: ditto.
paul66e94882004-05-09 17:19:24 +00001062
paulb9df2d22004-05-09 09:09:59 +000010632004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
1064
1065 * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed
1066 into single zsend_route_multipath function.
1067 (zsend_interface_{up,down}) collapsed into zsend_interface_update.
1068 (zsend_interface_address_{add,delete}) collapsed into
1069 zsend_interface_address.
1070 (zsend_interface_add) send mtu6.
1071 (zsend_interface_delete) ditto.
1072 (zebra_write) remove unused function.
1073 (various) Apply static qualifier. Add comments.
1074 * zserv.h: Definitions changed as per above.
1075 * redistribute.c: Changes as per zserv.c.
paul44145db2004-05-09 11:00:23 +00001076 * interface.c: (if_delete_update) only used with HAVE_NETLINK
1077 and RTM_IFANNOUNCE.
1078 (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
1079 (if_dump_vty) print mtu6 if not same as mtu
paul88424682004-05-09 18:21:35 +00001080 * if_ioctl_solaris.c: New file, Solaris interface ioctl methods.
1081 * ioctl_solaris.c: New file, Common solaris ioctl methods.
1082
hasso34195bf2004-04-06 12:07:06 +000010832004-04-06 Krzysztof Oledzki <oleq@ans.pl>
1084
1085 * rt_netlink.c: Do not ignore metric when reading kernel routing
1086 table on Linux with rt_netlink interface.
1087
10882004-03-18 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001089
1090 * interface.c: Temporary fix for handling secondary addresses
1091 with label.
1092
hasso55906722004-02-11 22:42:16 +000010932004-02-12 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001094
hasso55906722004-02-11 22:42:16 +00001095 * zserv.c: Added "ipv6 forwarding" command.
1096
gdtb27900b2004-01-08 15:44:29 +000010972004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
1098
1099 * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
1100 for reading kernel messages to ensure enough space (necessary on
1101 Solaris due to sockaddr_dl being large). Thanks to Sowmini
1102 Varadhan for help with this change.
1103
gdt9ccabd12004-01-06 18:23:02 +000011042004-01-06 Greg Troxel <gdt@t1.ir.bbn.com>
1105
1106 * rtadv.c (rtadv_send_packet): Change perror to zlog_err.
1107
gdtdbee01f2004-01-06 00:36:51 +000011082004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdt4bfbea82004-01-06 01:13:05 +00001109 * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
1110 to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
1111 to just the accomodation of broken kernels. Check sockaddr_dl
1112 carefully up front, and later assume any non-NULL sdl pointer is
1113 valid. Clean up types and variable declarations, and rename
1114 WRAPUP to SAROUNDUP to make the name fit the behavior.
1115
11162004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdtdbee01f2004-01-06 00:36:51 +00001117
1118 * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
1119 structure, because on Solaris sockaddr_dl is far larger than the
1120 base sockaddr structure. (The code had previously been failing to
1121 read all the data.)
gdt4bfbea82004-01-06 01:13:05 +00001122
gdtda26e3b2004-01-05 17:20:59 +000011232004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
1124
1125 * kernel_socket.c (kernel_read): Look up interfaces by index
1126 first, so that state changes which do not include a sockaddr_dl
1127 now work. Add many sanity checks. In
1128 particular, do not assume that a sockaddr_dl follows a message
1129 without checking the ifm_addrs flags, and do not trust the length
1130 in a sockaddr_dl. Add/clarify many comments.
1131
gdt4b5e1352003-12-03 17:54:34 +000011322003-12-03 Greg Troxel <gdt@poblano.ir.bbn.com>
1133
1134 * rtadv.c: reorder includes to avoid compiler warning (define
1135 structs before using them in prototypes)
1136
hasso647e4f12003-05-25 11:43:52 +000011372003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>
1138
1139 * zserv.c: Add "ip forwarding" command.
1140
paul445f1432003-05-16 19:00:31 +000011412003-05-16 Gilad Arnold <gilad.arnold@terayon.com>
1142
1143 * zebra_rib.c: Fix memory leaks for ifname nexthops
1144
11452003-04-19 Israel Keys <ikeys@agile.tv>
1146
1147 * rt_netlink.c: BLOCK on netlink while initialising
1148
11492003-02-06 Francois Deppierraz <francois@ctrlaltdel.ch>
1150
1151 * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
1152 it exists.
1153
paul718e3742002-12-13 20:15:29 +000011542002-09-28 Akihiro Mizutani <mizutani@net-chef.net>
1155
1156 * zebra_rib.c (static_add_ipv4): Null0 static route is added.
1157
11582002-09-10 Jochen Friedrich <chris+zebra@scram.de>
1159
1160 * rt_netlink.c: Add check for EAGAIN.
1161 * kernel_socket.c: Likewise
1162
11632002-06-12 Israel Keys <ikeys@oz.agile.tv>
1164
1165 * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
1166 message so that we get an ACK for successful netlink commands.
1167 Change the netlink socket to BLOCKING while we wait for a
1168 response; be it an ACK or an NLMSG_ERROR. Change
1169 netlink_parse_info to deal with ACK messages.
1170
11712001-11-01 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1172
1173 * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
1174 work for ICMPv6 socket.
1175
11762001-10-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1177
1178 * rib.c (rib_process): Select connected route any case.
1179
11802001-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1181
1182 * interface.c (no_ip_address_secondary): Add "no" to command.
1183
11842001-10-18 NOGUCHI Kay <kay@v6.access.co.jp>
1185
1186 * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
1187 to infinity as the freebsd4.4 workaroud.
1188
11892001-08-26 mihail.balikov@interbgc.com
1190
1191 * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
1192 A.B.C.255.
1193
11942001-08-22 NOGUCHI Kay <kay@v6.access.co.jp>
1195
1196 * rtadv.c: Do not send RA to loopback interface.
1197
11982001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1199
1200 * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
1201 route treatment.
1202
12032001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1204
1205 * zebra-0.92a released.
1206
12072001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1208
1209 * rib.c: Kernel route is treated as EGP routes in nexthop active
1210 check.
1211
12122001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1213
1214 * zebra-0.92 released.
1215
12162001-08-08 "Akihiro Mizutani" <mizutani@dml.com>
1217
1218 * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
1219 show route commands.
1220
12212001-07-29 Yon Uriarte <havanna_moon@gmx.net>
1222
1223 * zserv.c (zsend_ipv4_add_multipath): Add
1224 NEXTHOP_TYPE_IPV4_IFINDEX check.
1225
12262001-07-29 NOGUCHI Kay <kay@v6.access.co.jp>
1227
1228 * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
1229 autonomous address-configuration flag patch.
1230 (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
1231 suppress-ra".
1232
12332001-07-24 NOGUCHI Kay <kay@v6.access.co.jp>
1234
1235 * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
1236 command.
1237
12382001-07-24 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1239
1240 * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
1241 multicast FIB support both IPv4 and IPv6.
1242
12432001-07-24 Hal Snyder <hal@vailsys.com>
1244
1245 * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
1246 full list of interfaces on some configurations of OpenBSD.
1247
12482001-07-23 NOGUCHI Kay <kay@v6.access.co.jp>
1249
1250 * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
1251 send-ra" bug.
1252 (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
1253 availability.
1254 (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
1255 added.
1256 (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
1257
12582001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1259
1260 * ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
1261
1262 * rt_ioctl.c: Likewise.
1263
12642001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1265
1266 * kernel_socket.c (rtm_write): Only set RTF_CLONING when the
1267 interface is not p2p.
1268
12692001-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1270
1271 * ioctl.c (if_prefix_add_ipv6): Fix argument type.
1272
12732001-04-06 Toshiaki Takada <takada@zebra.org>
1274
1275 * zserv.c (zsend_interface_delete): Use client->obuf instead of
1276 allocating new stream.
1277
12782001-03-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1279
1280 * rt_netlink.c: Revert RTPROT_BOOT change.
1281
12822001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1283
1284 * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
1285 (netlink_routing_table): Likewise.
1286
12872001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1288
1289 * zserv.c (zsend_ipv4_add_multipath): Send metric value to
1290 protocol daemons.
1291
12922001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1293
1294 * rt_netlink.c (netlink_routing_table): Do not return
1295 tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe"
1296 <mokeefe@qualcomm.com>.
1297
12982001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1299
1300 * if_ioctl.c (interface_list_ioctl): Call if_add_update().
1301 Suggested by: Chris Dunlop <chris@onthe.net.au>.
1302
13032001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1304
1305 * rib.c (nexthop_active_ipv4): When nexthop type is
1306 NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
1307
1308 * zserv.c: Initialize rtm_table_default with 0.
1309
1310 * zebra-0.91 is released.
1311
13122001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1313
1314 * kernel_socket.c (rtm_read): Filter cloned route. Suggested by:
1315 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1316
13172001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1318
1319 * connected.c (connected_up_ipv6): When point-to-point destination
1320 address is ::, use local address for connected network.
1321 (connected_down_ipv6): Likewise.
1322
13232001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1324
1325 * zserv.c (zebra_serv): Add missing close() call. Reported by:
1326 David Waitzman <djw@vineyard.net>.
1327
13282001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1329
1330 * rib.c (rib_lookup_ipv4): New function for checking exact match
1331 IGP route.
1332
13332001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1334
1335 * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
1336 route-type".
1337
13382001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1339
1340 * interface.c (zebra_interface): Do not call
1341 zebra_interface_add_update for inactive interface.
1342
1343 * zserv.c (zsend_interface_address_add): Send interface address
1344 flag.
1345 (zsend_interface_address_delete): Likewise.
1346
13472001-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1348
1349 * interface.c (if_addr_add): Add flags.
1350
1351 * connected.c (ifa_add_ipv4): Add new function for interface
1352 address handling.
1353 (ifa_delete_ipv4): Likewise.
1354
13552001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1356
1357 * rib.c (rib_update): Update IPv6 RIB.
1358
1359 * kernel_socket.c (ifam_read): Call if_refresh() for update
1360 interface flag status. This is for implicit interface up on *BSD.
1361
1362 * interface.c (if_refresh): Add interface flag refresh function.
1363
1364 * kernel_socket.c (rtm_read): Fetch link-local address interface
1365 index.
1366 (ifan_read): We need to fetch interface information. Suggested
1367 by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
1368
1369 * rib.c (static_ipv6_nexthop_same): Add check for
1370 NEXTHOP_TYPE_IPV6_IFNAME.
1371
13722001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1373
1374 * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are
1375 taken into place.
1376
13772001-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1378
1379 * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
1380 configuration.
1381 (rib_delete_ipv6): Handle same route conter for IPv6 connected
1382 route.
1383 (show_ipv6_route_protocol): New command.
1384 (show_ipv6_route_addr): Likewise.
1385 (show_ipv6_route_prefix): Likewise.
1386 (rib_update): Sweep kernel route when it is cleaned up.
1387
1388 * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
1389 treatmenet.
1390
1391 * rt_netlink.c (kernel_init): Likewise.
1392
1393 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
1394
1395 * rib.c (rib_add_ipv4): Cope with same connected route on a
1396 interface. Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
1397 (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
1398
1399 * rib.h (struct new_rib): Add refcnt to keep track on the
1400 reference of same connected route.
1401
1402 * ioctl.c (if_set_prefix): Add check for GNU_LINUX.
1403
14042001-01-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1405
1406 * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
1407 (rtm_type_str): Add RTM_IFANNOUNCE check.
1408 (ifan_read): New function.
1409 (kernel_read): Add case for RTM_IFANNOUNCE.
1410
14112001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1412
1413 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
1414
1415 * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
1416 treatment.
1417
1418 * connected.c (connected_up_ipv6): Add dest value check.
1419
1420 * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
1421 ifindex.
1422 (rib_add_ipv4): Import rib_add_ipv6() same route check code.
1423 (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
1424 checked by ifindex.
1425
1426 * rt_socket.c (kernel_rtm_ipv6_multipath): New function.
1427
1428 * redistribute.c (redistribute_add): Use
1429 zsend_ipv6_add_multipath().
1430 (redistribute_delete_multipath): Use
1431 zsend_ipv6_delete_multipath().
1432
1433 * interface.c (ip_address): Check current IP address to avoid
1434 duplicate.
1435
1436 * rib.c (rib_delete_ipv4): When deleted route is connected route,
1437 check ifindex.
1438 (rib_add_ipv4): When connected route is added do not perform
1439 implicit withdraw.
1440 (rib_delete_ipv4): Check ifindex for connected route.
1441
1442 * kernel_socket.c (rtm_read): When route has RTF_STATIC, set
1443 ZEBRA_FLAG_STATIC for indicate as persistent route.
1444 (ifam_read): Unset interface index from link-local address when
1445 IPv6 stack is KAME.
1446
1447 * rib.c (rib_update): Do not delete persistent kernel route.
1448
1449 * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
1450
1451 * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
1452 (kernel_delete_ipv6_multipath): Likewise.
1453
1454 * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
1455
14562001-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1457
1458 * rib.c (rib_update): Revert Matthew Grant's patch
1459 zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel
1460 interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
1461 that. Add support for address deletion situation.
1462
14632001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1464
1465 * interface.c: Remove HAVE_IF_PSEUDO part.
1466
1467 * rib.h: Likewise.
1468
1469 * rt_netlink.c (netlink_link_change): Likewise.
1470
14712001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1472
1473 * zserv.c: Remove OLD_RIB codes.
1474
14752001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1476
1477 * zebra-0.90 is released.
1478
14792001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1480
1481 * interface.c (if_new_intern_ifindex): Allocate a new internal
1482 interface index.
1483 (if_addr_refresh): Fix up ip addresses configured via zebra.
1484 (if_add_update): Handle an interface addition.
1485 (if_delete_update): Handle an interface delete event.
1486
1487 * rib.c (nexthop_ipv4_add): Add kernel route deletion process when
1488 interface goes down.
1489
14902001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1491
1492 * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
1493 NetBSD also use this function. Suggested by Jasper Wallace
1494 <jasper@ivision.co.uk>.
1495
14962001-01-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1497
1498 * rib.c (nexthop_active_ipv4): Move back to set methodo to old
1499 one.
1500
15012001-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1502
1503 * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
1504 flag, so treat it.
1505
15062001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1507
1508 * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
1509 sent from netlink_cmd, the same message comes from netlink. To
1510 avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
1511 instead of netlink_cmd.sock.
1512
15132001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1514
1515 * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
1516 Change "/tmp/zserv" to "/tmp/.zserv".
1517
15182000-12-29 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1519
1520 * rt_netlink.c (struct nlsock): Divide kernel message into listen
1521 socket and command socket.
1522 (netlink_talk): Remove socket listen code. Use netlink_parse_info
1523 for read kernel response.
1524
15252000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1526
1527 * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
1528 routes.
1529
15302000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1531
1532 * rt_netlink.c (netlink_route_multipath): Metric value is
1533 reflected to kernel routing table.
1534
1535 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
1536
1537 * kernel_socket.c (rtm_write): Likewise.
1538
1539 * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
1540 nexthop lookup.
1541
1542 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
1543 new RIB implementation.
1544
15452000-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1546
1547 * rib.h: Remove MULTIPATH_NUM. It is defined by configure script.
1548
15492000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1550
1551 * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
1552 proper redistribution.
1553
15542000-12-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1555
1556 * rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
1557 (show_ip_route_protocol): Support new RIB.
1558
1559 * rt_netlink.c (netlink_route_change): Do not return when gate is
1560 NULL.
1561
15622000-12-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1563
1564 * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
1565 updated.
1566 (rib_add_ipv4): Free implicit withdraw route's RIB.
1567
15682000-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1569
1570 * rib.c (nexthop_active_ipv4): Check indirect nexthop.
1571
1572 * redistribute.c (redistribute_add_multipath): Redistribution
1573 works with new rib code.
1574
15752000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1576
1577 * rt_netlink.c (netlink_route_multipath): Check useful nexthop
1578 number.
1579 (netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
1580
1581 * rib.c (nexthop_active_update): Set flag for the rib's nexthop
1582 activity is changed.
1583 (nexthop_active_check): Before checking interface is up, make it
1584 sure the interface exist.
1585
15862000-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1587
1588 * rib.c (ip_route): New RIB prototype.
1589
15902000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1591
1592 * zserv.c (zsend_interface_add): Send hardware address when
1593 hw_addr_len is greater than 0.
1594
15952000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1596
1597 * connected.c (connected_up_ipv4): Fix ptop bug. The destination
1598 network should be installed into routing table.
1599 (connected_down_ipv4): Likewise.
1600 (connected_add_ipv4): Change to use connected_up_ipv4.
1601 (connected_delete_ipv4): Likewise.
1602
16032000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1604
1605 * rt_netlink.c (netlink_interface_addr): Revert Harald Welte
1606 <laforge@gnumonks.org>'s ptop patch then back to original code to
1607 avoid duplicated connected route problem. Suggested by Frank van
1608 Maarseveen <F.vanMaarseveen@inter.NL.net>.
1609
1610 * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
1611 DEBUG is defined. Reported by Jun-ichiro itojun Hagino
1612 <itojun@iijlab.net>.
1613
16142000-10-23 Jochen Friedrich <jochen@scram.de>
1615
1616 * main.c (main): Call zebra_snmp_init() when it is enabled.
1617
16182000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1619
1620 * zserv.c (zebra_serv_un): UNIX domain socket server of zebra
1621 protocol.
1622
16232000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1624
1625 * rib.c (rib_add_ipv4): Same check bug is fixed.
1626
16272000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1628
1629 * rib.c (rib_if_down): Remove kernel route when the interface goes
1630 down.
1631
1632 * debug.c: New command "debug zebra kernel" is added.
1633
16342000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1635
1636 * zebra-0.89 is released.
1637
16382000-09-24 Harald Welte <laforge@gnumonks.org>
1639
1640 * rt_netlink.c (netlink_interface_addr): Fix point-to-point address
1641 treatment in netlink interface.
1642
16432000-09-21 David Lipovkov <dlipovkov@OpticalAccess.com>
1644
1645 * rib.c (rib_if_down): Pull static route only. Protocol daemon
1646 must withdraw routes when interface goes down.
1647 (rib_add_ipv4): Check nexthop when replace route.
1648
16492000-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1650
1651 * if_ioctl.c (if_getaddrs): New function for looking up
1652 interface's address by getifaddrs().
1653
16542000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1655
1656 * connected.c (connected_delete_ipv4): Add check for connected
1657 address is found or not.
1658 (connected_add_ipv6): Reflect IPv6 connected address change to
1659 protocol daemons.
1660 (connected_delete_ipv6): Likewise.
1661
16622000-09-07 David Lipovkov <davidl@nbase.co.il>
1663
1664 * rib.c (rib_delete_ipv4): Reverted the change from pseudo
1665 interface patch to original. Because ospfd deletes routes using
1666 zero ifindex.
1667
16682000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1669
1670 * zebra-0.88 is released.
1671
16722000-08-15 "Akihiro Mizutani" <mizutani@dml.com>
1673
1674 * rib.c (show_ip_route_protocol): Help string correction.
1675 (show_ip_route_prefix): Check prefix mask.
1676 (show_ip_route_vty_detail): Display distance and metric.
1677
16782000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1679
1680 * zserv.c (zsend_interface_add): Change ifindex store size from
1681 two octet to four.
1682 (zsend_interface_delete): Likewise.
1683 (zsend_interface_address_add): Likewise.
1684 (zsend_interface_address_delete): Likewise.
1685 (zsend_interface_up): Likewise.
1686 (zsend_interface_down): Likewise.
1687
16882000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1689
1690 * rib.c (rib_add_ipv4): Do not install distance 255 route.
1691
16922000-08-10 Toshiaki Takada <takada@zebra.org>
1693
1694 * interface.c (bandwidth_if), (no_bandwidth_if): Call
1695 zebra_interface_up_update () instead of using if_up() and if_down().
1696
16972000-08-07 "Akihiro Mizutani" <mizutani@dml.com>
1698
1699 * interface.c (bandwidth_if): Fix help string.
1700
17012000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1702
1703 * interface.c (if_dump_vty): Display bandwidth value.
1704 (bandwidth_if): New command "bandwidth <1-10000000>" is added.
1705 When interface is up, force protocol daemons to recalculate routes
1706 due to cost change.
1707 (no_bandwidth_if): Likewise.
1708 (if_config_write): Output bandwidth configuration.
1709
1710 * zserv.c (zsend_interface_add): Send bandwidth value.
1711 (zsend_interface_up): Likewise.
1712 (zsend_interface_down): Likewise.
1713
1714
17152000-08-07 Michael Rozhavsky <mike@nbase.co.il>
1716
1717 * rib.c (show_ip_route_protocol): "show ip route
1718 (bgp|connected|kernel|ospf|rip|static)" is added.
1719
17202000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1721
1722 * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
1723 nexthop is found.
1724 (rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
1725
17262000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1727
1728 * redistribute.c (redistribute_delete): Fix bug of default route
1729 redistribute treatment.
1730
17312000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1732
1733 * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
1734 Change default distance value.
1735
1736 Old New
1737 ------------------------------------------
1738 system 10 0
1739 kernel 20 0
1740 connected 30 0
1741 static 40 1
1742 rip 50 120
1743 ripng 50 120
1744 ospf 60 110
1745 ospf6 49 110
1746 bgp 70 200(iBGP) 20(eBGP)
1747 ------------------------------------------
1748
1749 * zserv.c (client_lookup): Function removed.
1750 (zsend_interface_add): Use client's output buffer. Check ifinfo
1751 flag.
1752 (zsend_interface_delete): Likewise.
1753 Delete ipv4_static_radix and ipv6_static_radix.
1754
17552000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1756
1757 * zserv.h (struct zebra_client): When client request interface
1758 information, ifinfo is set.
1759
1760 * rib.c: Temporary Revert changes for pseudo interface.
1761
1762 * rib.h: Likewise.
1763
1764 * zserv.c: Likewise.
1765
1766 * interface.c: Likewise.
1767
17682000-08-02 David Lipovkov <davidl@nbase.co.il>
1769
1770 * interface.c (zebra_if_init): Install interface "pseudo"
1771 commands.
1772
1773 * rib.c (rib_create): ifname argument is added.
1774 (rib_add_ipv4_pseudo): New function is added.
1775 (rib_delete_ipv4_pseudo): Likewise.
1776
1777 * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for
1778 pseudo interface functions.
1779
1780 * rt_netlink.c (netlink_link_change): Check for pseudo interface.
1781
1782 * zserv.c (ip_route): When destination is pseudo interface, call
1783 rib_add_ipv4_pseudo().
1784
1785 * zserv.c (no_ip_route): Trim "unknown" argument.
1786
17872000-07-26 kunitake@dti.ad.jp
1788
1789 * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
1790 to 6.
1791
1792 * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
1793
17942000-07-24 Akihiro Mizutani <mizutani@dml.com>
1795
1796 * interface.c: Use install_default() for common VTY commands.
1797
17982000-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1799
1800 * if_ioctl.c (interface_list_ioctl): A interface list size is
1801 calculated from ifreq->if_addr.sa_len. This is for OpenBSD.
1802
1803 * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
1804
18052000-07-09 Chris Dunlop <chris@onthe.net.au>
1806
1807 * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
1808
18092000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1810
1811 * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
1812 message handling.
1813
18142000-07-02 David Lipovkov <davidl@nbase.co.il>
1815
1816 * zserv.c: "ip route A.B.C.D/M unknown" command is added.
1817
18182000-06-28 Michael Rozhavsky <mike@nbase.co.il>
1819
1820 * rib.c: Remove old kernel route when new route comes in.
1821
18222000-06-13 David Lipovkov <davidl@nbase.co.il>
1823
1824 * rib.c (rib_if_up): Add check for unknown interface.
1825
18262000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1827
1828 * rib.h: Define INTERFACE_UNKNOWN.
1829
18302000-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1831
1832 * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
1833 finished.
1834
18352000-06-05 David Lipovkov <davidl@nbase.co.il>
1836
1837 * interface.c (if_zebra_delete_hook): Call rib_if_delete().
1838
1839 * redistribute.c (zebra_interface_delete_update): New function.
1840
1841 * redistribute.h (zebra_interface_delete_update): New function
1842 prototype.
1843
1844 * rib.c (rib_if_delete): New function. Walk down all routes and
1845 delete all on the interface.
1846
1847 * rib.h: New function prototype.
1848
1849 * rt_netlink.c (netlink_link_change): Call
1850 zebra_interface_delete_update ().
1851
18522000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1853
1854 * if_ioctl.c (interface_info_ioctl): Check interface's flag before
1855 checking interface's address.
1856
18572000-04-26 Jochen Friedrich <jochen@nwe.de>
1858
1859 * GNOME-PRODUCT-ZEBRA-MIB: New file.
1860
1861 * GNOME-SMI: New file.
1862
18632000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1864
1865 * irdp.c: New file from 1997 development code.
1866 * irdp.h: Likewise.
1867
18682000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1869
1870 * rtadv.c (rtadv_send_packet): Enclose router advertisement
1871 logging with IS_ZEBRA_DEBUG_PACKET.
1872
18732000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1874
1875 * zserv.c (zebra_client_close): Remove client structure from
1876 client_list when connection is terminated.
1877
18782000-03-21 David Lipovkov <davidl@nbase.co.il>
1879
1880 * connected.c (connected_add_ipv4): Allows all necessary structure
1881 updates for connected route, but doesn't insert it into rib if
1882 it's interface is down.
1883
18842000-01-21 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1885
1886 * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
1887 2.5.1.
1888
18892000-01-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1890
1891 * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
1892 from str2prefix_ipv6().
1893
18942000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1895
1896 * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
1897 IPv6 with /128 routes.
1898 (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
1899 should have mask for cloning.
1900
19011999-12-26 Jochen.Friedrich@genorz.de
1902
1903 * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
1904
19051999-12-23 Alex Zinin <zinin@amt.ru>
1906 * interface.*: dynamic int up/down support
1907
19081999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1909
1910 * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
1911
1912 * rtread_proc.c (proc_route_read): Don't use dropline().
1913
19141999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1915
1916 * kernel_socket.c (rtm_read): When message is RTM_GET, it has own
1917 process's pid.
1918
19191999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1920
1921 * main.c (main): Change to default log output to ZLOG_STDOUT.
1922
1923 * zserv.c (zebra_serv): More detailed error print.
1924
19251999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1926
1927 * kernel_socket.c (rtm_read): Check old pid for static route
1928 insertion check.
1929
19301999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1931
1932 * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
1933 statistics counter.
1934
1935 * mtu_kvm.c: New file added.
1936
19371999-11-27 Vladimir B. Grebenschikov <vova@express.ru>
1938
1939 * kernel_socket.c (rtm_write): Set RTF_CLONING flag for
1940 route to the directly connected interface.
1941
19421999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1943
1944 * rt_socket.c: Delete USE_HOST_BIT definition.
1945
19461999-11-21 Michael Handler <handler@sub-rosa.com>
1947
1948 * rtread_getmsg.c: Undef some definition to resolve conflict.
1949
19501999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1951
1952 * kernel_socket.c (rtm_write): Change to use pre stored struct_dl
1953 value for gateway specification.
1954
19551999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1956
1957 * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
1958 128 under IPv6, don't use RTF_HOST.
1959
19601999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1961
1962 * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
1963
19641999-11-21 Michael Handler <handler@sub-rosa.com>
1965
1966 * rtread_getmsg.c: Added for Solaris 2.6 support.
1967
19681999-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1969
1970 * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
1971
1972 * rt_socket.c (kernel_read): Better BSD routing socket support.
1973
19741999-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1975
1976 * client_main.c: Disable making obsolete zebra test `client'
1977 command.
1978
19791999-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1980
1981 * zebra.c: Renamed to zserv.c.
1982
1983 * zebra.h: Global definitions are moved to lib/zebra.h. Then
1984 renamed to zserv.h.
1985
19861999-10-15 Jordan Mendelson <jordy@wserv.com>
1987
1988 * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
1989 interface. Remove ugly MAX_INTERFACE handling codes.
1990
19911999-09-17 Satosi KOBAYASI <kobayasi@north.ad.jp>
1992
1993 * Fix serious bug of IPv6 route deletion.
1994
19951999-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1996
1997 * ioctl.c (if_set_prefix): Properly set broadcast address.
1998
19991999-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2000
2001 * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
2002 can install connected route to kernel via zebra
2003
20041999-08-24 VOP <vop@unity.net>
2005
2006 * rib.c: Include "sockunion.h"
2007
20081999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2009
2010 * ipforward.h: New file.
2011
2012 * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
2013 ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
2014
20151999-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2016
2017 * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
2018 ZEBRA_INTERFACE_{ADD,DELETE} added.
2019
20201999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2021
2022 * rib.c: show ip route A.B.C.D works.
2023
2024 * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
2025
20261999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2027
2028 * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
2029
20301999-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2031
2032 * interface.h: New file.
2033 * Makefile.am: Add interface.h
2034
20351999-08-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2036
2037 * redistribute.c (zebra_redistribute): give ifindex to client.
2038
20391999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2040
2041 * main.c (longopts): -k, --keep_kernel option added.
2042
20431999-07-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2044
2045 * rt_socket.c (rtm_write): forgot closing socket bug fixed.
2046
20471999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2048
2049 * rib.c (show_ipv6_cmd): if rib is link show interface name.
2050
20511999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2052
2053 * rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
2054
20551999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2056
2057 * rt_socket.c (rtm_write): ipv6 route table bug fixed.
2058
20591999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2060
2061 * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
2062
20631999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2064
2065 * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
2066
20671999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2068
2069 * if_sysctl.c (ifm_read): Clear sockunion argument before fetching
2070 data. Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
2071
20721999-07-08 HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
2073
2074 * interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
2075
20761999-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2077
2078 * zebra.c (zebra_serv): Only accept loopback address connection.
2079
20801999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2081
2082 * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
2083
20841999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2085
2086 * ipforward_proc.c: ipforward_on () and ipforward_off () added.
2087
20881999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2089
2090 * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
2091 using /proc file system is added.
2092
20931999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2094
2095 * if_ioctl.c (if_get_index): Interface index set bug is fixed by
2096 adding #else at the middle of function. Suggested by David Luyer
2097 <luyer@ucs.uwa.edu.au>.
2098
20991999-05-29 <kunihiro@zebra.org>
2100
2101 * rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
2102
21031999-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2104
2105 * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
2106 the sort of routes.
2107
21081999-05-25 Patrick Koppen <koppen@rhrk.uni-kl.de>
2109
2110 * rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
2111 (netlink_parse_info): If errno is EWOULDBLOCK then continue to
2112 parse the message.
2113 (netlink_talk): Likewise
2114
21151999-05-17 <kunihiro@zebra.org>
2116
2117 * redistribute.c (zebra_check_addr): Added for loopback address
2118 check.
2119
21201999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2121
2122 * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
2123 change treatment.
2124
2125 * Makefile.am (noinst_HEADERS): redistribute.h added.
2126
2127 * redistribute.h: New file.
2128
21291999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2130
2131 * zebra.c (show_table): Show all table configuration DEFUN.
2132 (config_table): Config table number DEFUN.
2133
2134 * rt_netlink.c: Add support for multiple routing table.
2135
2136 * rib.c (rib_weed_table): New function added for delete all
2137 routes from specified routing table.
2138
2139 * main.c (signal_init): SIGTERM call sigint.
2140 (sigint): Loggging more better message.
2141
21421999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2143
2144 * rt_netlink.c: Change log () to zlog ().
2145
21461999-05-07 <kunihiro@zebra.org>
2147
2148 * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
2149
21501999-04-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2151
2152 * interface.c: Add `no ip address' command.
2153
21541999-04-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2155
2156 * rt_netlink.c (kernel_read): Function added for asynchronous
2157 zebra between kernel communication.
2158
21591999-03-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2160
2161 * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
2162 Reported by Achim Patzner <ap@bnc.net>.
2163
21641999-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2165
2166 * Makefile.am: Install configuration sample with 600 permission.
2167
21681999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2169
2170 * Makefile.am: Add -I.. to INCLUDES.
2171
21721999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2173
2174 * syslog support added
2175
21761999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
2177
2178 * if_sysctl.c (interface_list): allocated memory free when unknown
2179 ifm_type is returned.
2180
2181 * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
2182
21831998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2184
2185 * interface.c: Header include added.
2186
21871998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2188
2189 * rt.h (kernel_delete_ipv6): change int index to unsigned int index.
2190
21911998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2192
2193 * if_ioctl.c (interface_list_ioctl): interface flag must be
2194 checked before check addresses of the interface.
2195
21961998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2197
2198 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
2199
22001998-10-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2201
2202 * ioctl.c: Linux version before 2.1.0 need interface route setup.
2203
22041998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
2205
2206 * change HYDRANGEA to KAME
2207
22081998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2209
2210 * if_ioctl.c (if_addr_ioctl): set address family for getting
2211 interface's address.
2212 (if_get_index): silently return when can't get interface's index.
2213
22141998-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2215
2216 * main.c (main): batch mode option '-b' added.
2217
22181998-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2219
2220 * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
2221 * interface.c (shutdown_if): add interface shutdown and no
2222 shutdown command.
2223
22241998-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2225
2226 * rib.c (rib_add_ipv6): delete rib_add_in6.
2227
22281998-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2229
2230 * main.c: retain flag is added.
2231
22321998-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2233
2234 * rtable.[ch]: merged with rib.[ch]
2235
22361998-07-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2237
2238 * connected.h: renamed from ifa.h.
2239
22401998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2241
2242 * rename if.c to interface.c
2243 * rename ifa.c to connected.c
2244
2245 * Porting to Debian GNU/Linux 2.0 (hamm).
2246
22471998-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2248
2249 * rt_netlink.c: renamed from krt_netlink.c
2250
2251 * fib.c: deleted.
2252 * rt_kvm.c: deleted.
2253 * rtread_getmsg.c: deleted.
2254
22551998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2256
2257 * if.c (multicast): add multicast flag [un]set fucntion.
2258
22591998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2260
2261 * rt_socket.c: Modify for compile on Solaris, but dont't work it.
2262 rt_socket.c have some undefined function, so add directive "IMPLEMENT"
2263
22641998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2265
2266 * zebra.c: Modify for compile on Solaris.
2267
22681998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2269
2270 * main.c: change CONFDIR to SYSCONFDIR.
2271
22721998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2273
2274 * .cvsignore: added.
2275
22761998-04-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2277
2278 * client.c: moves to ../lib.
2279
22801998-03-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2281
2282 * if_ioctl.c (if_get_addr): Change address copy from memcopy() to
2283 structure assignment.
2284
22851998-03-30 URA Hiroshi <ura@yamato.ibm.co.jp>
2286
2287 * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
2288
22891998-02-23 "Hannes R. Boehm" <hannes@boehm.org>
2290
2291 * if.c (if_init): add config_exit_cmd and config_help_cmd.
2292
22931998-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2294
2295 * rt_ioctl.c (route_ioctl): EPERM treatment added.
2296
22971998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2298
2299 * rt_socket.c (kernel_read): communication port zebra between
2300 kernel is now handled by kernel_read.
2301
23021998-01-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2303
2304 * main.c (main): zebra [-P port] can specify vty port number.
2305
23061997-12-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2307
2308 * zebra.c: change select will be block.
2309
23101997-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2311
2312 * add static route treatment.
2313
23141997-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2315
2316 * rt_netlink.c: add netlink support over GNU/Linux system.
2317
23181997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2319
2320 * all inet_addr is changed to inet_aton.
2321
2322 * zebra.c (ip_route): add ip route command for static routes.
2323
23241997-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2325
2326 * if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
2327
23281997-11-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2329
2330 * if.c: add interface command.
2331
23321997-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2333
2334 * ipforward_proc.c : Now works on Linux.
2335
23361997-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2337
2338 * command.c : add completion feature.
2339
23401997-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2341
2342 * vty.c (vty_command): add vty interface.
2343
23441997-10-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2345
2346 * zebra.c: add verbose mode.
2347
23481997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
2349
2350 * Hydrangea for FreeBSD supported
2351 * in.h: add some prototype.
2352
23531997-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2354
2355 * rt_socket.c and rtread.c completely rewritten.
2356
23571997-10-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2358
2359 * rt_socket.c: rename kernel_sock to routing_socket
2360
23611997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2362
2363 * if.c (if_new): interface structure change from linklist to vector.
2364
23651997-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2366
2367 * vector.c (vector_init): create vector related function
2368
23691997-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2370
2371 * Makefile.in: add tags target
2372
2373 * start IPv6 support for INRIA FreeBSD.
2374