blob: 0740e75650c71bd60d5654bc2b50034d50d22404 [file] [log] [blame]
Greg Troxel9458b812006-09-13 12:13:08 +000012006-09-13 Tom Everett <tom@khubla.com>
2
3 * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to
4 compile on systems that no longer define them.
5
Paul Jakmaf28b0e52006-08-06 15:57:59 +000062006-08-06 Paul Jakma <paul.jakma@sun.com>
7
8 * interface.h: (ifstat_update_proc) declaration should match
9 ifstat_update_sysctl really, which is to not return status, as
10 such status is not used anywhere.
11 * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values
12 consistent with each other and their declarations, ie:
13 (void) (*) (void).
Paul Jakma66c454f2006-08-06 16:02:43 +000014 * rtadv.h: depends on interface.h, so should include it.
Paul Jakmaf28b0e52006-08-06 15:57:59 +000015
Paul Jakma7e4bcdc2006-08-04 06:14:13 +0000162006-08-04 Paul Jakma <paul.jakma@sun.com>
17
18 * misc_null.c: Add ifstat_update_sysctl, add another required
19 header.
20
Andrew J. Schorra6974fe2006-08-02 16:47:03 +0000212006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
22
23 * misc_null.c: Must include header files to get older versions of gcc
24 to process the #pragma statements properly.
25
Paul Jakma36943742006-08-04 06:18:04 +0000262006-08-01 Paul Jakma <paul.jakma@sun.com>
27
28 * irdp_main.c: (irdp_advertisement) free the stream here, when done,
29 right under where it was allocated so it's blindingly obvious
30 it's correct. This possibly fixes a very slow leak of streams in
31 zebra.
32 * irdp_packet.c: (send_packet) don't free the stream here as
33 it's hard to tell if right, plus an error case seemed to
34 returning before free anyway.
35
Paul Jakma457eb9a2006-07-27 19:59:58 +0000362006-07-27 Paul Jakma <paul.jakma@sun.com>
37
38 * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations,
39 useful for testing zebra code that calls such methods.
40 * {redistribute,misc}_null.c: Dummy/Null methods, as above. But
41 for zclient, and for various misc functions.
42 * test_main.c: Test harness for zebra, currently just to test the
43 RIB.
44 * Makefile.am: Build testzebra using above.
Paul Jakma6d691122006-07-27 21:49:00 +000045 * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'.
46 * rib.h: (struct rib) Add a route_node rn_status flag field,
47 this has to be copied every time head RIB of a route_node
48 changes.
49 Remove the rib lock field, not needed - see below.
50 Add a status field for RIB-private flags.
Paul Jakma457eb9a2006-07-27 19:59:58 +000051 * zebra_rib.c: Add a global for the workqueue hold time, useful
52 for testing.
Paul Jakma6d691122006-07-27 21:49:00 +000053 (general) Fix for bug #268. Problem originally detailed by
54 Simon Bryden in [quagga-dev 4001].
55 Essentially, add/delete of a RIB must happen /before/ the
56 queue. Best-path selection (ie rib_process) and reaping of
57 freed RIBs can then be done after queueing. Only the route_node
58 is queued - no important RIB state (i.e. whether a RIB is to be
59 deleted) is queued.
60 (struct zebra_queue_node_t) Disappears, no longer need to
61 track multiple things on the queue, only the route_node.
62 (rib_{lock,unlock}) removed, RIBs no longer need to be
63 refcounted, no longer queued.
64 (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted
65 via the queue.
66 (rib_queue_add_qnode) deleted
67 (rib_queue_add) Only the route_node is queued for best-path
68 selection, we can check whether it is already queued or
69 not and avoid queueing same node twice - struct rib * argument
70 is not needed.
71 (rib_link/unlink) (un)link RIB from route_node.
72 (rib_{add,del}node) Front-end to updates of a RIB.
73 (rib_process) Reap any deleted RIBs via rib_unlink.
74 Unset the route_node 'QUEUED' flag.
75 (General) Remove calls to rib_queue_add where add/del node was
76 called - not needed, update calls where not.
77 Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes
Paul Jakma457eb9a2006-07-27 19:59:58 +000078
Paul Jakma171eee32006-07-27 16:11:02 +0000792006-07-27 Rumen Svobodnikov <rumen@telecoms.bg>
80
81 * connected.c: (connected_up_ipv4) interface connected routes always
82 go to table main (or otherwise they cannot be used by linux as
83 nexthops)
84 * zserv.c: (zread_ipv4_add) send route to the correct routing table
85 * zebra_rib.c (static_install_ipv4) set routing table
86
Paul Jakma27b47252006-07-02 16:38:54 +0000872006-07-02 Paul Jakma <paul.jakma@sun.com>
88
89 * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not
90 proceed if addr is NULL.
91 * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check
92 required arguments are supplied for the given nexthop type.
93
Paul Jakma630c97c2006-06-15 12:48:17 +0000942006-06-15 Paul Jakma <paul.jakma@sun.com>
95
96 * interface.c: (if_flag_dump_vty) redundant code, remove.
97 (if_dump_vty) use libzebra if_flag_dump.
Paul Jakma74ecdc92006-06-15 18:10:47 +000098 (ip_address_uninstall) Unset the configured flag.
99 * connected.c: (connected_same) new helper, check whether
100 two connected are same.
101 (connected_implicit_withdraw) new helper, consolidation of
102 existing code in connected_add_ipv{4,6}.
103 Try filter out unneeded Zserv address delete/adds when
104 address is exact same.
105 Where old address is implicitely removed, be sure to preserve
106 the IFC_CONFIGURED flag if set, fixes bug where configured
107 addresses were being lost on FreeBSD (Andrew Schorr).
Paul Jakma630c97c2006-06-15 12:48:17 +0000108
Andrew J. Schorr9c378512006-05-21 04:04:49 +00001092006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
110
111 * connected.c: (connected_withdraw) Do not delete the connected
112 address if the ZEBRA_IFC_CONFIGURED flag is set.
113 (connected_add_ipv4,connected_add_ipv6) Before calling
114 connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag
115 on the superseded connected structure.
116
Andrew J. Schorr0f38dc42006-05-19 13:53:23 +00001172006-05-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
118
119 * connected.c: (connected_add_ipv4,connected_add_ipv6) If the
120 new struct connected matches an already existing one
121 (that will consequently be removed by connected_withdraw),
122 then be sure to preserve the ZEBRA_IFC_CONFIGURED flag.
123
Andrew J. Schorr55196042006-05-17 15:04:59 +00001242006-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
125
126 * kernel_socket.c: (ifam_read_mesg) Improve debug message
127 to show the IP address.
128
Paul Jakma66859782006-05-15 17:00:37 +00001292006-05-15 Paul Jakma <paul.jakma@sun.com>
130
131 * zserv.c: (general) Remove the private zebra_command_str
132 in favour of newly added libzebra zserv_command_string.
133
Paul Jakmabeb56332006-05-11 13:28:05 +00001342006-05-11 Paul Jakma <paul.jakma@sun.com>
135
136 * interface.c: (if_delete_update) route_node_lookup may return
137 NULL, should fix Coverity CID #31.
138
Paul Jakmae6d7d052006-03-30 13:32:09 +00001392006-02-09 Paul Jakma <paul.jakma@sun.com>
140
141 * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid
142 needless padding.
143 (struct rib) Remove the indirect pointer, not used anywhere!
144
paul3a570c82006-02-02 17:27:13 +00001452006-02-02 Paul Jakma <paul.jakma@sun.com>
146
147 * interface.c: (if_dump_vty) move flags to their line, neater.
148
paula1038a12006-01-30 14:08:51 +00001492006-01-30 Paul Jakma <paul.jakma@sun.com>
150
151 * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
152 commit, last commit had a hole that could allow connected
153 route selection to escape beyond the connected route logic.
154 This time I cross-checked with Gunnar first. ;)
155
paula8d9c1f2006-01-25 06:31:04 +00001562006-01-25 Gunnar Stigen <gunnar.stigen@axxessit.no>
157
158 * zebra_rib.c: (rib_process) Application of Gunnar's earlier
159 metric selection RIB change included incorrect tidy-ups made
160 by commiter. Fix. (NB: any errors here are again due to paul).
161
paul5c78b3d2006-01-25 04:31:40 +00001622006-01-25 Paul Jakma <paul.jakma@sun.com>
163
164 * (general) More solaris PF_ROUTE hacks. The IFF_UP mangling
165 for solaris was incomplete on the PF_ROUTE side. fix it.
166 This changeset generally uglifies things. For some future
167 work I'd like to see the state changes seperated out from
168 the details of the code. Differences between systems might
169 then be slightly easier to implement without convoluted
170 hacks.
171 Changes should be specific to Solaris mostly, however
172 also tested on FreeBSD 6.
173 * if_ioctl_solaris.c: (interface_list_ioctl) ignore ~IFF_UP
174 interfaces, we'll hear about them when/if interface goes up
175 through NEWADDR.
176 Update flags explicitely at end of it to kick mangling.
177 * ioctl_solaris.c: (if_mangle_up) removed to interface.c, in
178 kind.
179 (lifreq_set_name) more convenient to take the string, than
180 the ifp.
181 (if_get_flags_direct) new convenience function, returns
182 the actual flags. Used during bootstrap in if_ioctl_solaris.c
183 to peek at flags of logical interfaces to see whether or
184 not to ignore them.
185 (if_get_flags) ENXIO means it's gone, poke out IFF_UP and
186 kick flags update.
187 (if_{un,}set_flags) flags argument should be 64bit.
188 * ioctl.{c,h}: flags argument should be 64bit.
189 * interface.h: Add a 'primary_state' flag to struct zebra_if on
190 SUNOS_5.
191 Export if_flags_update.
192 * interface.c: (if_flags_mangle) moved over in kind from
193 ioctl_solaris.c. Nasty kludge to try get IFF_UP right, as
194 much as is possible. Also keep track of the actual IFF_UP
195 value for the primary interface, so we can know when the ifp
196 must be deleted.
197 (if_flags_update) Take a new interface flags value, apply it
198 to the interface, and take whatever actions are required due
199 to flag transitions.
200 (if_refresh) flag state change logic is moved out to
201 previous. Just call if_get_flags, which will end up using
202 previous to effect the update of flags.
203 (if_flag_dump_vty) IFF_IPV{4,6} aren't interesting, VIRTUAL
204 and NOXMIT are though.
205 * kernel_socket.c: (ifm_read) Down->Down transitions shouldn't
206 create ifp, for non-IFANNOUNCE systems.
207 Use if_flags_update to update flags.
208 flag transition logic is now handled automatically through
209 if_flags_update.
210 (ifam_read) Better to call if_refresh *after* adding
211 connected addresses, as connected count affects IFF_UP on
212 IFF_UP-mangled systems.
213 On Solaris, Up->Down due to DELADDR means we need to delete
214 the ifp - the IFINFO might already have been and gone.
215 * rt.h: include other dependent headers.
216
paule8e19462006-01-19 20:16:55 +00002172006-01-19 Paul Jakma <paul.jakma@sun.com>
218
219 * (general) various miscellaneous compiler warning fixes.
220 Remove redundant break statements from switch clauses
221 which return.
222 Remove stray semi-colons which cause empty-statement
223 warnings.
224 * main.c: (sighup) remove private declaration of external
225 function.
226 (main) return from main, not exit, cause it annoys SOS.
227
paulaf887b52006-01-18 14:52:52 +00002282006-01-18 Gunnar Stigen <gunnar.stigen@axxessit.no>
229
230 * zebra_rib.c: Take interface metric into account.
231
pauld34b8992006-01-17 18:03:04 +00002322006-01-17 Paul Jakma <paul.jakma@sun.com>
233
234 * kernel_socket.c: (ifam_read) Read metric from RTM_NEWADDR.
235 If interface is an alias, pass the alias as a label for
236 connected_add_ipv{4,6}.
237 * rt_netlink.c: (netlink_interface_addr) print out
238 IFA_CACHEINFO info, if present, when debugging kernel
239 messages.
240
paulc7133002006-01-17 17:56:18 +00002412006-01-17 Gunnar Stigen <gunnar.stigen@axxessit.no>
242
243 * connected.c: (connected_up_ipv{4,6}) Include interface metric on
244 connected routes.
paul61f42ae2006-01-17 17:59:11 +0000245 * if_ioctl.c: (if_getaddrs) Be defensive about assuming
246 that struct ifaddrs will have ifa_addr filled in.
paulc7133002006-01-17 17:56:18 +0000247
paulc1b98002006-01-16 01:54:02 +00002482006-01-16 Paul Jakma <paul.jakma@sun.com>
249
250 * zserv.c: Read/write updated Zserv header.
251
paulc77d4542006-01-11 01:59:04 +00002522006-01-11 Paul Jakma <paul.jakma@sun.com>
253
254 * zserv.c: (zsend_interface_{add,delete,update}) if flags are
255 8 bytes now, update to write out with stream_putq.
256
gdt6083e1f2005-12-29 15:59:57 +00002572005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
258
gdte14b7fc2005-12-29 16:04:53 +0000259 * kernel_socket.c: remove dead code (from David Young).
260
gdt6083e1f2005-12-29 15:59:57 +0000261 * rt_socket.c (kernel_rtm_ipv4): Use AF_INET rather than AF_UNSPEC
262 for mask. From David Young.
263
paul89368d92005-11-26 09:14:07 +00002642005-11-26 Paul Jakma <paul.jakma@sun.com>
265
266 * connected.{c,h}: (connected_add_ipv6) label should have
267 const qualifier, fix declarations.
268
paulec1a4282005-11-24 15:15:17 +00002692005-11-24 Paul Jakma <paul.jakma@sun.com>
270
271 * kernel_socket.h: New header for functions exported to sysctl
272 methods.
273 * kernel_socket.c: include previous.
274 Remove static qualifier from couple of functions which are
275 used by sysctl methods.
276 Add a workaround for a bogus gcc warning to the RTA_ macros.
277 * Makefile.am: Add kernel_socket.h to noinst_HEADERS
278 * if_sysctl.c: include rt.h and kernel_socket.h and remove
279 redundant prototypes.
280 * rtread_sysctl.c: ditto.
281 (route_read) fix mismatch of return values.
282 * {rt,zserv,rib}.h: Include lib headers depended on.
283
paul6621ca82005-11-23 13:02:08 +00002842005-11-23 Paul Jakma <paul.jakma@sun.com>
285
286 * (general) fix some small compile errors, and mark several
287 functions as static.
288 * kernel_socket.c: (ifan_read) should be static.
289 fix missing brackets.
290 (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static
291 (ifam_read_mesg) make static. fix incorrect variable name.
292 (rtm_read) make static. Fix call to rib_delete_ipv4 which
293 should be rib_delete_ipv6.
294 (routing_socket,kernel_init) should be static. Void argument
295 should be specified as such, not left incomplete.
296 * rt_netlink.c: rt.h should be included, contains prototypes of
297 exported functions.
298 (kernel_delete_ipv6_old) fix sign of index argument.
299 * rt_socket.c: Exact same as previous. Also, make various
300 functions static.
301 * rtread_getmsg.c: Include zserv.h, which prototypes
302 route_read. Make static.
303 * rtread_sysctl.c: zserv.h and rt.h should be included.
304 fix definition of route_read.
305
paul0fb58d52005-11-14 14:31:49 +00003062005-11-14 Paul Jakma <paul.jakma@sun.com>
307
308 * zebra_rib.c: (rib_process) convert to new workqueue specs and
309 shut up gcc, which complains about cast from void via
310 function parameters, for some dumb reason. Do the cast
311 inside the function instead.
312 (rib_queue_qnode_del) ditto.
313 (rib_queue_init) no need for the casts anymore.
314
paul6fe70d12005-11-12 22:55:10 +00003152005-11-12 Alexander Gall <gall@switch.ch>
316
317 * See [quagga-dev 1815]
318 * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN
319 is not available.
320 * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to
321 AF_INET6 on ipv6 routes.
322
3232005-11-12 Paul Jakma <paul.jakma@sun.com>
324
325 * kernel_socket.c: Add RTA_NAME_GET macro to extract name from
326 sockaddr_dl. Add some more RTF_ flags.
327 * (ifan_read) Add some debug messages.
328 * (ifm_read) Add more debug messages. More robust cross-checks
329 of index against name.
330 Fall back to by-name lookup if the index lookup fails, future
331 proofing more than anything else.
332 (ifam_read_mesg) Read RTA_IFP. Add debug messages.
333 (ifam_read) More debug. If there's an RTA_IFP and it isn't
334 the name of the interface, save it as the label.
335 (rtm_read_mesg) Read RTA_IFP.
336 (rtm_read) allow name to be retrieved.
337 (rtmsg_debug) expand on the debug message.
338
paul0994c3a2005-11-11 09:52:40 +00003392005-11-11 Paul Jakma <paul.jakma@sun.com>
340
341 * kernel_socket.c: (ifm_read) arithmetic on void pointer
342 warning.
343 (ifam_read) Fix error from connected-with-label merge,
344 something crept in from the pending Solaris kernel_socket.c
345 patch which shouldn't have.
346
paul0752ef02005-11-03 12:35:21 +00003472005-11-03 Paul Jakma <paul.jakma@sun.com>
348
349 * connected.{c,h}: Include memory.h
350 (connected_add_ipv4) Use MTYPE for ifc label.
351 (connected_add_ipv6) Also should accept label. Store it in ifp.
352 (connected_del_ipv4) Taking label as argument is pointless.
353 * rt_netlink.c: (netlink_interface_addr) update label usage
354 for connected_{add,delete} functions.
355 * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
356 * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
357 so we also find out about NOXMIT interfaces like VNI.
358 Bit of hackery to turn interface names into the primary
359 interface name, later with routing socket messages we only
360 will about primary interfaces anyway, so we must normalise
361 the name.
362 (if_get_addr) take label as argument, so it can
363 be passed to connected_add.
364 If label is provided, then it is interface name to issue the
365 ioctl for address information on, not the ifp name.
366 (interface_list) List AF_UNSPEC too, just in case.
367 * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
368 * interface.c: (if_addr_wakeup) Some very bogus code - sets
369 IFF_RUNNING - add comment.
370 (if_refresh)
371 (ip_address_install) Use MTYPE for ifc label.
372 * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
373 IFF_UP reflect whether any addresses are left on the
374 interface, as we get signalled for IFF_UP flags change on the
375 primary interface only. Logical interfaces dont generate
376 IFINFO, but we do get an RTM_DELADDR.
377 (if_get_flags) Call if_mangle_up before return.
378 * kernel_socket.c: (ifam_read) Fixup calls to
379 connected_{add,delete} to match above changes. Rename gate
380 variable to brd, less confusing.
381 Pass the interface name as a label, if it is not same name
382 as ifp->name.
383
pauld06b2a62005-10-11 03:53:54 +00003842005-10-11 Paul Jakma <paul.jakma@sun.com>
385
386 * connected.{c,h}: (connected_{add,delete}_ipv4) label should
387 be const qualified.
388
ajsc05612b2005-10-01 16:36:54 +00003892005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
390
ajsf52d13c2005-10-01 17:38:06 +0000391 * zebra_vty.c: (route_type_str) Remove obsolete function: use new
392 library function zebra_route_string() instead. Note that there
393 are a few differences: for IPv6 routes, we now get "ripng" and
394 "ospf6" instead of the old behavior ("rip" and "ospf").
395 (route_type_char) Remove obsolete function: ues new library function
396 zebra_route_char() instead. Note that there is one difference:
397 the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
398 whereas the new one returns 'X'.
399 (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
400 route_type_str() with zebra_route_string().
401 (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
402 with zebra_route_char().
403
4042005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
405
ajsc05612b2005-10-01 16:36:54 +0000406 * rt_netlink.c: (netlink_request) Use memset to clear structure
407 before calling sendto (eliminates a valgrind error message about
408 uninitialized data).
vincentaa2e32b2005-09-28 13:42:11 +0000409
4102005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
411
vincentfbf5d032005-09-29 11:25:50 +0000412 * zserv.c: Always provied distance for route add
413
4142005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
415
vincentaa2e32b2005-09-28 13:42:11 +0000416 * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
417 usage with HAVE_IPV6
418
hassod24af182005-09-24 14:00:26 +00004192005-09-24 Hasso Tepper <hasso at quagga.net>
420
421 * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
422 add is treated as implicit withdraw.
423
hassoebf1ead2005-09-21 14:58:20 +00004242005-09-21 David Young <dyoung@ojctech.com>
425
426 * zebra_rib.c: Reduce the height of some staircases. Fix
427 rib_delete_ipv6() to match routes in the RIB by their gateway as
428 well as by destination.
429
paul319572c2005-09-21 12:30:08 +00004302005-09-21 Paul Jakma <paul.jakma@sun.com>
431
432 * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
433 removal of static routes with multiple-hops introduced with
434 the workqueue conversion. We should free the relevant
435 nexthop and then get rib_process to run, otherwise we just
436 get same static route back again (with no way to unconfigure
437 it, because its already deleted from configuration).
438
paulca162182005-09-12 16:58:52 +00004392005-09-12 Paul Jakma <paul.jakma@sun.com>
440
441 * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR
442 support.
443 * connected.c: (connected_withdraw) new function. withdraw a
444 connected subnet address set from zebra, and pass information
445 along to clients.
446 (connected_announce) similar, but to announce a new connected
447 subnet address set.
448 (connected_check_ipv4) renamed to connected_check, as its
449 AFI independent.
450 (connected_add_ipv{4,6}) Remove the connected address announce
451 stuff, use connected_announce instead.
452 If connected_check indicates address is already present,
453 treat it as an implicit withdraw of the existing address, ie
454 remove the old address details and replace with the new
455 details.
456 (connected_delete_ipv{4,6}) Use connected_withdraw.
457 (connected_check_ipv6) deleted in favour of connected_check.
458 * connected.h: Rename connected_check_ipv4 to connected_check.
459 delete connected_check_ipv6.
460 * interface.c: Use connected_check rather than the AFI specific
461 symbols.
462 * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a
463 rib delete event for the existing route, before adding route
464 again.
465 (kernel_read) we can handle RTM_CHANGE now.
466
hassobe61c4e2005-08-27 06:05:47 +00004672005-08-27 Hasso Tepper <hasso at quagga.net>
468
469 * zebra_rib.c, rib.h: Add distance and metric arguments to the
470 rib_add_ipv6() function so that IPv6 routes in RIB can have correct
471 metric. No IPv6 routing daemon uses distance yet though.
472 * zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
473 rtread_proc.c,zserv.c: Pass metric and distance info to the
474 rib_add_ipv6().
475
paul6eb88272005-07-29 14:36:00 +00004762005-07-29 Paul Jakma <paul.jakma@sun.com>
477
478 * interface.c: (if_delete_update) should always be available, not
479 just on RTM_IFANNOUNCE/NETLINK systems.
480 * kernel_socket.c: (ifan_read) only call if_delete_update when
481 interface departs, dont if_delete, because we wish to retain
482 interface configuration state even when interfaces are removed.
483 (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning
484 to down state is only chance we have to clean up interface in case
485 it is deleted (eg Solaris down -> unplumb -> plumb up).
486 * redistribute.c: (zebra_interface_delete_update) should always be
487 available, we /will/ call it now on all systems, via
488 if_delete_update.
489 * zserv.c: (zsend_interface_delete) ditto
490 (zsend_interface_address) Update the call-flow diagramme, to
491 reflect that if_delete_update /is/ now called on all systems,
492 potentially.
493 * zserv.h: (zsend_interface_delete) unconditionally exported, as
494 above.
495
paula1ac18c2005-06-28 17:17:12 +00004962005-06-28 Paul Jakma <paul.jakma@sun.com>
497
498 * (global) Extern and static'ification, with related fixups
499 of declarations, ensuring files include their own headers, etc.
paulea6f82b2005-06-28 17:20:26 +0000500 * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in
paula1ac18c2005-06-28 17:17:12 +0000501 list loop
paulea6f82b2005-06-28 17:20:26 +0000502 * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
503 should be on DEST argument
paula1ac18c2005-06-28 17:17:12 +0000504
paul62debbb2005-06-14 14:07:07 +00005052005-06-14 Paul Jakma <paul.jakma@sun.com>
506
507 * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and
508 RTM{ADDR,MASK}GET macros into generic rta_addrs macros,
509 RTA_{ADDR,ATTR}_GET.
510 (af_check) could use 'inline' attribute
511 (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to
512 generic macro.
513 (rtm_read_mesg) similar
514
hasso1ada8192005-06-12 11:28:18 +00005152005-06-12 Hasso Tepper <hasso at quagga.net>
516
517 * rt_netlink.c: Remove netlink-addr socket declaration, it's not used.
518 * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is
519 unsigned and one zlog call had swapped arguments.
520 * rt_netlink.c (netlink_route_multipath): Fix compile with disabled
521 IPv6 support.
522
paul1dcb5172005-05-31 08:38:50 +00005232005-05-31 Paul Jakma <paul.jakma@sun.com>
524
525 * zserv.c: (zsend_route_multipath) Fix bug if route is sent
526 with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX
527 and ZAPI_MESSAGE_NEXTHOP are always set, clients would try
528 read non-existent nexthop information and hit stream assert.
529 Zserv is still broken for multi-nexthop messages, but it always was.
530
paul69e10ad2005-05-06 21:27:33 +00005312005-05-06 Paul Jakma <paul.jakma@sun.com>
532
533 * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
534
paul4d38fdb2005-04-28 17:35:14 +00005352005-04-28 Paul Jakma <paul.jakma@sun.com>
536
537 * rib.h: (struct rib) Add lock field for refcounting.
538 * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
539 'master' struct.
540 * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
541 * zebra_rib.c: Clean up refcounting of route_node, make struct rib
542 refcounted and convert rib_process to work-queue. In general,
543 rib's should be rib_addnode'd and delnode'd to route_nodes, and
544 these symmetrical functions will manage the locking of referenced
545 route_node and freeing of struct rib - rather than having users
546 manage each seperately - with much scope for bugs..
547 (newrib_free) removed and replaced with rib_lock
548 (rib_lock) new function, check state of lock and increment.
549 (rib_unlock) new function, check lock state and decrement. Free
550 struct rib if refcount hits 0, freeing struct nexthop's, as
551 newrib_free did.
552 (rib_addnode) Add RIB to route_node, locking both.
553 (rib_delnode) Delete RIB from route_node, unlocking each.
554 (rib_process) Converted to a work-queue work function.
555 Functional changes are minimal, just arguments, comments and
556 whitespace.
557 (rib_queue_add_qnode) Helper function to setup a ribq item.
558 (rib_queue_add) Helper function, same arguments as old
559 rib_process, to replace in callers of rib_process.
560 (rib_queue_qnode_del) ribq deconstructor.
561 (rib_queue_init) Create the ribq.
562 (rib_init) call rib_queue_init.
563 (remainder) Sanitise refcounting of route_node's. Convert to
564 rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
565 to XCALLOC. Remove calls to nexthop_delete and nexthop_free.
566
paulcf460ef2005-04-10 16:54:26 +00005672005-04-10 Paul Jakma <paul@dishone.st>
568
569 * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
570 in ALL_LIST_ELEMENTS_RO macro.
571
ajs57a14772005-04-10 15:01:56 +00005722005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
573
574 * zserv.c (zebra_client_read): Fix bug: first read attempt should
575 read ZEBRA_HEADER_SIZE minus the number of bytes already read.
576 Improve efficiency by maintaining a calculation of the number
577 of bytes read instead of calling stream_get_endp multiple times.
578 If message length is too small, issue a warning message (not debug)
579 before closing the connection. And also check that message length
580 is not too big.
581
hasso206d8052005-04-09 16:38:51 +00005822005-04-09 Hasso Tepper <hasso at quagga.net>
583
hassofa599802005-04-09 16:59:28 +0000584 * rt_netlink.c: One tiny missing comma caused pointless debug messages
585 about IPv6 nexthops.
586
5872005-04-09 Hasso Tepper <hasso at quagga.net>
588
hasso206d8052005-04-09 16:38:51 +0000589 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
590 status to unsigned here, because we already checked that it isn't
591 negative or 0.
592 * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
593 address, not to the interface.
594 * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
595 is printed out now and IPv6 info is handeled.
596
paul3d1dc852005-04-05 00:45:23 +00005972005-04-05 Paul Jakma <paul@dishone.st>
598
599 * zserv.c: print more helpful errors when we fail to successfully
600 bind and listen on zserv socket. Closes bugzilla #163.
601
ajsd2fc8892005-04-02 18:38:43 +00006022005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
603
ajs08dbfb62005-04-03 03:40:52 +0000604 * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
605 * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
606 avoid overflow.
607 * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
608
6092005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
610
ajsa3491982005-04-02 22:50:38 +0000611 * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
612 to save a memcpy.
613 * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
614 if_get_by_name_len function.
615
6162005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
617
ajsd2fc8892005-04-02 18:38:43 +0000618 * interface.c: (if_new_intern_ifindex) Remove obsolete function.
619 (if_delete_update) After distributing the interface deletion message,
620 set ifp->ifindex to IFINDEX_INTERNAL.
621 (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
622 IFINDEX_INTERNAL.
623 (zebra_interface) Check return code from interface_cmd.func.
624 Do not set internal ifindex values to if_new_intern_ifindex(),
625 since we now use IFINDEX_INTERNAL for all pseudo interfaces.
626 * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
627 all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
628 * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
629 Detects interface rename events by checking if that ifindex is already
630 being used. If it is, delete the old interface before assigning
631 the ifindex to the new interface.
632 (netlink_interface, netlink_link_change) Call set_ifindex to update
633 the ifindex.
634
hassob7ed1ec2005-03-31 20:13:49 +00006352005-03-31 Hasso Tepper <hasso at quagga.net>
636
637 * rt_netlink.c (netlink_talk_filter): Show always warning message,
638 it's not for debug.
639 * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
640 although we do now actually.
641 * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
642 netlink_cmd to send messages to the kernel.
643
ajs2da40f42005-03-30 16:33:13 +00006442005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
645
646 * irdp.h: Add prototype for irdp_sock_init, and fix protos for
647 other irdp_* functions.
648 * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
649 call irdp_sock_init to create the IRDP socket.
650 (irdp_if_init) Rename to irdp_init().
651 (get_iflist_ifp) Remove function that is a duplicate of
652 if_lookup_by_index.
653 (*) Make many functions static. And remove superfluous "\n" from
654 several zlog messages.
655 * irdp_main.c: (irdp_init) Remove function that used to call
656 irdp_if_init() and irdp_sock_init(), since we will now create
657 the socket only upon first use.
658 (irdp_sock_init) Do not update global irdp_sock variable, just
659 return the fd and assume that the caller will do so. If setsockopt
660 calls fail, close the socket before returning -1.
661 (*) Make many functions static.
662 * irdp_packet.c: Initialize irdp_sock to -1.
663 (irdp_read_raw) Call standard library function if_lookup_by_index
664 instead of get_iflist_ifp.
665 (irdp_recvmsg) Should be static, not global.
666
ajsa608bbf2005-03-29 17:03:49 +00006672005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
668
669 * rt_netlink.c: (netlink_link_change) If the status of an
670 operative interface changes (e.g. MTU changes), the client
671 daemons should be notified by calling zebra_interface_up_update.
672 Previously, the information was being updated in zebra's
673 interface structure, but the clients were not notified of
674 changes to an operative interface.
675
vincent7cee1bb2005-03-25 13:08:53 +00006762005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
677 * interface.c, interface.h, rtadv.c, rtadv.h: modifications to
678 IPv6 Neighbor Discovery according to RFC3775, section 7:
679 o 1-bit Home Agent flag management in Router Advertisement (7.1).
680 o 1-bit Router Address flag management in Prefix Information
681 Option (7.2).
682 o Advertisement Interval Option (7.3)
683 o Home Agent Information Option (7.4)
684 o Changes to Sending Router Advertisements more frequently (7.5)
685
hassoed9bb6d2005-03-13 19:17:21 +00006862005-03-13 Hasso Tepper <hasso at quagga.net>
687
688 * zebra/interaface.c: "show interface description" command
689 implemented.
690
paulc1f01f32005-03-12 06:33:14 +00006912005-03-12 Paul Jakma <paul@dishone.st>
692
693 * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
694 No stock Linux kernel has ever supported it, and even if it had
695 it's not generally a good idea.
696
hasso42a66d72005-03-07 08:19:44 +00006972005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
698
699 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
700
hasso3452d472005-03-06 13:42:05 +00007012005-03-06 Hasso Tepper <hasso at quagga.net>
702
703 * interface.c: Fix CRC and frame errors statistics in Linux.
704
ajs719e9742005-02-28 20:52:15 +00007052005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
706
707 * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
708 Remove global message_queue and t_write (need separate buffering for
709 each client).
710 (zebra_server_dequeue,zebra_server_enqueue) Remove functions
711 related to old buggy buffering code.
712 (zserv_delayed_close) New thread callback function to delete a client.
713 (zserv_flush_data) New thread callback function to flush buffered
714 data to client.
715 (zebra_server_send_message) Rewritten to use buffer_write (so
716 buffering of writes and non-blocking I/O work properly).
717 (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
718 zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
719 (this is not really an error). Return value from
720 zebra_server_send_message.
721 (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
722 zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
723 (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
724 from zebra_server_send_message.
725 (zsend_router_id_update) Must use zebra_server_send_message instead
726 of deprecated writen function. Return 0 instead of -1 if this client
727 is not subscribed to router-id updates (since this is not really
728 an error).
729 (zread_interface_add) Change type to static int. If
730 zsend_interface_add fails or zsend_interface_address fails, return -1
731 immediately (since the client has had an I/O error).
732 (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
733 zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
734 to indicate success.
735 (zread_ipv4_nexthop_lookup) Return value from
736 zsend_ipv4_nexthop_lookup.
737 (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
738 (zebra_read_ipv6) Remove unused function.
739 (zread_ipv6_nexthop_lookup) Return value from
740 zsend_ipv6_nexthop_lookup.
741 (zread_router_id_add) Return value from zsend_router_id_update.
742 (zebra_client_close) Call buffer_free(client->wb) and
743 thread_cancel(client->t_suicide).
744 (zebra_client_create) Allocate client->wb using buffer_new.
745 (zebra_client_read) Support non-blocking I/O by using stream_read_try.
746 Use ZEBRA_HEADER_SIZE instead of 3.
747 (zebra_accept) Fix bug: reset accept thread at top. Make client
748 socket non-blocking using the set_nonblocking function.
749 (config_write_forwarding) Fix scope to static.
750 (zebra_init) Remove initialization code for old buggy write buffering.
751 * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
752 (to enable buffered writes with non-blocking I/), and
753 struct thread *t_suicide to support delayed close on I/O
754 errors.
755 * router-id.h: Remove prototypes for zread_router_id_add and
756 zread_router_id_delete (their scope should be static to zserv.c).
757
ajs27da3982005-02-24 16:06:33 +00007582005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
759
760 * redistribute.c: (zebra_check_addr,is_default,
761 zebra_redistribute_default,zebra_redistribute) Fix scope to be static.
762
hassoe8274dc2005-02-20 19:09:23 +00007632005-02-20 Hasso Tepper <hasso at quagga.net>
764
765 * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
766 if we are not debugging.
767
paule31f2292005-02-19 02:00:26 +00007682005-02-19 Paul Jakma <paul@dishone.st>
769
770 * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
771 STREAM_READABLE.
772
paul1e193152005-02-14 23:53:05 +00007732005-02-14 Paul Jakma <paul@dishone.st>
774
775 * Not all Linux netlink systems have IFLA_WIRELESS
776
ajs6a52d0d2005-01-30 18:49:28 +00007772005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
778
779 * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
780 zlog_err.
781 * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
782 zlog_err.
783
ajs4be019d2005-01-29 16:12:41 +00007842005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
785
ajs4460e7a2005-01-29 17:07:40 +0000786 * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
787 zserv_privs.change.
788 * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
789 zserv_privs.change.
790 * ipforward_solaris.c: (solaris_nd) Save errno before calling
791 zserv_privs.change.
792 * irdp_main.c: (irdp_sock_init) Save errno before calling
793 zserv_privs.change.
794
7952005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
796
ajs4be019d2005-01-29 16:12:41 +0000797 * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
798 netlink_talk) Save errno before calling zserv_privs.change.
799
paulc15cb242005-01-24 09:05:27 +00008002005-01-24 Martin Pot <mpot at martybugs.net>
801
802 * zebra/rt_netlink.c: ignore wireless newlink netlink messages.
803
hasso6f2c27a2005-01-18 13:44:35 +00008042005-01-18 Hasso Tepper <hasso at quagga.net>
805
806 * interface.c: Better statistics output in "show interface" command in
807 case of /proc being used.
808
hasso583d8002005-01-16 23:34:02 +00008092005-01-17 Hasso Tepper <hasso at quagga.net>
810
811 * main.c: With --nl-bufsize argument is required.
812
paul865b8522005-01-05 08:30:35 +00008132005-01-05 Paul Jakma <paul@dishone.st>
814
815 * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
816 for now, as we dont actually deal with with resending.... See
817 bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
818 * kernel_socket.c: (routing_socket) ditto.
819
ajsb99760a2005-01-04 16:24:43 +00008202005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
821
822 * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
823 instead of CMSG_FIRSTHDR.
824
ajs341a8f12004-12-22 16:32:16 +00008252004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
826
827 * connected.c: (connected_add_ipv4) Limit warning about /32 addresses
828 with no peer specified to PtP interfaces only.
829
hassob8adec12004-12-18 16:03:28 +00008302004-12-18 Hasso Tepper <hasso at quagga.net>
831
832 * zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it
833 work for isis routes.
834
gdt6a250b02004-12-09 14:48:12 +00008352004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
836
837 * kernel_socket.c (rtmsg_debug): char * => const char *
838
ajs274a4a42004-12-07 15:39:31 +00008392004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
840
ajsb6178002004-12-07 21:12:56 +0000841 * *.c: Change level of debug messages to LOG_DEBUG.
842
8432004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
844
ajs274a4a42004-12-07 15:39:31 +0000845 * main.c: (main) The 2nd argument to openzlog has been removed.
846 So stdout logging will no longer be enabled by default.
847 * irdp_main.c: (irdp_finish) Reduce severity of shutdown message
848 from LOG_WARNING to LOG_INFO.
849
ajs887c44a2004-12-03 16:36:46 +00008502004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
851
852 * main.c: (sigint) Use zlog_notice for termination message.
853 (main) Add a startup announcement using zlog_notice.
854
hassoaccb1562004-11-25 19:21:07 +00008552004-11-25 Hasso Tepper <hasso at quagga.net>
856
857 * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because
858 it confuses extract.pl.
hassoc0652302004-11-25 19:33:48 +0000859 * main.c: Make group to run as configurable.
hassoaccb1562004-11-25 19:21:07 +0000860
hasso6bd7c6a2004-10-28 17:32:27 +00008612004-10-28 Hasso Tepper <hasso at quagga.net>
862
863 * interface.c: Remove dead "ip tunnel" command.
864
paul06f953f2004-10-22 17:00:38 +00008652004-10-22 Paul Jakma <paul@dishone.st>
866
867 * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex
868
hasso3fb9cd62004-10-19 19:44:43 +00008692004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
870
871 * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore
872 tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL].
873 * interface.c: (ip_address_install) Use new ipv4_broadcast_addr
874 function.
875 * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST
876 macro.
877 (connected_down_ipv4) ditto.
878 (connected_add_ipv4) Validate destination address, print warnings
879 if it does not make sense.
880
hassoc1eaa442004-10-19 06:26:01 +00008812004-10-19 Hasso Tepper <hasso at quagga.net>
882
883 * zserv.c: Fix regression introduced with zserv cleanup.
884
hassoc75105a2004-10-13 10:33:26 +00008852004-10-13 Hasso Tepper <hasso at quagga.net>
886
887 * zebra_snmp.c: Remove defaults used to initialize smux connection to
888 snmpd. Connection is initialized only if smux peer is configured.
hassob71f00f2004-10-13 12:20:35 +0000889 * zserv.c: Remove useless warnings "forwarding is already on".
hassoc75105a2004-10-13 10:33:26 +0000890
hasso39ff11d2004-10-12 15:55:19 +00008912004-10-12 Hasso Tepper <hasso at quagga.net>
892
893 * zebra_vty.c: Unbreak "show ip route" command help and make it work
894 for isis routes.
hasso39db97e2004-10-12 20:50:58 +0000895 * interface.c(if_dump_vty): Show IPv6 addresses in "show interface"
896 output. Fixes Bugzilla #119.
897 * *.c: Make some strings const and some (unsigned) casts to fix
898 compiler warnings.
hasso39ff11d2004-10-12 15:55:19 +0000899
hassofce954f2004-10-07 20:29:24 +00009002004-10-07 Hasso Tepper <hasso at quagga.net>
901
902 * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c:
903 Fix warnings: make strings const, signed -> unsigned.
904
paul72164662004-10-05 14:39:43 +00009052004-10-05 Paul Jakma <paul@dishone.st>
906
907 * irdp_packet.c: (parse_irdp_packet) style issues.
908 Use sockopt_iphdrincl_swab_systoh.
909 Try unbork the code. Checksum the ICMP data and actually
910 compare it to received checksum. Check data length against
911 claimed length in header.
912 Always use ntoh.. when accessing addresses, even when the
913 comparison happens to be endian-safe.
914 (send_packet) minor style isues. Use
915 sockopt_iphdrincl_swab_htosys.
916 (irdp_iph_hton/ntoh) IP header to/from network/host order.
917
hassoeef1fe12004-10-03 18:46:08 +00009182004-10-03 Gilad Arnold <gilad.arnold at terayon.com>
919
920 * interface.c, interface.h: A new prefix tree of connected subnets is
921 associated with each interface structure in zebra, in which each
922 live (ie, non-synthetic) node holds a list of installed addresses
923 that belong to that prefix. Remove secondary address logic from cli.
924 See [quagga-dev 872] for detailed explanation.
925 * connected.c: Use if_subnet_add() and if_subnet_delete().
926
hasso18a6dce2004-10-03 18:18:34 +00009272004-10-03 James R. Leu <jleu at mindspring.com>
928
929 * router-id.c, router-id.h: New files. Router id selection process. If
930 there is non 127.x.x.x address in loopack interface, lowest of them
931 is chosen. If there isn't, lowest from other interfaces addresses
932 are chosen. "router-id x.x.x.x" vty command to manual override.
933 * Makefile.am: Compile new files.
934 * main.c: Initialize router id.
935 * redistribute.c: Add interface addresses into router id selection
936 lists as they (dis)appear.
937 * zserv.c, zserv.h: Sending router id related messages to daemons.
938
hassoc9e52be2004-09-26 16:09:34 +00009392004-09-26 Hasso Tepper <hasso at quagga.net>
940
941 * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
942 rtadv.c, zebra_vty.c: Fix compiler warnings.
943
paul0c0f9112004-09-24 08:24:42 +00009442004-09-24 Paul Jakma <paul@dishone.st>
945
paul26f7a242004-09-24 08:45:10 +0000946 * irdp_interface.c: (no_ip_irdp_address_preference_cmd)
947 add missing listnode declaration.
948
9492004-09-24 Paul Jakma <paul@dishone.st>
950
paul0c0f9112004-09-24 08:24:42 +0000951 * irdp_{interface,main}.c: lists typedef removal cleanup.
952 update some list loops to LIST_LOOP. some miscellaneous style
953 and indent fixups.
954 (no_ip_irdp_address_preference_cmd) Fix delete of referenced node
paul26f7a242004-09-24 08:45:10 +0000955 in loop.
paul0c0f9112004-09-24 08:24:42 +0000956 * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer
957 to pointer.
958 * if_ioctl{,_solaris}.c: lists typedef removal cleanup.
959 update some list loops to LIST_LOOP.
960
hasso52dc7ee2004-09-23 19:18:23 +00009612004-09-23 Hasso Tepper <hasso at quagga.net>
962
963 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
964
paul44983cf2004-09-22 13:15:58 +00009652004-09-22 Paul Jakma <paul.jakma@sun.com>
966
967 * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
968 in_addr to sizeof(struct in6_addr), causing odd and hard to debug
969 crash.
970
hassoc34b6b52004-08-31 13:41:49 +00009712004-08-31 Hasso Tepper <hasso at quagga.net>
972
973 * main.c, rt_netlink.c: Added -s command line switch for tuning
974 netlink receive buffer size in Linux to avoid buffer overruns.
975
gdta5ea6872004-08-26 13:24:00 +00009762004-08-26 Miles Nordin <carton@Ivy.NET>
977
978 * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
979 sysctl(3), rather than int. (Needed on NetBSD/alpha to display
980 forwarding status correctly.)
981
paul3e0b3a52004-08-23 18:58:32 +00009822004-08-23 Paul Jakma <paul@dishone.st>
983
984 * zserv.c: (zebra_init) remove implicit ip forward enabling
985
paul0de1cde2004-08-19 04:45:33 +00009862004-08-19 Paul Jakma <paul@dishone.st>
987
988 * irdp_main.c: update to match sockopt renames.
989 * irdp_packet.c: include sockopt.h and update to match sockopt
990 renames.
991
gdt57492d52004-08-11 18:06:38 +00009922004-08-11 Greg Troxel <gdt@fnord.ir.bbn.com>
993
994 * rtadv.c (rtadv_send_packet): Allocate space for control messages
995 more carefully; it was wrong on NetBSD/sparc where CMSG alignment
996 is to 8 bytes instead of 4, and overwriting the address. Use the
997 provided macros for determining lengths.
998
paul5b73a672004-07-23 15:26:14 +00009992004-07-23 Sowmini Varadhan <Sowmini.Varadhan@Sun.COM>
1000
1001 * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups
1002 * zserv.c: ditto
1003 * ioctl_solaris.c: ditto.
1004 * interface.c: cast for LLADDR
1005 * interface.h: Add guards, include redistribute.h and remove
1006 extraneous definitions of zebra_interface_{up,down}_update
1007 * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6
1008 * redistribute.h: include dependent header, zserv.h
1009 * zserv.h: include dependent header, rib.h
1010
paul1470baf2004-07-23 15:25:01 +000010112004-07-23 Paul Jakma <paul@dishone.st>
1012
1013 * irdp_main.c: use setsockopt_pktinfo_ipv4
1014 * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and
1015 getsockopt_pktinfo_ifindex()
1016
gdtcced60d2004-07-13 16:45:54 +000010172004-07-13 David Wiggins <dwiggins@bbn.com
1018
1019 * kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'.
1020
hasso25dac852004-07-13 03:06:51 +000010212004-07-13 Hasso Tepper <hasso@estpak.ee>
1022
1023 * irdp_main.c: Add privilege change.
1024
hasso996933f2004-07-12 16:32:56 +000010252004-07-12 Hasso Tepper <hasso@estpak.ee>
1026
1027 * irdp_interface.c: follow common style while naming vty command
1028 functions. Avoids confusion in extract.pl.
1029
gdt87efd642004-06-30 17:36:11 +000010302004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1031
1032 * main.c: define thread_master variable so that linking with
1033 libzebra.so doesn't fail. Arguably zclient.o should be in a
1034 separate library, but this is far less disruptive.
1035
hassoca776982004-06-12 14:33:05 +000010362004-06-12 Robert Olsson <Robert.Olsson at data.slu.se>
1037
1038 * Added IRDP support.
1039
hasso3e31cde2004-05-18 11:58:59 +000010402004-05-18 Hasso Tepper <hasso@estpak.ee>
1041
1042 * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd
1043 prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of
1044 "ipv6 nd prefix" command to allow various combinations of parameters
1045 and flags. No defaults in configuration. Replaced on-link and
1046 autoconfig with off-link and no-autoconfig flags in command syntax.
1047 Cosmetic fixes in all commands. Documentation to reflect all changes.
1048
paul19877dd2004-05-11 10:49:35 +000010492004-05-11 Paul Jakma <paul@dishone.st>
1050
1051 * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
paul48a46fa2004-05-11 10:55:22 +00001052 * if_ioctl_solaris.c: Fixup some erroneous privilege changes and
1053 add privs.h header.
1054 * ioctl_solaris.c: ditto
paulc50ae8b2004-05-11 11:31:07 +00001055 * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6
1056 * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while
1057 RHS in assignments :)
1058 * redistribute.c: (zebra_interface_delete_update) only used
1059 if RTM_IFANNOUNCE and NETLINK is available.
1060
paulb9df2d22004-05-09 09:09:59 +000010612004-05-09 Paul Jakma <paul@dishone.st>
1062
1063 * zserv.c: (zsend_route_multipath) Set the nexthop_num
1064 field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6.
1065 Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds.
1066 (zsend_ipv4_add) cruft, deleted.
1067 (zsend_ipv4_delete) ditto.
1068 (zsend_ipv6_add) ditto.
1069 (zsend_ipv6_delete) ditto.
paul44145db2004-05-09 11:00:23 +00001070 * ioctl.c: (if_get_mtu) set mtu6 to mtu
1071 * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
1072 * rt_netlink.c: (netlink_interface) set mtu6 to mtu
1073 (netlink_link_change) ditto
paul66e94882004-05-09 17:19:24 +00001074 * ipforward_solaris.c: fix typo of ND variable.
paul88424682004-05-09 18:21:35 +00001075 * if_ioctl_solaris.c: Add zprivs support.
1076 * ioctl_solaris.c: ditto.
paul66e94882004-05-09 17:19:24 +00001077
paulb9df2d22004-05-09 09:09:59 +000010782004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
1079
1080 * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed
1081 into single zsend_route_multipath function.
1082 (zsend_interface_{up,down}) collapsed into zsend_interface_update.
1083 (zsend_interface_address_{add,delete}) collapsed into
1084 zsend_interface_address.
1085 (zsend_interface_add) send mtu6.
1086 (zsend_interface_delete) ditto.
1087 (zebra_write) remove unused function.
1088 (various) Apply static qualifier. Add comments.
1089 * zserv.h: Definitions changed as per above.
1090 * redistribute.c: Changes as per zserv.c.
paul44145db2004-05-09 11:00:23 +00001091 * interface.c: (if_delete_update) only used with HAVE_NETLINK
1092 and RTM_IFANNOUNCE.
1093 (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
1094 (if_dump_vty) print mtu6 if not same as mtu
paul88424682004-05-09 18:21:35 +00001095 * if_ioctl_solaris.c: New file, Solaris interface ioctl methods.
1096 * ioctl_solaris.c: New file, Common solaris ioctl methods.
1097
hasso34195bf2004-04-06 12:07:06 +000010982004-04-06 Krzysztof Oledzki <oleq@ans.pl>
1099
1100 * rt_netlink.c: Do not ignore metric when reading kernel routing
1101 table on Linux with rt_netlink interface.
1102
11032004-03-18 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001104
1105 * interface.c: Temporary fix for handling secondary addresses
1106 with label.
1107
hasso55906722004-02-11 22:42:16 +000011082004-02-12 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001109
hasso55906722004-02-11 22:42:16 +00001110 * zserv.c: Added "ipv6 forwarding" command.
1111
gdtb27900b2004-01-08 15:44:29 +000011122004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
1113
1114 * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
1115 for reading kernel messages to ensure enough space (necessary on
1116 Solaris due to sockaddr_dl being large). Thanks to Sowmini
1117 Varadhan for help with this change.
1118
gdt9ccabd12004-01-06 18:23:02 +000011192004-01-06 Greg Troxel <gdt@t1.ir.bbn.com>
1120
1121 * rtadv.c (rtadv_send_packet): Change perror to zlog_err.
1122
gdtdbee01f2004-01-06 00:36:51 +000011232004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdt4bfbea82004-01-06 01:13:05 +00001124 * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
1125 to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
1126 to just the accomodation of broken kernels. Check sockaddr_dl
1127 carefully up front, and later assume any non-NULL sdl pointer is
1128 valid. Clean up types and variable declarations, and rename
1129 WRAPUP to SAROUNDUP to make the name fit the behavior.
1130
11312004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdtdbee01f2004-01-06 00:36:51 +00001132
1133 * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
1134 structure, because on Solaris sockaddr_dl is far larger than the
1135 base sockaddr structure. (The code had previously been failing to
1136 read all the data.)
gdt4bfbea82004-01-06 01:13:05 +00001137
gdtda26e3b2004-01-05 17:20:59 +000011382004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
1139
1140 * kernel_socket.c (kernel_read): Look up interfaces by index
1141 first, so that state changes which do not include a sockaddr_dl
1142 now work. Add many sanity checks. In
1143 particular, do not assume that a sockaddr_dl follows a message
1144 without checking the ifm_addrs flags, and do not trust the length
1145 in a sockaddr_dl. Add/clarify many comments.
1146
gdt4b5e1352003-12-03 17:54:34 +000011472003-12-03 Greg Troxel <gdt@poblano.ir.bbn.com>
1148
1149 * rtadv.c: reorder includes to avoid compiler warning (define
1150 structs before using them in prototypes)
1151
hasso647e4f12003-05-25 11:43:52 +000011522003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>
1153
1154 * zserv.c: Add "ip forwarding" command.
1155
paul445f1432003-05-16 19:00:31 +000011562003-05-16 Gilad Arnold <gilad.arnold@terayon.com>
1157
1158 * zebra_rib.c: Fix memory leaks for ifname nexthops
1159
11602003-04-19 Israel Keys <ikeys@agile.tv>
1161
1162 * rt_netlink.c: BLOCK on netlink while initialising
1163
11642003-02-06 Francois Deppierraz <francois@ctrlaltdel.ch>
1165
1166 * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
1167 it exists.
1168
paul718e3742002-12-13 20:15:29 +000011692002-09-28 Akihiro Mizutani <mizutani@net-chef.net>
1170
1171 * zebra_rib.c (static_add_ipv4): Null0 static route is added.
1172
11732002-09-10 Jochen Friedrich <chris+zebra@scram.de>
1174
1175 * rt_netlink.c: Add check for EAGAIN.
1176 * kernel_socket.c: Likewise
1177
11782002-06-12 Israel Keys <ikeys@oz.agile.tv>
1179
1180 * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
1181 message so that we get an ACK for successful netlink commands.
1182 Change the netlink socket to BLOCKING while we wait for a
1183 response; be it an ACK or an NLMSG_ERROR. Change
1184 netlink_parse_info to deal with ACK messages.
1185
11862001-11-01 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1187
1188 * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
1189 work for ICMPv6 socket.
1190
11912001-10-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1192
1193 * rib.c (rib_process): Select connected route any case.
1194
11952001-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1196
1197 * interface.c (no_ip_address_secondary): Add "no" to command.
1198
11992001-10-18 NOGUCHI Kay <kay@v6.access.co.jp>
1200
1201 * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
1202 to infinity as the freebsd4.4 workaroud.
1203
12042001-08-26 mihail.balikov@interbgc.com
1205
1206 * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
1207 A.B.C.255.
1208
12092001-08-22 NOGUCHI Kay <kay@v6.access.co.jp>
1210
1211 * rtadv.c: Do not send RA to loopback interface.
1212
12132001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1214
1215 * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
1216 route treatment.
1217
12182001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1219
1220 * zebra-0.92a released.
1221
12222001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1223
1224 * rib.c: Kernel route is treated as EGP routes in nexthop active
1225 check.
1226
12272001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1228
1229 * zebra-0.92 released.
1230
12312001-08-08 "Akihiro Mizutani" <mizutani@dml.com>
1232
1233 * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
1234 show route commands.
1235
12362001-07-29 Yon Uriarte <havanna_moon@gmx.net>
1237
1238 * zserv.c (zsend_ipv4_add_multipath): Add
1239 NEXTHOP_TYPE_IPV4_IFINDEX check.
1240
12412001-07-29 NOGUCHI Kay <kay@v6.access.co.jp>
1242
1243 * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
1244 autonomous address-configuration flag patch.
1245 (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
1246 suppress-ra".
1247
12482001-07-24 NOGUCHI Kay <kay@v6.access.co.jp>
1249
1250 * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
1251 command.
1252
12532001-07-24 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1254
1255 * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
1256 multicast FIB support both IPv4 and IPv6.
1257
12582001-07-24 Hal Snyder <hal@vailsys.com>
1259
1260 * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
1261 full list of interfaces on some configurations of OpenBSD.
1262
12632001-07-23 NOGUCHI Kay <kay@v6.access.co.jp>
1264
1265 * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
1266 send-ra" bug.
1267 (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
1268 availability.
1269 (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
1270 added.
1271 (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
1272
12732001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1274
1275 * ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
1276
1277 * rt_ioctl.c: Likewise.
1278
12792001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1280
1281 * kernel_socket.c (rtm_write): Only set RTF_CLONING when the
1282 interface is not p2p.
1283
12842001-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1285
1286 * ioctl.c (if_prefix_add_ipv6): Fix argument type.
1287
12882001-04-06 Toshiaki Takada <takada@zebra.org>
1289
1290 * zserv.c (zsend_interface_delete): Use client->obuf instead of
1291 allocating new stream.
1292
12932001-03-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1294
1295 * rt_netlink.c: Revert RTPROT_BOOT change.
1296
12972001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1298
1299 * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
1300 (netlink_routing_table): Likewise.
1301
13022001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1303
1304 * zserv.c (zsend_ipv4_add_multipath): Send metric value to
1305 protocol daemons.
1306
13072001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1308
1309 * rt_netlink.c (netlink_routing_table): Do not return
1310 tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe"
1311 <mokeefe@qualcomm.com>.
1312
13132001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1314
1315 * if_ioctl.c (interface_list_ioctl): Call if_add_update().
1316 Suggested by: Chris Dunlop <chris@onthe.net.au>.
1317
13182001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1319
1320 * rib.c (nexthop_active_ipv4): When nexthop type is
1321 NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
1322
1323 * zserv.c: Initialize rtm_table_default with 0.
1324
1325 * zebra-0.91 is released.
1326
13272001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1328
1329 * kernel_socket.c (rtm_read): Filter cloned route. Suggested by:
1330 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1331
13322001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1333
1334 * connected.c (connected_up_ipv6): When point-to-point destination
1335 address is ::, use local address for connected network.
1336 (connected_down_ipv6): Likewise.
1337
13382001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1339
1340 * zserv.c (zebra_serv): Add missing close() call. Reported by:
1341 David Waitzman <djw@vineyard.net>.
1342
13432001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1344
1345 * rib.c (rib_lookup_ipv4): New function for checking exact match
1346 IGP route.
1347
13482001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1349
1350 * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
1351 route-type".
1352
13532001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1354
1355 * interface.c (zebra_interface): Do not call
1356 zebra_interface_add_update for inactive interface.
1357
1358 * zserv.c (zsend_interface_address_add): Send interface address
1359 flag.
1360 (zsend_interface_address_delete): Likewise.
1361
13622001-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1363
1364 * interface.c (if_addr_add): Add flags.
1365
1366 * connected.c (ifa_add_ipv4): Add new function for interface
1367 address handling.
1368 (ifa_delete_ipv4): Likewise.
1369
13702001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1371
1372 * rib.c (rib_update): Update IPv6 RIB.
1373
1374 * kernel_socket.c (ifam_read): Call if_refresh() for update
1375 interface flag status. This is for implicit interface up on *BSD.
1376
1377 * interface.c (if_refresh): Add interface flag refresh function.
1378
1379 * kernel_socket.c (rtm_read): Fetch link-local address interface
1380 index.
1381 (ifan_read): We need to fetch interface information. Suggested
1382 by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
1383
1384 * rib.c (static_ipv6_nexthop_same): Add check for
1385 NEXTHOP_TYPE_IPV6_IFNAME.
1386
13872001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1388
1389 * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are
1390 taken into place.
1391
13922001-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1393
1394 * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
1395 configuration.
1396 (rib_delete_ipv6): Handle same route conter for IPv6 connected
1397 route.
1398 (show_ipv6_route_protocol): New command.
1399 (show_ipv6_route_addr): Likewise.
1400 (show_ipv6_route_prefix): Likewise.
1401 (rib_update): Sweep kernel route when it is cleaned up.
1402
1403 * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
1404 treatmenet.
1405
1406 * rt_netlink.c (kernel_init): Likewise.
1407
1408 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
1409
1410 * rib.c (rib_add_ipv4): Cope with same connected route on a
1411 interface. Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
1412 (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
1413
1414 * rib.h (struct new_rib): Add refcnt to keep track on the
1415 reference of same connected route.
1416
1417 * ioctl.c (if_set_prefix): Add check for GNU_LINUX.
1418
14192001-01-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1420
1421 * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
1422 (rtm_type_str): Add RTM_IFANNOUNCE check.
1423 (ifan_read): New function.
1424 (kernel_read): Add case for RTM_IFANNOUNCE.
1425
14262001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1427
1428 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
1429
1430 * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
1431 treatment.
1432
1433 * connected.c (connected_up_ipv6): Add dest value check.
1434
1435 * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
1436 ifindex.
1437 (rib_add_ipv4): Import rib_add_ipv6() same route check code.
1438 (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
1439 checked by ifindex.
1440
1441 * rt_socket.c (kernel_rtm_ipv6_multipath): New function.
1442
1443 * redistribute.c (redistribute_add): Use
1444 zsend_ipv6_add_multipath().
1445 (redistribute_delete_multipath): Use
1446 zsend_ipv6_delete_multipath().
1447
1448 * interface.c (ip_address): Check current IP address to avoid
1449 duplicate.
1450
1451 * rib.c (rib_delete_ipv4): When deleted route is connected route,
1452 check ifindex.
1453 (rib_add_ipv4): When connected route is added do not perform
1454 implicit withdraw.
1455 (rib_delete_ipv4): Check ifindex for connected route.
1456
1457 * kernel_socket.c (rtm_read): When route has RTF_STATIC, set
1458 ZEBRA_FLAG_STATIC for indicate as persistent route.
1459 (ifam_read): Unset interface index from link-local address when
1460 IPv6 stack is KAME.
1461
1462 * rib.c (rib_update): Do not delete persistent kernel route.
1463
1464 * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
1465
1466 * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
1467 (kernel_delete_ipv6_multipath): Likewise.
1468
1469 * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
1470
14712001-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1472
1473 * rib.c (rib_update): Revert Matthew Grant's patch
1474 zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel
1475 interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
1476 that. Add support for address deletion situation.
1477
14782001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1479
1480 * interface.c: Remove HAVE_IF_PSEUDO part.
1481
1482 * rib.h: Likewise.
1483
1484 * rt_netlink.c (netlink_link_change): Likewise.
1485
14862001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1487
1488 * zserv.c: Remove OLD_RIB codes.
1489
14902001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1491
1492 * zebra-0.90 is released.
1493
14942001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1495
1496 * interface.c (if_new_intern_ifindex): Allocate a new internal
1497 interface index.
1498 (if_addr_refresh): Fix up ip addresses configured via zebra.
1499 (if_add_update): Handle an interface addition.
1500 (if_delete_update): Handle an interface delete event.
1501
1502 * rib.c (nexthop_ipv4_add): Add kernel route deletion process when
1503 interface goes down.
1504
15052001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1506
1507 * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
1508 NetBSD also use this function. Suggested by Jasper Wallace
1509 <jasper@ivision.co.uk>.
1510
15112001-01-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1512
1513 * rib.c (nexthop_active_ipv4): Move back to set methodo to old
1514 one.
1515
15162001-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1517
1518 * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
1519 flag, so treat it.
1520
15212001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1522
1523 * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
1524 sent from netlink_cmd, the same message comes from netlink. To
1525 avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
1526 instead of netlink_cmd.sock.
1527
15282001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1529
1530 * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
1531 Change "/tmp/zserv" to "/tmp/.zserv".
1532
15332000-12-29 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1534
1535 * rt_netlink.c (struct nlsock): Divide kernel message into listen
1536 socket and command socket.
1537 (netlink_talk): Remove socket listen code. Use netlink_parse_info
1538 for read kernel response.
1539
15402000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1541
1542 * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
1543 routes.
1544
15452000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1546
1547 * rt_netlink.c (netlink_route_multipath): Metric value is
1548 reflected to kernel routing table.
1549
1550 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
1551
1552 * kernel_socket.c (rtm_write): Likewise.
1553
1554 * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
1555 nexthop lookup.
1556
1557 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
1558 new RIB implementation.
1559
15602000-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1561
1562 * rib.h: Remove MULTIPATH_NUM. It is defined by configure script.
1563
15642000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1565
1566 * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
1567 proper redistribution.
1568
15692000-12-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1570
1571 * rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
1572 (show_ip_route_protocol): Support new RIB.
1573
1574 * rt_netlink.c (netlink_route_change): Do not return when gate is
1575 NULL.
1576
15772000-12-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1578
1579 * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
1580 updated.
1581 (rib_add_ipv4): Free implicit withdraw route's RIB.
1582
15832000-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1584
1585 * rib.c (nexthop_active_ipv4): Check indirect nexthop.
1586
1587 * redistribute.c (redistribute_add_multipath): Redistribution
1588 works with new rib code.
1589
15902000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1591
1592 * rt_netlink.c (netlink_route_multipath): Check useful nexthop
1593 number.
1594 (netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
1595
1596 * rib.c (nexthop_active_update): Set flag for the rib's nexthop
1597 activity is changed.
1598 (nexthop_active_check): Before checking interface is up, make it
1599 sure the interface exist.
1600
16012000-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1602
1603 * rib.c (ip_route): New RIB prototype.
1604
16052000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1606
1607 * zserv.c (zsend_interface_add): Send hardware address when
1608 hw_addr_len is greater than 0.
1609
16102000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1611
1612 * connected.c (connected_up_ipv4): Fix ptop bug. The destination
1613 network should be installed into routing table.
1614 (connected_down_ipv4): Likewise.
1615 (connected_add_ipv4): Change to use connected_up_ipv4.
1616 (connected_delete_ipv4): Likewise.
1617
16182000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1619
1620 * rt_netlink.c (netlink_interface_addr): Revert Harald Welte
1621 <laforge@gnumonks.org>'s ptop patch then back to original code to
1622 avoid duplicated connected route problem. Suggested by Frank van
1623 Maarseveen <F.vanMaarseveen@inter.NL.net>.
1624
1625 * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
1626 DEBUG is defined. Reported by Jun-ichiro itojun Hagino
1627 <itojun@iijlab.net>.
1628
16292000-10-23 Jochen Friedrich <jochen@scram.de>
1630
1631 * main.c (main): Call zebra_snmp_init() when it is enabled.
1632
16332000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1634
1635 * zserv.c (zebra_serv_un): UNIX domain socket server of zebra
1636 protocol.
1637
16382000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1639
1640 * rib.c (rib_add_ipv4): Same check bug is fixed.
1641
16422000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1643
1644 * rib.c (rib_if_down): Remove kernel route when the interface goes
1645 down.
1646
1647 * debug.c: New command "debug zebra kernel" is added.
1648
16492000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1650
1651 * zebra-0.89 is released.
1652
16532000-09-24 Harald Welte <laforge@gnumonks.org>
1654
1655 * rt_netlink.c (netlink_interface_addr): Fix point-to-point address
1656 treatment in netlink interface.
1657
16582000-09-21 David Lipovkov <dlipovkov@OpticalAccess.com>
1659
1660 * rib.c (rib_if_down): Pull static route only. Protocol daemon
1661 must withdraw routes when interface goes down.
1662 (rib_add_ipv4): Check nexthop when replace route.
1663
16642000-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1665
1666 * if_ioctl.c (if_getaddrs): New function for looking up
1667 interface's address by getifaddrs().
1668
16692000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1670
1671 * connected.c (connected_delete_ipv4): Add check for connected
1672 address is found or not.
1673 (connected_add_ipv6): Reflect IPv6 connected address change to
1674 protocol daemons.
1675 (connected_delete_ipv6): Likewise.
1676
16772000-09-07 David Lipovkov <davidl@nbase.co.il>
1678
1679 * rib.c (rib_delete_ipv4): Reverted the change from pseudo
1680 interface patch to original. Because ospfd deletes routes using
1681 zero ifindex.
1682
16832000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1684
1685 * zebra-0.88 is released.
1686
16872000-08-15 "Akihiro Mizutani" <mizutani@dml.com>
1688
1689 * rib.c (show_ip_route_protocol): Help string correction.
1690 (show_ip_route_prefix): Check prefix mask.
1691 (show_ip_route_vty_detail): Display distance and metric.
1692
16932000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1694
1695 * zserv.c (zsend_interface_add): Change ifindex store size from
1696 two octet to four.
1697 (zsend_interface_delete): Likewise.
1698 (zsend_interface_address_add): Likewise.
1699 (zsend_interface_address_delete): Likewise.
1700 (zsend_interface_up): Likewise.
1701 (zsend_interface_down): Likewise.
1702
17032000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1704
1705 * rib.c (rib_add_ipv4): Do not install distance 255 route.
1706
17072000-08-10 Toshiaki Takada <takada@zebra.org>
1708
1709 * interface.c (bandwidth_if), (no_bandwidth_if): Call
1710 zebra_interface_up_update () instead of using if_up() and if_down().
1711
17122000-08-07 "Akihiro Mizutani" <mizutani@dml.com>
1713
1714 * interface.c (bandwidth_if): Fix help string.
1715
17162000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1717
1718 * interface.c (if_dump_vty): Display bandwidth value.
1719 (bandwidth_if): New command "bandwidth <1-10000000>" is added.
1720 When interface is up, force protocol daemons to recalculate routes
1721 due to cost change.
1722 (no_bandwidth_if): Likewise.
1723 (if_config_write): Output bandwidth configuration.
1724
1725 * zserv.c (zsend_interface_add): Send bandwidth value.
1726 (zsend_interface_up): Likewise.
1727 (zsend_interface_down): Likewise.
1728
1729
17302000-08-07 Michael Rozhavsky <mike@nbase.co.il>
1731
1732 * rib.c (show_ip_route_protocol): "show ip route
1733 (bgp|connected|kernel|ospf|rip|static)" is added.
1734
17352000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1736
1737 * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
1738 nexthop is found.
1739 (rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
1740
17412000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1742
1743 * redistribute.c (redistribute_delete): Fix bug of default route
1744 redistribute treatment.
1745
17462000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1747
1748 * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
1749 Change default distance value.
1750
1751 Old New
1752 ------------------------------------------
1753 system 10 0
1754 kernel 20 0
1755 connected 30 0
1756 static 40 1
1757 rip 50 120
1758 ripng 50 120
1759 ospf 60 110
1760 ospf6 49 110
1761 bgp 70 200(iBGP) 20(eBGP)
1762 ------------------------------------------
1763
1764 * zserv.c (client_lookup): Function removed.
1765 (zsend_interface_add): Use client's output buffer. Check ifinfo
1766 flag.
1767 (zsend_interface_delete): Likewise.
1768 Delete ipv4_static_radix and ipv6_static_radix.
1769
17702000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1771
1772 * zserv.h (struct zebra_client): When client request interface
1773 information, ifinfo is set.
1774
1775 * rib.c: Temporary Revert changes for pseudo interface.
1776
1777 * rib.h: Likewise.
1778
1779 * zserv.c: Likewise.
1780
1781 * interface.c: Likewise.
1782
17832000-08-02 David Lipovkov <davidl@nbase.co.il>
1784
1785 * interface.c (zebra_if_init): Install interface "pseudo"
1786 commands.
1787
1788 * rib.c (rib_create): ifname argument is added.
1789 (rib_add_ipv4_pseudo): New function is added.
1790 (rib_delete_ipv4_pseudo): Likewise.
1791
1792 * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for
1793 pseudo interface functions.
1794
1795 * rt_netlink.c (netlink_link_change): Check for pseudo interface.
1796
1797 * zserv.c (ip_route): When destination is pseudo interface, call
1798 rib_add_ipv4_pseudo().
1799
1800 * zserv.c (no_ip_route): Trim "unknown" argument.
1801
18022000-07-26 kunitake@dti.ad.jp
1803
1804 * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
1805 to 6.
1806
1807 * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
1808
18092000-07-24 Akihiro Mizutani <mizutani@dml.com>
1810
1811 * interface.c: Use install_default() for common VTY commands.
1812
18132000-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1814
1815 * if_ioctl.c (interface_list_ioctl): A interface list size is
1816 calculated from ifreq->if_addr.sa_len. This is for OpenBSD.
1817
1818 * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
1819
18202000-07-09 Chris Dunlop <chris@onthe.net.au>
1821
1822 * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
1823
18242000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1825
1826 * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
1827 message handling.
1828
18292000-07-02 David Lipovkov <davidl@nbase.co.il>
1830
1831 * zserv.c: "ip route A.B.C.D/M unknown" command is added.
1832
18332000-06-28 Michael Rozhavsky <mike@nbase.co.il>
1834
1835 * rib.c: Remove old kernel route when new route comes in.
1836
18372000-06-13 David Lipovkov <davidl@nbase.co.il>
1838
1839 * rib.c (rib_if_up): Add check for unknown interface.
1840
18412000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1842
1843 * rib.h: Define INTERFACE_UNKNOWN.
1844
18452000-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1846
1847 * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
1848 finished.
1849
18502000-06-05 David Lipovkov <davidl@nbase.co.il>
1851
1852 * interface.c (if_zebra_delete_hook): Call rib_if_delete().
1853
1854 * redistribute.c (zebra_interface_delete_update): New function.
1855
1856 * redistribute.h (zebra_interface_delete_update): New function
1857 prototype.
1858
1859 * rib.c (rib_if_delete): New function. Walk down all routes and
1860 delete all on the interface.
1861
1862 * rib.h: New function prototype.
1863
1864 * rt_netlink.c (netlink_link_change): Call
1865 zebra_interface_delete_update ().
1866
18672000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1868
1869 * if_ioctl.c (interface_info_ioctl): Check interface's flag before
1870 checking interface's address.
1871
18722000-04-26 Jochen Friedrich <jochen@nwe.de>
1873
1874 * GNOME-PRODUCT-ZEBRA-MIB: New file.
1875
1876 * GNOME-SMI: New file.
1877
18782000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1879
1880 * irdp.c: New file from 1997 development code.
1881 * irdp.h: Likewise.
1882
18832000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1884
1885 * rtadv.c (rtadv_send_packet): Enclose router advertisement
1886 logging with IS_ZEBRA_DEBUG_PACKET.
1887
18882000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1889
1890 * zserv.c (zebra_client_close): Remove client structure from
1891 client_list when connection is terminated.
1892
18932000-03-21 David Lipovkov <davidl@nbase.co.il>
1894
1895 * connected.c (connected_add_ipv4): Allows all necessary structure
1896 updates for connected route, but doesn't insert it into rib if
1897 it's interface is down.
1898
18992000-01-21 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1900
1901 * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
1902 2.5.1.
1903
19042000-01-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1905
1906 * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
1907 from str2prefix_ipv6().
1908
19092000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1910
1911 * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
1912 IPv6 with /128 routes.
1913 (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
1914 should have mask for cloning.
1915
19161999-12-26 Jochen.Friedrich@genorz.de
1917
1918 * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
1919
19201999-12-23 Alex Zinin <zinin@amt.ru>
1921 * interface.*: dynamic int up/down support
1922
19231999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1924
1925 * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
1926
1927 * rtread_proc.c (proc_route_read): Don't use dropline().
1928
19291999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1930
1931 * kernel_socket.c (rtm_read): When message is RTM_GET, it has own
1932 process's pid.
1933
19341999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1935
1936 * main.c (main): Change to default log output to ZLOG_STDOUT.
1937
1938 * zserv.c (zebra_serv): More detailed error print.
1939
19401999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1941
1942 * kernel_socket.c (rtm_read): Check old pid for static route
1943 insertion check.
1944
19451999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1946
1947 * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
1948 statistics counter.
1949
1950 * mtu_kvm.c: New file added.
1951
19521999-11-27 Vladimir B. Grebenschikov <vova@express.ru>
1953
1954 * kernel_socket.c (rtm_write): Set RTF_CLONING flag for
1955 route to the directly connected interface.
1956
19571999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1958
1959 * rt_socket.c: Delete USE_HOST_BIT definition.
1960
19611999-11-21 Michael Handler <handler@sub-rosa.com>
1962
1963 * rtread_getmsg.c: Undef some definition to resolve conflict.
1964
19651999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1966
1967 * kernel_socket.c (rtm_write): Change to use pre stored struct_dl
1968 value for gateway specification.
1969
19701999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1971
1972 * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
1973 128 under IPv6, don't use RTF_HOST.
1974
19751999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1976
1977 * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
1978
19791999-11-21 Michael Handler <handler@sub-rosa.com>
1980
1981 * rtread_getmsg.c: Added for Solaris 2.6 support.
1982
19831999-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1984
1985 * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
1986
1987 * rt_socket.c (kernel_read): Better BSD routing socket support.
1988
19891999-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1990
1991 * client_main.c: Disable making obsolete zebra test `client'
1992 command.
1993
19941999-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1995
1996 * zebra.c: Renamed to zserv.c.
1997
1998 * zebra.h: Global definitions are moved to lib/zebra.h. Then
1999 renamed to zserv.h.
2000
20011999-10-15 Jordan Mendelson <jordy@wserv.com>
2002
2003 * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
2004 interface. Remove ugly MAX_INTERFACE handling codes.
2005
20061999-09-17 Satosi KOBAYASI <kobayasi@north.ad.jp>
2007
2008 * Fix serious bug of IPv6 route deletion.
2009
20101999-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2011
2012 * ioctl.c (if_set_prefix): Properly set broadcast address.
2013
20141999-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2015
2016 * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
2017 can install connected route to kernel via zebra
2018
20191999-08-24 VOP <vop@unity.net>
2020
2021 * rib.c: Include "sockunion.h"
2022
20231999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2024
2025 * ipforward.h: New file.
2026
2027 * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
2028 ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
2029
20301999-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2031
2032 * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
2033 ZEBRA_INTERFACE_{ADD,DELETE} added.
2034
20351999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2036
2037 * rib.c: show ip route A.B.C.D works.
2038
2039 * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
2040
20411999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2042
2043 * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
2044
20451999-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2046
2047 * interface.h: New file.
2048 * Makefile.am: Add interface.h
2049
20501999-08-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2051
2052 * redistribute.c (zebra_redistribute): give ifindex to client.
2053
20541999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2055
2056 * main.c (longopts): -k, --keep_kernel option added.
2057
20581999-07-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2059
2060 * rt_socket.c (rtm_write): forgot closing socket bug fixed.
2061
20621999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2063
2064 * rib.c (show_ipv6_cmd): if rib is link show interface name.
2065
20661999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2067
2068 * rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
2069
20701999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2071
2072 * rt_socket.c (rtm_write): ipv6 route table bug fixed.
2073
20741999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2075
2076 * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
2077
20781999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2079
2080 * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
2081
20821999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2083
2084 * if_sysctl.c (ifm_read): Clear sockunion argument before fetching
2085 data. Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
2086
20871999-07-08 HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
2088
2089 * interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
2090
20911999-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2092
2093 * zebra.c (zebra_serv): Only accept loopback address connection.
2094
20951999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2096
2097 * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
2098
20991999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2100
2101 * ipforward_proc.c: ipforward_on () and ipforward_off () added.
2102
21031999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2104
2105 * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
2106 using /proc file system is added.
2107
21081999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2109
2110 * if_ioctl.c (if_get_index): Interface index set bug is fixed by
2111 adding #else at the middle of function. Suggested by David Luyer
2112 <luyer@ucs.uwa.edu.au>.
2113
21141999-05-29 <kunihiro@zebra.org>
2115
2116 * rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
2117
21181999-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2119
2120 * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
2121 the sort of routes.
2122
21231999-05-25 Patrick Koppen <koppen@rhrk.uni-kl.de>
2124
2125 * rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
2126 (netlink_parse_info): If errno is EWOULDBLOCK then continue to
2127 parse the message.
2128 (netlink_talk): Likewise
2129
21301999-05-17 <kunihiro@zebra.org>
2131
2132 * redistribute.c (zebra_check_addr): Added for loopback address
2133 check.
2134
21351999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2136
2137 * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
2138 change treatment.
2139
2140 * Makefile.am (noinst_HEADERS): redistribute.h added.
2141
2142 * redistribute.h: New file.
2143
21441999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2145
2146 * zebra.c (show_table): Show all table configuration DEFUN.
2147 (config_table): Config table number DEFUN.
2148
2149 * rt_netlink.c: Add support for multiple routing table.
2150
2151 * rib.c (rib_weed_table): New function added for delete all
2152 routes from specified routing table.
2153
2154 * main.c (signal_init): SIGTERM call sigint.
2155 (sigint): Loggging more better message.
2156
21571999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2158
2159 * rt_netlink.c: Change log () to zlog ().
2160
21611999-05-07 <kunihiro@zebra.org>
2162
2163 * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
2164
21651999-04-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2166
2167 * interface.c: Add `no ip address' command.
2168
21691999-04-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2170
2171 * rt_netlink.c (kernel_read): Function added for asynchronous
2172 zebra between kernel communication.
2173
21741999-03-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2175
2176 * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
2177 Reported by Achim Patzner <ap@bnc.net>.
2178
21791999-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2180
2181 * Makefile.am: Install configuration sample with 600 permission.
2182
21831999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2184
2185 * Makefile.am: Add -I.. to INCLUDES.
2186
21871999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2188
2189 * syslog support added
2190
21911999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
2192
2193 * if_sysctl.c (interface_list): allocated memory free when unknown
2194 ifm_type is returned.
2195
2196 * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
2197
21981998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2199
2200 * interface.c: Header include added.
2201
22021998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2203
2204 * rt.h (kernel_delete_ipv6): change int index to unsigned int index.
2205
22061998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2207
2208 * if_ioctl.c (interface_list_ioctl): interface flag must be
2209 checked before check addresses of the interface.
2210
22111998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2212
2213 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
2214
22151998-10-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2216
2217 * ioctl.c: Linux version before 2.1.0 need interface route setup.
2218
22191998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
2220
2221 * change HYDRANGEA to KAME
2222
22231998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2224
2225 * if_ioctl.c (if_addr_ioctl): set address family for getting
2226 interface's address.
2227 (if_get_index): silently return when can't get interface's index.
2228
22291998-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2230
2231 * main.c (main): batch mode option '-b' added.
2232
22331998-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2234
2235 * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
2236 * interface.c (shutdown_if): add interface shutdown and no
2237 shutdown command.
2238
22391998-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2240
2241 * rib.c (rib_add_ipv6): delete rib_add_in6.
2242
22431998-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2244
2245 * main.c: retain flag is added.
2246
22471998-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2248
2249 * rtable.[ch]: merged with rib.[ch]
2250
22511998-07-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2252
2253 * connected.h: renamed from ifa.h.
2254
22551998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2256
2257 * rename if.c to interface.c
2258 * rename ifa.c to connected.c
2259
2260 * Porting to Debian GNU/Linux 2.0 (hamm).
2261
22621998-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2263
2264 * rt_netlink.c: renamed from krt_netlink.c
2265
2266 * fib.c: deleted.
2267 * rt_kvm.c: deleted.
2268 * rtread_getmsg.c: deleted.
2269
22701998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2271
2272 * if.c (multicast): add multicast flag [un]set fucntion.
2273
22741998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2275
2276 * rt_socket.c: Modify for compile on Solaris, but dont't work it.
2277 rt_socket.c have some undefined function, so add directive "IMPLEMENT"
2278
22791998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2280
2281 * zebra.c: Modify for compile on Solaris.
2282
22831998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2284
2285 * main.c: change CONFDIR to SYSCONFDIR.
2286
22871998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2288
2289 * .cvsignore: added.
2290
22911998-04-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2292
2293 * client.c: moves to ../lib.
2294
22951998-03-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2296
2297 * if_ioctl.c (if_get_addr): Change address copy from memcopy() to
2298 structure assignment.
2299
23001998-03-30 URA Hiroshi <ura@yamato.ibm.co.jp>
2301
2302 * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
2303
23041998-02-23 "Hannes R. Boehm" <hannes@boehm.org>
2305
2306 * if.c (if_init): add config_exit_cmd and config_help_cmd.
2307
23081998-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2309
2310 * rt_ioctl.c (route_ioctl): EPERM treatment added.
2311
23121998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2313
2314 * rt_socket.c (kernel_read): communication port zebra between
2315 kernel is now handled by kernel_read.
2316
23171998-01-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2318
2319 * main.c (main): zebra [-P port] can specify vty port number.
2320
23211997-12-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2322
2323 * zebra.c: change select will be block.
2324
23251997-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2326
2327 * add static route treatment.
2328
23291997-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2330
2331 * rt_netlink.c: add netlink support over GNU/Linux system.
2332
23331997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2334
2335 * all inet_addr is changed to inet_aton.
2336
2337 * zebra.c (ip_route): add ip route command for static routes.
2338
23391997-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2340
2341 * if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
2342
23431997-11-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2344
2345 * if.c: add interface command.
2346
23471997-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2348
2349 * ipforward_proc.c : Now works on Linux.
2350
23511997-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2352
2353 * command.c : add completion feature.
2354
23551997-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2356
2357 * vty.c (vty_command): add vty interface.
2358
23591997-10-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2360
2361 * zebra.c: add verbose mode.
2362
23631997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
2364
2365 * Hydrangea for FreeBSD supported
2366 * in.h: add some prototype.
2367
23681997-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2369
2370 * rt_socket.c and rtread.c completely rewritten.
2371
23721997-10-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2373
2374 * rt_socket.c: rename kernel_sock to routing_socket
2375
23761997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2377
2378 * if.c (if_new): interface structure change from linklist to vector.
2379
23801997-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2381
2382 * vector.c (vector_init): create vector related function
2383
23841997-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2385
2386 * Makefile.in: add tags target
2387
2388 * start IPv6 support for INRIA FreeBSD.
2389