]> git.proxmox.com Git - mirror_frr.git/blob - zebra/ChangeLog
+ fixed bug #402: now the second zebra process doesn't destroy routes
[mirror_frr.git] / zebra / ChangeLog
1 2007-09-14 Denis Ovsienko
2
3 * rt_socket.c: (kernel_rtm_ipv4) Use lookup() instead of
4 LOOKUP/mes_lookup() for rtm_type_str, as this is more
5 appropriate for sparse code-spaces (#401).
6 * kernel_socket.c: (rtm_read, rtmsg_debug): Idem.
7 * kernel_socket.[ch]: We don't need rtm_type_str_max any more.
8 * main.c: (main) Don't call rib_sweep_route() before the
9 pidfile is acquired, this fixes bug #402.
10
11 2007-09-12 Denis Ovsienko
12
13 * rt_socket.c: (kernel_rtm_ipv4) prefix_buf could be passed
14 to zlog_err() uninitialized with debug disabled. Fixed.
15
16 2007-09-06 Denis Ovsienko
17
18 * rtread_sysctl.c: (route_read) Set RTF_DONE on the routing
19 messages when fetching initial kernel FIB, so rtm_read()
20 doesn't skip them.
21
22 2007-08-21 Denis Ovsienko
23
24 * ioctl_solaris.c: (if_get_mtu) Don't break things if either
25 IPv6 was disabled at compile time or the current interface
26 hasn't it enabled.
27 * kernel_socket.c: (ifm_read) Don't forget to call if_get_mtu()
28 for updated interfaces.
29
30 2007-08-17 Denis Ovsienko
31
32 * kernel_socket.c: (rtm_read) Ignore any routing socket messages
33 without RTF_DONE flag set, as they are just noise for us.
34
35 2007-08-14 Denis Ovsienko
36
37 * zebra_rib.c: (nexthop_active_update) Added a comment
38 and rewrote nexthop iteration.
39
40 2007-08-13 Denis Ovsienko
41
42 * kernel_socket.c: normalize rtm_type_str so it can be handled
43 by LOOKUP macro
44 * kernel_socket.c: (rtm_read) don't ignore self-generated
45 routing messages, so we can debug them; make use of
46 ZEBRA_ERR_RTNOEXIST; output more details in debug log.
47 * kernel_socket.c: (rtmsg_debug) make use of LOOKUP macro
48 * kernel_socket.h: let the world know about rtm_type_str[_max]
49 * rib.h: 3 more debugging functions and 5 return codes
50 * rt_socket.c: (kernel_rtm_ipv4) dump IP prefix and masklen;
51 complain about strange rtm_write() return values
52 * zebra_rib.c: (rib_lookup_ipv4_route, rib_dump,
53 rib_lookup_and_dump) --- new functions; more comments;
54 more debug logging
55
56 2007-08-10 Emmanuel Vize <emmanuel.vize@6wind.com>
57
58 * rt_netlink.c: (netlink_interface_addr) Use the appropriate field length for the address
59 (acknowledge Andy's comment).
60
61 2007-08-06 Denis Ovsienko
62
63 * zebra_rib.c: (general) Add extra debug logging for RIB and
64 RIB queue.
65
66 2007-08-02 Denis Ovsienko
67
68 * rt_socket.c (kernel_rtm_ipv4): Only call rtm_write when changes
69 are intended. Don't set FIB flag on failed additions (such as
70 occur with multiple paths.
71
72 2007-06-25 Denis Ovsienko
73
74 * zebra_rib.c: (rib_add_ipv4_multipath) Loop through RIB
75 is using 'same' variable, but RIB_ENTRY_REMOVED check
76 is testing the constant 'rib' variable, fix. Impact
77 unknown at this point.
78
79 2007-05-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
80
81 * zebra_routemap.c: (route_set_src_compile) Use '#ifdef HAVE_IPV6'
82 as needed.
83 * zebra_vty.c: (vty_show_ip_route_detail, vty_show_ip_route) Use
84 '#ifdef HAVE_IPV6' as needed.
85 (show_ip_protocol) Move function definition outside of
86 '#ifdef HAVE_IPV6' section.
87
88 2007-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
89
90 * kernel_socket.c: (ifam_read_mesg) Grab RTA_DST and RTA_GATEWAY
91 addresses from the message (if present, which seems unlikely on
92 current BSD platforms), and show them in the debug messages.
93 Also, add ifam_flags to the debug messages.
94 (ifam_read) If the interface is point-to-point, then the RTA_BRD
95 address should be treated as a peer address.
96
97 2007-05-01 David L Stevens <dlstevens@us.ibm.com>
98
99 * (general) These changes collectively add route-map and
100 prefix-list support to zebra and fix a bug in "show
101 route-map" (with no argument).
102 * connected.c: (connected_up_ipv4) added src preference argument
103 to rib_add_ipv4()
104 * kernel_socket.c: (rtm_read) ditto
105 * main.c: added prefix list initialization
106 * Makefile.am: added zebra_routemap.c source file
107 * rib.h: added generic address union "g_addr" and use in
108 existing places that had an explicit union.
109 Added "src" to struct nexthop.
110 Added preferred src arg to nexthop_ipv4_add and rib_add_ipv4.
111 * rt_netlink.c: (netlink_routing_table) set preferred source on
112 netlink messages.
113 (netlink_route_change) ditto
114 (netlink_route_multipath) ditto.
115 * rtread_getmsg.c: (handle_route_entry) added (NULL) src to
116 rib_add_ipv4() call.
117 * rtread_proc.c: (proc_route_read) ditto
118 * zebra_rib.c: (nexthop_ipv4_add) add src argument.
119 (nexthop_ipv4_ifindex_add) ditto
120 (rib_add_ipv4) ditto
121 (nexthop_active_check) Add route-map processing.
122 * zebra_routemap.c: new file for zebra route-map commands.
123 * zebra_vty.c: (ip_protocol_cmd) Apply route-map to protocol
124 (vty_show_ip_route_detail) added "src" printing
125 (vty_show_ip_route) ditto
126 (show_ip_protocol_cmd) new command, list routemaps.
127 (config_write_protocol) write out routemap protocl config.
128 (zebra_vty_init) Install the new routemap protocol commands.
129 * zserv.c: (zread_ipv4_add) added (NULL) src arg
130 (zebra_init) init zebra route-maps.
131 * zserv.h: add zebra_route_map_init
132
133 2007-04-29 Paul Jakma <paul.jakma@sun.com>
134
135 * ioctl{_solaris,}.c: (if_get_mtu) Fix missing ; in last commit.
136 * if_ioctl_solaris.c: (if_get_index) Fix bogus argument passed
137 to lifreq_set_name().
138
139 2007-04-10 Paul Jakma <paul.jakma@sun.com>
140
141 * ioctl{_solaris,}.c: (if_get_mtu) Ping clients via
142 zebra_interface_up_update if MTU is changed.
143
144 2007-04-08 Paul Jakma <paul.jakma@sun.com>
145
146 * {ioctl,kernel}_null.c: Install of IP address should
147 reflect back to zebra via kernel_address_add..., makes
148 testzebra more useful.
149 * interface.c: (if_delete_update) Address removal triggered
150 by kernel shouldn't remove configured IPv4 address from connected
151 list.
152
153 2007-04-07 Paul Jakma <paul.jakma@sun.com>
154
155 * redistribute.c: (zebra_check_addr) Don't redistribute routes
156 to IPv4 link-local prefixes, fixes bug #351.
157 * redistribute.h: Export zebra_check_addr.
158 * router-id.c: (router_id_bad_address) re-use zebra_check_addr
159 rather than implementing similar logic.
160
161 2007-03-06 Paul Jakma <paul.jakma@sun.com>
162
163 * kernel_socket.c: (ifam_read) Do not update interface metric on
164 receipt of NEW/DEL ADDR messages, bogus as: a) some systems
165 dont include iface metric for address events b) we didn't
166 update clients either. Initial diagnosis by Eugene Grosbein.
167
168 2007-02-26 Robert Olsson <Robert.Olsson@data.slu.se>
169
170 * irdp_main.c: (irdp_send_thread) Skip non-AF_INET addresses,
171 i.e. do not try interpret IPv6 addresses as IPv4 addresses
172 to broadcast in IRDP announcements..
173
174 2006-12-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
175
176 * if_ioctl_solaris.c: (if_get_addr) For IPv6, stop assuming
177 that all IFF_POINTOPOINT have prefixlen of IPV6_MAX_BITLEN.
178 Instead, always try the SIOCGLIFSUBNET ioctl; if that fails,
179 then we fall back to IPV6_MAX_BITLEN for PtP interfaces.
180
181 2006-12-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
182
183 * connected.c: (connected_up_ipv4, connected_down_ipv4,
184 connected_up_ipv6, connected_down_ipv6) Simplify logic using the
185 new CONNECTED_PREFIX macro.
186 (connected_add_ipv4) Set prefixlen in destination addresses (required
187 by the CONNECTED_PREFIX macro). Use CONNECTED_PEER macro instead
188 of testing for IFF_POINTOPOINT. Delete invalid warning message.
189 Warn about cases where the ZEBRA_IFA_PEER is set but no
190 destination address has been supplied (and turn off the flag).
191 (connected_add_ipv6) Add new flags argument so callers may set
192 the ZEBRA_IFA_PEER flag. If peer/broadcast address satisfies
193 IN6_IS_ADDR_UNSPECIFIED, then reject it with a warning.
194 Set prefixlen in destination address so CONNECTED_PREFIX will work.
195 * connected.h: (connected_add_ipv6) Add new flags argument so
196 callers may set the ZEBRA_IFA_PEER flag.
197 * interface.c: (connected_dump_vty) Use CONNECTED_PEER macro
198 to decide whether the destination address is a peer or broadcast
199 address (instead of checking IFF_BROADCAST and IFF_POINTOPOINT).
200 * if_ioctl.c: (if_getaddrs) Instead of setting a peer address
201 only when the IFF_POINTOPOINT is set, we now accept a peer
202 address whenever it is available and not the same as the local
203 address. Otherwise (no peer address assigned), we check
204 for a broadcast address (regardless of the IFF_BROADCAST flag).
205 And must now pass a flags value of ZEBRA_IFA_PEER to
206 connected_add_ipv4 when a peer address is assigned.
207 The same new logic is used with the IPv6 code as well (and we
208 pass the new flags argument to connected_add_ipv6).
209 (if_get_addr) Do not bother to check IFF_POINTOPOINT: just
210 issue the SIOCGIFDSTADDR ioctl and see if we get back
211 a peer address not matching the local address (and set
212 the ZEBRA_IFA_PEER in that case). If there's no peer address,
213 try to grab SIOCGIFBRDADDR regardless of whether IFF_BROADCAST is set.
214 * if_ioctl_solaris.c: (if_get_addr) Just try the SIOCGLIFDSTADDR ioctl
215 without bothering to check the IFF_POINTOPOINT flag. And if
216 no peer address was found, just try the SIOCGLIFBRDADDR ioctl
217 without checking the IFF_BROADCAST flag. Call connected_add_ipv4
218 and connected_add_ipv6 with appropriate flags.
219 * if_proc.c: (ifaddr_proc_ipv6) Must pass new flags argument to
220 connected_add_ipv6.
221 * kernel_socket.c: (ifam_read) Must pass new flags argument to
222 connected_add_ipv6.
223 * rt_netlink.c: (netlink_interface_addr) Copy logic from iproute2
224 to determine local and possible peer address (so there's no longer
225 a test for IFF_POINTOPOINT). Set ZEBRA_IFA_PEER flag appropriately.
226 Pass new flags argument to connected_add_ipv6.
227 (netlink_address) Test !CONNECTED_PEER instead of if_is_broadcast
228 to determine whether the connected destination address is a
229 broadcast address.
230
231 2006-12-08 Piotr Chytla <pch@packetconsulting.pl>
232
233 * zebra_rib.c: (static_install_ipv{4,6}) Case where existing
234 RIB is updated must explicitely rib_addqueue the route_node,
235 to ensure the update actually takes effect.
236
237 2006-09-13 Tom Everett <tom@khubla.com>
238
239 * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to
240 compile on systems that no longer define them.
241
242 2006-08-06 Paul Jakma <paul.jakma@sun.com>
243
244 * interface.h: (ifstat_update_proc) declaration should match
245 ifstat_update_sysctl really, which is to not return status, as
246 such status is not used anywhere.
247 * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values
248 consistent with each other and their declarations, ie:
249 (void) (*) (void).
250 * rtadv.h: depends on interface.h, so should include it.
251
252 2006-08-04 Paul Jakma <paul.jakma@sun.com>
253
254 * misc_null.c: Add ifstat_update_sysctl, add another required
255 header.
256
257 2006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
258
259 * misc_null.c: Must include header files to get older versions of gcc
260 to process the #pragma statements properly.
261
262 2006-08-01 Paul Jakma <paul.jakma@sun.com>
263
264 * irdp_main.c: (irdp_advertisement) free the stream here, when done,
265 right under where it was allocated so it's blindingly obvious
266 it's correct. This possibly fixes a very slow leak of streams in
267 zebra.
268 * irdp_packet.c: (send_packet) don't free the stream here as
269 it's hard to tell if right, plus an error case seemed to
270 returning before free anyway.
271
272 2006-07-27 Paul Jakma <paul.jakma@sun.com>
273
274 * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations,
275 useful for testing zebra code that calls such methods.
276 * {redistribute,misc}_null.c: Dummy/Null methods, as above. But
277 for zclient, and for various misc functions.
278 * test_main.c: Test harness for zebra, currently just to test the
279 RIB.
280 * Makefile.am: Build testzebra using above.
281 * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'.
282 * rib.h: (struct rib) Add a route_node rn_status flag field,
283 this has to be copied every time head RIB of a route_node
284 changes.
285 Remove the rib lock field, not needed - see below.
286 Add a status field for RIB-private flags.
287 * zebra_rib.c: Add a global for the workqueue hold time, useful
288 for testing.
289 (general) Fix for bug #268. Problem originally detailed by
290 Simon Bryden in [quagga-dev 4001].
291 Essentially, add/delete of a RIB must happen /before/ the
292 queue. Best-path selection (ie rib_process) and reaping of
293 freed RIBs can then be done after queueing. Only the route_node
294 is queued - no important RIB state (i.e. whether a RIB is to be
295 deleted) is queued.
296 (struct zebra_queue_node_t) Disappears, no longer need to
297 track multiple things on the queue, only the route_node.
298 (rib_{lock,unlock}) removed, RIBs no longer need to be
299 refcounted, no longer queued.
300 (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted
301 via the queue.
302 (rib_queue_add_qnode) deleted
303 (rib_queue_add) Only the route_node is queued for best-path
304 selection, we can check whether it is already queued or
305 not and avoid queueing same node twice - struct rib * argument
306 is not needed.
307 (rib_link/unlink) (un)link RIB from route_node.
308 (rib_{add,del}node) Front-end to updates of a RIB.
309 (rib_process) Reap any deleted RIBs via rib_unlink.
310 Unset the route_node 'QUEUED' flag.
311 (General) Remove calls to rib_queue_add where add/del node was
312 called - not needed, update calls where not.
313 Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes
314
315 2006-07-27 Rumen Svobodnikov <rumen@telecoms.bg>
316
317 * connected.c: (connected_up_ipv4) interface connected routes always
318 go to table main (or otherwise they cannot be used by linux as
319 nexthops)
320 * zserv.c: (zread_ipv4_add) send route to the correct routing table
321 * zebra_rib.c (static_install_ipv4) set routing table
322
323 2006-07-02 Paul Jakma <paul.jakma@sun.com>
324
325 * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not
326 proceed if addr is NULL.
327 * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check
328 required arguments are supplied for the given nexthop type.
329
330 2006-06-15 Paul Jakma <paul.jakma@sun.com>
331
332 * interface.c: (if_flag_dump_vty) redundant code, remove.
333 (if_dump_vty) use libzebra if_flag_dump.
334 (ip_address_uninstall) Unset the configured flag.
335 * connected.c: (connected_same) new helper, check whether
336 two connected are same.
337 (connected_implicit_withdraw) new helper, consolidation of
338 existing code in connected_add_ipv{4,6}.
339 Try filter out unneeded Zserv address delete/adds when
340 address is exact same.
341 Where old address is implicitely removed, be sure to preserve
342 the IFC_CONFIGURED flag if set, fixes bug where configured
343 addresses were being lost on FreeBSD (Andrew Schorr).
344
345 2006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
346
347 * connected.c: (connected_withdraw) Do not delete the connected
348 address if the ZEBRA_IFC_CONFIGURED flag is set.
349 (connected_add_ipv4,connected_add_ipv6) Before calling
350 connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag
351 on the superseded connected structure.
352
353 2006-05-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
354
355 * connected.c: (connected_add_ipv4,connected_add_ipv6) If the
356 new struct connected matches an already existing one
357 (that will consequently be removed by connected_withdraw),
358 then be sure to preserve the ZEBRA_IFC_CONFIGURED flag.
359
360 2006-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
361
362 * kernel_socket.c: (ifam_read_mesg) Improve debug message
363 to show the IP address.
364
365 2006-05-15 Paul Jakma <paul.jakma@sun.com>
366
367 * zserv.c: (general) Remove the private zebra_command_str
368 in favour of newly added libzebra zserv_command_string.
369
370 2006-05-11 Paul Jakma <paul.jakma@sun.com>
371
372 * interface.c: (if_delete_update) route_node_lookup may return
373 NULL, should fix Coverity CID #31.
374
375 2006-02-09 Paul Jakma <paul.jakma@sun.com>
376
377 * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid
378 needless padding.
379 (struct rib) Remove the indirect pointer, not used anywhere!
380
381 2006-02-02 Paul Jakma <paul.jakma@sun.com>
382
383 * interface.c: (if_dump_vty) move flags to their line, neater.
384
385 2006-01-30 Paul Jakma <paul.jakma@sun.com>
386
387 * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
388 commit, last commit had a hole that could allow connected
389 route selection to escape beyond the connected route logic.
390 This time I cross-checked with Gunnar first. ;)
391
392 2006-01-25 Gunnar Stigen <gunnar.stigen@axxessit.no>
393
394 * zebra_rib.c: (rib_process) Application of Gunnar's earlier
395 metric selection RIB change included incorrect tidy-ups made
396 by commiter. Fix. (NB: any errors here are again due to paul).
397
398 2006-01-25 Paul Jakma <paul.jakma@sun.com>
399
400 * (general) More solaris PF_ROUTE hacks. The IFF_UP mangling
401 for solaris was incomplete on the PF_ROUTE side. fix it.
402 This changeset generally uglifies things. For some future
403 work I'd like to see the state changes seperated out from
404 the details of the code. Differences between systems might
405 then be slightly easier to implement without convoluted
406 hacks.
407 Changes should be specific to Solaris mostly, however
408 also tested on FreeBSD 6.
409 * if_ioctl_solaris.c: (interface_list_ioctl) ignore ~IFF_UP
410 interfaces, we'll hear about them when/if interface goes up
411 through NEWADDR.
412 Update flags explicitely at end of it to kick mangling.
413 * ioctl_solaris.c: (if_mangle_up) removed to interface.c, in
414 kind.
415 (lifreq_set_name) more convenient to take the string, than
416 the ifp.
417 (if_get_flags_direct) new convenience function, returns
418 the actual flags. Used during bootstrap in if_ioctl_solaris.c
419 to peek at flags of logical interfaces to see whether or
420 not to ignore them.
421 (if_get_flags) ENXIO means it's gone, poke out IFF_UP and
422 kick flags update.
423 (if_{un,}set_flags) flags argument should be 64bit.
424 * ioctl.{c,h}: flags argument should be 64bit.
425 * interface.h: Add a 'primary_state' flag to struct zebra_if on
426 SUNOS_5.
427 Export if_flags_update.
428 * interface.c: (if_flags_mangle) moved over in kind from
429 ioctl_solaris.c. Nasty kludge to try get IFF_UP right, as
430 much as is possible. Also keep track of the actual IFF_UP
431 value for the primary interface, so we can know when the ifp
432 must be deleted.
433 (if_flags_update) Take a new interface flags value, apply it
434 to the interface, and take whatever actions are required due
435 to flag transitions.
436 (if_refresh) flag state change logic is moved out to
437 previous. Just call if_get_flags, which will end up using
438 previous to effect the update of flags.
439 (if_flag_dump_vty) IFF_IPV{4,6} aren't interesting, VIRTUAL
440 and NOXMIT are though.
441 * kernel_socket.c: (ifm_read) Down->Down transitions shouldn't
442 create ifp, for non-IFANNOUNCE systems.
443 Use if_flags_update to update flags.
444 flag transition logic is now handled automatically through
445 if_flags_update.
446 (ifam_read) Better to call if_refresh *after* adding
447 connected addresses, as connected count affects IFF_UP on
448 IFF_UP-mangled systems.
449 On Solaris, Up->Down due to DELADDR means we need to delete
450 the ifp - the IFINFO might already have been and gone.
451 * rt.h: include other dependent headers.
452
453 2006-01-19 Paul Jakma <paul.jakma@sun.com>
454
455 * (general) various miscellaneous compiler warning fixes.
456 Remove redundant break statements from switch clauses
457 which return.
458 Remove stray semi-colons which cause empty-statement
459 warnings.
460 * main.c: (sighup) remove private declaration of external
461 function.
462 (main) return from main, not exit, cause it annoys SOS.
463
464 2006-01-18 Gunnar Stigen <gunnar.stigen@axxessit.no>
465
466 * zebra_rib.c: Take interface metric into account.
467
468 2006-01-17 Paul Jakma <paul.jakma@sun.com>
469
470 * kernel_socket.c: (ifam_read) Read metric from RTM_NEWADDR.
471 If interface is an alias, pass the alias as a label for
472 connected_add_ipv{4,6}.
473 * rt_netlink.c: (netlink_interface_addr) print out
474 IFA_CACHEINFO info, if present, when debugging kernel
475 messages.
476
477 2006-01-17 Gunnar Stigen <gunnar.stigen@axxessit.no>
478
479 * connected.c: (connected_up_ipv{4,6}) Include interface metric on
480 connected routes.
481 * if_ioctl.c: (if_getaddrs) Be defensive about assuming
482 that struct ifaddrs will have ifa_addr filled in.
483
484 2006-01-16 Paul Jakma <paul.jakma@sun.com>
485
486 * zserv.c: Read/write updated Zserv header.
487
488 2006-01-11 Paul Jakma <paul.jakma@sun.com>
489
490 * zserv.c: (zsend_interface_{add,delete,update}) if flags are
491 8 bytes now, update to write out with stream_putq.
492
493 2005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
494
495 * kernel_socket.c: remove dead code (from David Young).
496
497 * rt_socket.c (kernel_rtm_ipv4): Use AF_INET rather than AF_UNSPEC
498 for mask. From David Young.
499
500 2005-11-26 Paul Jakma <paul.jakma@sun.com>
501
502 * connected.{c,h}: (connected_add_ipv6) label should have
503 const qualifier, fix declarations.
504
505 2005-11-24 Paul Jakma <paul.jakma@sun.com>
506
507 * kernel_socket.h: New header for functions exported to sysctl
508 methods.
509 * kernel_socket.c: include previous.
510 Remove static qualifier from couple of functions which are
511 used by sysctl methods.
512 Add a workaround for a bogus gcc warning to the RTA_ macros.
513 * Makefile.am: Add kernel_socket.h to noinst_HEADERS
514 * if_sysctl.c: include rt.h and kernel_socket.h and remove
515 redundant prototypes.
516 * rtread_sysctl.c: ditto.
517 (route_read) fix mismatch of return values.
518 * {rt,zserv,rib}.h: Include lib headers depended on.
519
520 2005-11-23 Paul Jakma <paul.jakma@sun.com>
521
522 * (general) fix some small compile errors, and mark several
523 functions as static.
524 * kernel_socket.c: (ifan_read) should be static.
525 fix missing brackets.
526 (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static
527 (ifam_read_mesg) make static. fix incorrect variable name.
528 (rtm_read) make static. Fix call to rib_delete_ipv4 which
529 should be rib_delete_ipv6.
530 (routing_socket,kernel_init) should be static. Void argument
531 should be specified as such, not left incomplete.
532 * rt_netlink.c: rt.h should be included, contains prototypes of
533 exported functions.
534 (kernel_delete_ipv6_old) fix sign of index argument.
535 * rt_socket.c: Exact same as previous. Also, make various
536 functions static.
537 * rtread_getmsg.c: Include zserv.h, which prototypes
538 route_read. Make static.
539 * rtread_sysctl.c: zserv.h and rt.h should be included.
540 fix definition of route_read.
541
542 2005-11-14 Paul Jakma <paul.jakma@sun.com>
543
544 * zebra_rib.c: (rib_process) convert to new workqueue specs and
545 shut up gcc, which complains about cast from void via
546 function parameters, for some dumb reason. Do the cast
547 inside the function instead.
548 (rib_queue_qnode_del) ditto.
549 (rib_queue_init) no need for the casts anymore.
550
551 2005-11-12 Alexander Gall <gall@switch.ch>
552
553 * See [quagga-dev 1815]
554 * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN
555 is not available.
556 * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to
557 AF_INET6 on ipv6 routes.
558
559 2005-11-12 Paul Jakma <paul.jakma@sun.com>
560
561 * kernel_socket.c: Add RTA_NAME_GET macro to extract name from
562 sockaddr_dl. Add some more RTF_ flags.
563 * (ifan_read) Add some debug messages.
564 * (ifm_read) Add more debug messages. More robust cross-checks
565 of index against name.
566 Fall back to by-name lookup if the index lookup fails, future
567 proofing more than anything else.
568 (ifam_read_mesg) Read RTA_IFP. Add debug messages.
569 (ifam_read) More debug. If there's an RTA_IFP and it isn't
570 the name of the interface, save it as the label.
571 (rtm_read_mesg) Read RTA_IFP.
572 (rtm_read) allow name to be retrieved.
573 (rtmsg_debug) expand on the debug message.
574
575 2005-11-11 Paul Jakma <paul.jakma@sun.com>
576
577 * kernel_socket.c: (ifm_read) arithmetic on void pointer
578 warning.
579 (ifam_read) Fix error from connected-with-label merge,
580 something crept in from the pending Solaris kernel_socket.c
581 patch which shouldn't have.
582
583 2005-11-03 Paul Jakma <paul.jakma@sun.com>
584
585 * connected.{c,h}: Include memory.h
586 (connected_add_ipv4) Use MTYPE for ifc label.
587 (connected_add_ipv6) Also should accept label. Store it in ifp.
588 (connected_del_ipv4) Taking label as argument is pointless.
589 * rt_netlink.c: (netlink_interface_addr) update label usage
590 for connected_{add,delete} functions.
591 * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
592 * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
593 so we also find out about NOXMIT interfaces like VNI.
594 Bit of hackery to turn interface names into the primary
595 interface name, later with routing socket messages we only
596 will about primary interfaces anyway, so we must normalise
597 the name.
598 (if_get_addr) take label as argument, so it can
599 be passed to connected_add.
600 If label is provided, then it is interface name to issue the
601 ioctl for address information on, not the ifp name.
602 (interface_list) List AF_UNSPEC too, just in case.
603 * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
604 * interface.c: (if_addr_wakeup) Some very bogus code - sets
605 IFF_RUNNING - add comment.
606 (if_refresh)
607 (ip_address_install) Use MTYPE for ifc label.
608 * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
609 IFF_UP reflect whether any addresses are left on the
610 interface, as we get signalled for IFF_UP flags change on the
611 primary interface only. Logical interfaces dont generate
612 IFINFO, but we do get an RTM_DELADDR.
613 (if_get_flags) Call if_mangle_up before return.
614 * kernel_socket.c: (ifam_read) Fixup calls to
615 connected_{add,delete} to match above changes. Rename gate
616 variable to brd, less confusing.
617 Pass the interface name as a label, if it is not same name
618 as ifp->name.
619
620 2005-10-11 Paul Jakma <paul.jakma@sun.com>
621
622 * connected.{c,h}: (connected_{add,delete}_ipv4) label should
623 be const qualified.
624
625 2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
626
627 * zebra_vty.c: (route_type_str) Remove obsolete function: use new
628 library function zebra_route_string() instead. Note that there
629 are a few differences: for IPv6 routes, we now get "ripng" and
630 "ospf6" instead of the old behavior ("rip" and "ospf").
631 (route_type_char) Remove obsolete function: ues new library function
632 zebra_route_char() instead. Note that there is one difference:
633 the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
634 whereas the new one returns 'X'.
635 (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
636 route_type_str() with zebra_route_string().
637 (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
638 with zebra_route_char().
639
640 2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
641
642 * rt_netlink.c: (netlink_request) Use memset to clear structure
643 before calling sendto (eliminates a valgrind error message about
644 uninitialized data).
645
646 2005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
647
648 * zserv.c: Always provied distance for route add
649
650 2005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
651
652 * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
653 usage with HAVE_IPV6
654
655 2005-09-24 Hasso Tepper <hasso at quagga.net>
656
657 * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
658 add is treated as implicit withdraw.
659
660 2005-09-21 David Young <dyoung@ojctech.com>
661
662 * zebra_rib.c: Reduce the height of some staircases. Fix
663 rib_delete_ipv6() to match routes in the RIB by their gateway as
664 well as by destination.
665
666 2005-09-21 Paul Jakma <paul.jakma@sun.com>
667
668 * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
669 removal of static routes with multiple-hops introduced with
670 the workqueue conversion. We should free the relevant
671 nexthop and then get rib_process to run, otherwise we just
672 get same static route back again (with no way to unconfigure
673 it, because its already deleted from configuration).
674
675 2005-09-12 Paul Jakma <paul.jakma@sun.com>
676
677 * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR
678 support.
679 * connected.c: (connected_withdraw) new function. withdraw a
680 connected subnet address set from zebra, and pass information
681 along to clients.
682 (connected_announce) similar, but to announce a new connected
683 subnet address set.
684 (connected_check_ipv4) renamed to connected_check, as its
685 AFI independent.
686 (connected_add_ipv{4,6}) Remove the connected address announce
687 stuff, use connected_announce instead.
688 If connected_check indicates address is already present,
689 treat it as an implicit withdraw of the existing address, ie
690 remove the old address details and replace with the new
691 details.
692 (connected_delete_ipv{4,6}) Use connected_withdraw.
693 (connected_check_ipv6) deleted in favour of connected_check.
694 * connected.h: Rename connected_check_ipv4 to connected_check.
695 delete connected_check_ipv6.
696 * interface.c: Use connected_check rather than the AFI specific
697 symbols.
698 * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a
699 rib delete event for the existing route, before adding route
700 again.
701 (kernel_read) we can handle RTM_CHANGE now.
702
703 2005-08-27 Hasso Tepper <hasso at quagga.net>
704
705 * zebra_rib.c, rib.h: Add distance and metric arguments to the
706 rib_add_ipv6() function so that IPv6 routes in RIB can have correct
707 metric. No IPv6 routing daemon uses distance yet though.
708 * zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
709 rtread_proc.c,zserv.c: Pass metric and distance info to the
710 rib_add_ipv6().
711
712 2005-07-29 Paul Jakma <paul.jakma@sun.com>
713
714 * interface.c: (if_delete_update) should always be available, not
715 just on RTM_IFANNOUNCE/NETLINK systems.
716 * kernel_socket.c: (ifan_read) only call if_delete_update when
717 interface departs, dont if_delete, because we wish to retain
718 interface configuration state even when interfaces are removed.
719 (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning
720 to down state is only chance we have to clean up interface in case
721 it is deleted (eg Solaris down -> unplumb -> plumb up).
722 * redistribute.c: (zebra_interface_delete_update) should always be
723 available, we /will/ call it now on all systems, via
724 if_delete_update.
725 * zserv.c: (zsend_interface_delete) ditto
726 (zsend_interface_address) Update the call-flow diagramme, to
727 reflect that if_delete_update /is/ now called on all systems,
728 potentially.
729 * zserv.h: (zsend_interface_delete) unconditionally exported, as
730 above.
731
732 2005-06-28 Paul Jakma <paul.jakma@sun.com>
733
734 * (global) Extern and static'ification, with related fixups
735 of declarations, ensuring files include their own headers, etc.
736 * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in
737 list loop
738 * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
739 should be on DEST argument
740
741 2005-06-14 Paul Jakma <paul.jakma@sun.com>
742
743 * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and
744 RTM{ADDR,MASK}GET macros into generic rta_addrs macros,
745 RTA_{ADDR,ATTR}_GET.
746 (af_check) could use 'inline' attribute
747 (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to
748 generic macro.
749 (rtm_read_mesg) similar
750
751 2005-06-12 Hasso Tepper <hasso at quagga.net>
752
753 * rt_netlink.c: Remove netlink-addr socket declaration, it's not used.
754 * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is
755 unsigned and one zlog call had swapped arguments.
756 * rt_netlink.c (netlink_route_multipath): Fix compile with disabled
757 IPv6 support.
758
759 2005-05-31 Paul Jakma <paul.jakma@sun.com>
760
761 * zserv.c: (zsend_route_multipath) Fix bug if route is sent
762 with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX
763 and ZAPI_MESSAGE_NEXTHOP are always set, clients would try
764 read non-existent nexthop information and hit stream assert.
765 Zserv is still broken for multi-nexthop messages, but it always was.
766
767 2005-05-06 Paul Jakma <paul.jakma@sun.com>
768
769 * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
770
771 2005-04-28 Paul Jakma <paul.jakma@sun.com>
772
773 * rib.h: (struct rib) Add lock field for refcounting.
774 * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
775 'master' struct.
776 * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
777 * zebra_rib.c: Clean up refcounting of route_node, make struct rib
778 refcounted and convert rib_process to work-queue. In general,
779 rib's should be rib_addnode'd and delnode'd to route_nodes, and
780 these symmetrical functions will manage the locking of referenced
781 route_node and freeing of struct rib - rather than having users
782 manage each seperately - with much scope for bugs..
783 (newrib_free) removed and replaced with rib_lock
784 (rib_lock) new function, check state of lock and increment.
785 (rib_unlock) new function, check lock state and decrement. Free
786 struct rib if refcount hits 0, freeing struct nexthop's, as
787 newrib_free did.
788 (rib_addnode) Add RIB to route_node, locking both.
789 (rib_delnode) Delete RIB from route_node, unlocking each.
790 (rib_process) Converted to a work-queue work function.
791 Functional changes are minimal, just arguments, comments and
792 whitespace.
793 (rib_queue_add_qnode) Helper function to setup a ribq item.
794 (rib_queue_add) Helper function, same arguments as old
795 rib_process, to replace in callers of rib_process.
796 (rib_queue_qnode_del) ribq deconstructor.
797 (rib_queue_init) Create the ribq.
798 (rib_init) call rib_queue_init.
799 (remainder) Sanitise refcounting of route_node's. Convert to
800 rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
801 to XCALLOC. Remove calls to nexthop_delete and nexthop_free.
802
803 2005-04-10 Paul Jakma <paul@dishone.st>
804
805 * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
806 in ALL_LIST_ELEMENTS_RO macro.
807
808 2005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
809
810 * zserv.c (zebra_client_read): Fix bug: first read attempt should
811 read ZEBRA_HEADER_SIZE minus the number of bytes already read.
812 Improve efficiency by maintaining a calculation of the number
813 of bytes read instead of calling stream_get_endp multiple times.
814 If message length is too small, issue a warning message (not debug)
815 before closing the connection. And also check that message length
816 is not too big.
817
818 2005-04-09 Hasso Tepper <hasso at quagga.net>
819
820 * rt_netlink.c: One tiny missing comma caused pointless debug messages
821 about IPv6 nexthops.
822
823 2005-04-09 Hasso Tepper <hasso at quagga.net>
824
825 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
826 status to unsigned here, because we already checked that it isn't
827 negative or 0.
828 * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
829 address, not to the interface.
830 * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
831 is printed out now and IPv6 info is handeled.
832
833 2005-04-05 Paul Jakma <paul@dishone.st>
834
835 * zserv.c: print more helpful errors when we fail to successfully
836 bind and listen on zserv socket. Closes bugzilla #163.
837
838 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
839
840 * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
841 * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
842 avoid overflow.
843 * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
844
845 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
846
847 * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
848 to save a memcpy.
849 * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
850 if_get_by_name_len function.
851
852 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
853
854 * interface.c: (if_new_intern_ifindex) Remove obsolete function.
855 (if_delete_update) After distributing the interface deletion message,
856 set ifp->ifindex to IFINDEX_INTERNAL.
857 (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
858 IFINDEX_INTERNAL.
859 (zebra_interface) Check return code from interface_cmd.func.
860 Do not set internal ifindex values to if_new_intern_ifindex(),
861 since we now use IFINDEX_INTERNAL for all pseudo interfaces.
862 * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
863 all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
864 * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
865 Detects interface rename events by checking if that ifindex is already
866 being used. If it is, delete the old interface before assigning
867 the ifindex to the new interface.
868 (netlink_interface, netlink_link_change) Call set_ifindex to update
869 the ifindex.
870
871 2005-03-31 Hasso Tepper <hasso at quagga.net>
872
873 * rt_netlink.c (netlink_talk_filter): Show always warning message,
874 it's not for debug.
875 * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
876 although we do now actually.
877 * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
878 netlink_cmd to send messages to the kernel.
879
880 2005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
881
882 * irdp.h: Add prototype for irdp_sock_init, and fix protos for
883 other irdp_* functions.
884 * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
885 call irdp_sock_init to create the IRDP socket.
886 (irdp_if_init) Rename to irdp_init().
887 (get_iflist_ifp) Remove function that is a duplicate of
888 if_lookup_by_index.
889 (*) Make many functions static. And remove superfluous "\n" from
890 several zlog messages.
891 * irdp_main.c: (irdp_init) Remove function that used to call
892 irdp_if_init() and irdp_sock_init(), since we will now create
893 the socket only upon first use.
894 (irdp_sock_init) Do not update global irdp_sock variable, just
895 return the fd and assume that the caller will do so. If setsockopt
896 calls fail, close the socket before returning -1.
897 (*) Make many functions static.
898 * irdp_packet.c: Initialize irdp_sock to -1.
899 (irdp_read_raw) Call standard library function if_lookup_by_index
900 instead of get_iflist_ifp.
901 (irdp_recvmsg) Should be static, not global.
902
903 2005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
904
905 * rt_netlink.c: (netlink_link_change) If the status of an
906 operative interface changes (e.g. MTU changes), the client
907 daemons should be notified by calling zebra_interface_up_update.
908 Previously, the information was being updated in zebra's
909 interface structure, but the clients were not notified of
910 changes to an operative interface.
911
912 2005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
913 * interface.c, interface.h, rtadv.c, rtadv.h: modifications to
914 IPv6 Neighbor Discovery according to RFC3775, section 7:
915 o 1-bit Home Agent flag management in Router Advertisement (7.1).
916 o 1-bit Router Address flag management in Prefix Information
917 Option (7.2).
918 o Advertisement Interval Option (7.3)
919 o Home Agent Information Option (7.4)
920 o Changes to Sending Router Advertisements more frequently (7.5)
921
922 2005-03-13 Hasso Tepper <hasso at quagga.net>
923
924 * zebra/interaface.c: "show interface description" command
925 implemented.
926
927 2005-03-12 Paul Jakma <paul@dishone.st>
928
929 * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
930 No stock Linux kernel has ever supported it, and even if it had
931 it's not generally a good idea.
932
933 2005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
934
935 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
936
937 2005-03-06 Hasso Tepper <hasso at quagga.net>
938
939 * interface.c: Fix CRC and frame errors statistics in Linux.
940
941 2005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
942
943 * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
944 Remove global message_queue and t_write (need separate buffering for
945 each client).
946 (zebra_server_dequeue,zebra_server_enqueue) Remove functions
947 related to old buggy buffering code.
948 (zserv_delayed_close) New thread callback function to delete a client.
949 (zserv_flush_data) New thread callback function to flush buffered
950 data to client.
951 (zebra_server_send_message) Rewritten to use buffer_write (so
952 buffering of writes and non-blocking I/O work properly).
953 (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
954 zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
955 (this is not really an error). Return value from
956 zebra_server_send_message.
957 (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
958 zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
959 (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
960 from zebra_server_send_message.
961 (zsend_router_id_update) Must use zebra_server_send_message instead
962 of deprecated writen function. Return 0 instead of -1 if this client
963 is not subscribed to router-id updates (since this is not really
964 an error).
965 (zread_interface_add) Change type to static int. If
966 zsend_interface_add fails or zsend_interface_address fails, return -1
967 immediately (since the client has had an I/O error).
968 (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
969 zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
970 to indicate success.
971 (zread_ipv4_nexthop_lookup) Return value from
972 zsend_ipv4_nexthop_lookup.
973 (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
974 (zebra_read_ipv6) Remove unused function.
975 (zread_ipv6_nexthop_lookup) Return value from
976 zsend_ipv6_nexthop_lookup.
977 (zread_router_id_add) Return value from zsend_router_id_update.
978 (zebra_client_close) Call buffer_free(client->wb) and
979 thread_cancel(client->t_suicide).
980 (zebra_client_create) Allocate client->wb using buffer_new.
981 (zebra_client_read) Support non-blocking I/O by using stream_read_try.
982 Use ZEBRA_HEADER_SIZE instead of 3.
983 (zebra_accept) Fix bug: reset accept thread at top. Make client
984 socket non-blocking using the set_nonblocking function.
985 (config_write_forwarding) Fix scope to static.
986 (zebra_init) Remove initialization code for old buggy write buffering.
987 * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
988 (to enable buffered writes with non-blocking I/), and
989 struct thread *t_suicide to support delayed close on I/O
990 errors.
991 * router-id.h: Remove prototypes for zread_router_id_add and
992 zread_router_id_delete (their scope should be static to zserv.c).
993
994 2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
995
996 * redistribute.c: (zebra_check_addr,is_default,
997 zebra_redistribute_default,zebra_redistribute) Fix scope to be static.
998
999 2005-02-20 Hasso Tepper <hasso at quagga.net>
1000
1001 * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
1002 if we are not debugging.
1003
1004 2005-02-19 Paul Jakma <paul@dishone.st>
1005
1006 * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
1007 STREAM_READABLE.
1008
1009 2005-02-14 Paul Jakma <paul@dishone.st>
1010
1011 * Not all Linux netlink systems have IFLA_WIRELESS
1012
1013 2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1014
1015 * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
1016 zlog_err.
1017 * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
1018 zlog_err.
1019
1020 2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1021
1022 * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
1023 zserv_privs.change.
1024 * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
1025 zserv_privs.change.
1026 * ipforward_solaris.c: (solaris_nd) Save errno before calling
1027 zserv_privs.change.
1028 * irdp_main.c: (irdp_sock_init) Save errno before calling
1029 zserv_privs.change.
1030
1031 2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1032
1033 * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
1034 netlink_talk) Save errno before calling zserv_privs.change.
1035
1036 2005-01-24 Martin Pot <mpot at martybugs.net>
1037
1038 * zebra/rt_netlink.c: ignore wireless newlink netlink messages.
1039
1040 2005-01-18 Hasso Tepper <hasso at quagga.net>
1041
1042 * interface.c: Better statistics output in "show interface" command in
1043 case of /proc being used.
1044
1045 2005-01-17 Hasso Tepper <hasso at quagga.net>
1046
1047 * main.c: With --nl-bufsize argument is required.
1048
1049 2005-01-05 Paul Jakma <paul@dishone.st>
1050
1051 * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
1052 for now, as we dont actually deal with with resending.... See
1053 bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
1054 * kernel_socket.c: (routing_socket) ditto.
1055
1056 2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1057
1058 * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
1059 instead of CMSG_FIRSTHDR.
1060
1061 2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1062
1063 * connected.c: (connected_add_ipv4) Limit warning about /32 addresses
1064 with no peer specified to PtP interfaces only.
1065
1066 2004-12-18 Hasso Tepper <hasso at quagga.net>
1067
1068 * zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it
1069 work for isis routes.
1070
1071 2004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
1072
1073 * kernel_socket.c (rtmsg_debug): char * => const char *
1074
1075 2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1076
1077 * *.c: Change level of debug messages to LOG_DEBUG.
1078
1079 2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1080
1081 * main.c: (main) The 2nd argument to openzlog has been removed.
1082 So stdout logging will no longer be enabled by default.
1083 * irdp_main.c: (irdp_finish) Reduce severity of shutdown message
1084 from LOG_WARNING to LOG_INFO.
1085
1086 2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1087
1088 * main.c: (sigint) Use zlog_notice for termination message.
1089 (main) Add a startup announcement using zlog_notice.
1090
1091 2004-11-25 Hasso Tepper <hasso at quagga.net>
1092
1093 * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because
1094 it confuses extract.pl.
1095 * main.c: Make group to run as configurable.
1096
1097 2004-10-28 Hasso Tepper <hasso at quagga.net>
1098
1099 * interface.c: Remove dead "ip tunnel" command.
1100
1101 2004-10-22 Paul Jakma <paul@dishone.st>
1102
1103 * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex
1104
1105 2004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1106
1107 * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore
1108 tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL].
1109 * interface.c: (ip_address_install) Use new ipv4_broadcast_addr
1110 function.
1111 * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST
1112 macro.
1113 (connected_down_ipv4) ditto.
1114 (connected_add_ipv4) Validate destination address, print warnings
1115 if it does not make sense.
1116
1117 2004-10-19 Hasso Tepper <hasso at quagga.net>
1118
1119 * zserv.c: Fix regression introduced with zserv cleanup.
1120
1121 2004-10-13 Hasso Tepper <hasso at quagga.net>
1122
1123 * zebra_snmp.c: Remove defaults used to initialize smux connection to
1124 snmpd. Connection is initialized only if smux peer is configured.
1125 * zserv.c: Remove useless warnings "forwarding is already on".
1126
1127 2004-10-12 Hasso Tepper <hasso at quagga.net>
1128
1129 * zebra_vty.c: Unbreak "show ip route" command help and make it work
1130 for isis routes.
1131 * interface.c(if_dump_vty): Show IPv6 addresses in "show interface"
1132 output. Fixes Bugzilla #119.
1133 * *.c: Make some strings const and some (unsigned) casts to fix
1134 compiler warnings.
1135
1136 2004-10-07 Hasso Tepper <hasso at quagga.net>
1137
1138 * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c:
1139 Fix warnings: make strings const, signed -> unsigned.
1140
1141 2004-10-05 Paul Jakma <paul@dishone.st>
1142
1143 * irdp_packet.c: (parse_irdp_packet) style issues.
1144 Use sockopt_iphdrincl_swab_systoh.
1145 Try unbork the code. Checksum the ICMP data and actually
1146 compare it to received checksum. Check data length against
1147 claimed length in header.
1148 Always use ntoh.. when accessing addresses, even when the
1149 comparison happens to be endian-safe.
1150 (send_packet) minor style isues. Use
1151 sockopt_iphdrincl_swab_htosys.
1152 (irdp_iph_hton/ntoh) IP header to/from network/host order.
1153
1154 2004-10-03 Gilad Arnold <gilad.arnold at terayon.com>
1155
1156 * interface.c, interface.h: A new prefix tree of connected subnets is
1157 associated with each interface structure in zebra, in which each
1158 live (ie, non-synthetic) node holds a list of installed addresses
1159 that belong to that prefix. Remove secondary address logic from cli.
1160 See [quagga-dev 872] for detailed explanation.
1161 * connected.c: Use if_subnet_add() and if_subnet_delete().
1162
1163 2004-10-03 James R. Leu <jleu at mindspring.com>
1164
1165 * router-id.c, router-id.h: New files. Router id selection process. If
1166 there is non 127.x.x.x address in loopack interface, lowest of them
1167 is chosen. If there isn't, lowest from other interfaces addresses
1168 are chosen. "router-id x.x.x.x" vty command to manual override.
1169 * Makefile.am: Compile new files.
1170 * main.c: Initialize router id.
1171 * redistribute.c: Add interface addresses into router id selection
1172 lists as they (dis)appear.
1173 * zserv.c, zserv.h: Sending router id related messages to daemons.
1174
1175 2004-09-26 Hasso Tepper <hasso at quagga.net>
1176
1177 * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
1178 rtadv.c, zebra_vty.c: Fix compiler warnings.
1179
1180 2004-09-24 Paul Jakma <paul@dishone.st>
1181
1182 * irdp_interface.c: (no_ip_irdp_address_preference_cmd)
1183 add missing listnode declaration.
1184
1185 2004-09-24 Paul Jakma <paul@dishone.st>
1186
1187 * irdp_{interface,main}.c: lists typedef removal cleanup.
1188 update some list loops to LIST_LOOP. some miscellaneous style
1189 and indent fixups.
1190 (no_ip_irdp_address_preference_cmd) Fix delete of referenced node
1191 in loop.
1192 * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer
1193 to pointer.
1194 * if_ioctl{,_solaris}.c: lists typedef removal cleanup.
1195 update some list loops to LIST_LOOP.
1196
1197 2004-09-23 Hasso Tepper <hasso at quagga.net>
1198
1199 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1200
1201 2004-09-22 Paul Jakma <paul.jakma@sun.com>
1202
1203 * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
1204 in_addr to sizeof(struct in6_addr), causing odd and hard to debug
1205 crash.
1206
1207 2004-08-31 Hasso Tepper <hasso at quagga.net>
1208
1209 * main.c, rt_netlink.c: Added -s command line switch for tuning
1210 netlink receive buffer size in Linux to avoid buffer overruns.
1211
1212 2004-08-26 Miles Nordin <carton@Ivy.NET>
1213
1214 * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
1215 sysctl(3), rather than int. (Needed on NetBSD/alpha to display
1216 forwarding status correctly.)
1217
1218 2004-08-23 Paul Jakma <paul@dishone.st>
1219
1220 * zserv.c: (zebra_init) remove implicit ip forward enabling
1221
1222 2004-08-19 Paul Jakma <paul@dishone.st>
1223
1224 * irdp_main.c: update to match sockopt renames.
1225 * irdp_packet.c: include sockopt.h and update to match sockopt
1226 renames.
1227
1228 2004-08-11 Greg Troxel <gdt@fnord.ir.bbn.com>
1229
1230 * rtadv.c (rtadv_send_packet): Allocate space for control messages
1231 more carefully; it was wrong on NetBSD/sparc where CMSG alignment
1232 is to 8 bytes instead of 4, and overwriting the address. Use the
1233 provided macros for determining lengths.
1234
1235 2004-07-23 Sowmini Varadhan <Sowmini.Varadhan@Sun.COM>
1236
1237 * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups
1238 * zserv.c: ditto
1239 * ioctl_solaris.c: ditto.
1240 * interface.c: cast for LLADDR
1241 * interface.h: Add guards, include redistribute.h and remove
1242 extraneous definitions of zebra_interface_{up,down}_update
1243 * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6
1244 * redistribute.h: include dependent header, zserv.h
1245 * zserv.h: include dependent header, rib.h
1246
1247 2004-07-23 Paul Jakma <paul@dishone.st>
1248
1249 * irdp_main.c: use setsockopt_pktinfo_ipv4
1250 * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and
1251 getsockopt_pktinfo_ifindex()
1252
1253 2004-07-13 David Wiggins <dwiggins@bbn.com
1254
1255 * kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'.
1256
1257 2004-07-13 Hasso Tepper <hasso@estpak.ee>
1258
1259 * irdp_main.c: Add privilege change.
1260
1261 2004-07-12 Hasso Tepper <hasso@estpak.ee>
1262
1263 * irdp_interface.c: follow common style while naming vty command
1264 functions. Avoids confusion in extract.pl.
1265
1266 2004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1267
1268 * main.c: define thread_master variable so that linking with
1269 libzebra.so doesn't fail. Arguably zclient.o should be in a
1270 separate library, but this is far less disruptive.
1271
1272 2004-06-12 Robert Olsson <Robert.Olsson at data.slu.se>
1273
1274 * Added IRDP support.
1275
1276 2004-05-18 Hasso Tepper <hasso@estpak.ee>
1277
1278 * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd
1279 prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of
1280 "ipv6 nd prefix" command to allow various combinations of parameters
1281 and flags. No defaults in configuration. Replaced on-link and
1282 autoconfig with off-link and no-autoconfig flags in command syntax.
1283 Cosmetic fixes in all commands. Documentation to reflect all changes.
1284
1285 2004-05-11 Paul Jakma <paul@dishone.st>
1286
1287 * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
1288 * if_ioctl_solaris.c: Fixup some erroneous privilege changes and
1289 add privs.h header.
1290 * ioctl_solaris.c: ditto
1291 * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6
1292 * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while
1293 RHS in assignments :)
1294 * redistribute.c: (zebra_interface_delete_update) only used
1295 if RTM_IFANNOUNCE and NETLINK is available.
1296
1297 2004-05-09 Paul Jakma <paul@dishone.st>
1298
1299 * zserv.c: (zsend_route_multipath) Set the nexthop_num
1300 field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6.
1301 Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds.
1302 (zsend_ipv4_add) cruft, deleted.
1303 (zsend_ipv4_delete) ditto.
1304 (zsend_ipv6_add) ditto.
1305 (zsend_ipv6_delete) ditto.
1306 * ioctl.c: (if_get_mtu) set mtu6 to mtu
1307 * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
1308 * rt_netlink.c: (netlink_interface) set mtu6 to mtu
1309 (netlink_link_change) ditto
1310 * ipforward_solaris.c: fix typo of ND variable.
1311 * if_ioctl_solaris.c: Add zprivs support.
1312 * ioctl_solaris.c: ditto.
1313
1314 2004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
1315
1316 * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed
1317 into single zsend_route_multipath function.
1318 (zsend_interface_{up,down}) collapsed into zsend_interface_update.
1319 (zsend_interface_address_{add,delete}) collapsed into
1320 zsend_interface_address.
1321 (zsend_interface_add) send mtu6.
1322 (zsend_interface_delete) ditto.
1323 (zebra_write) remove unused function.
1324 (various) Apply static qualifier. Add comments.
1325 * zserv.h: Definitions changed as per above.
1326 * redistribute.c: Changes as per zserv.c.
1327 * interface.c: (if_delete_update) only used with HAVE_NETLINK
1328 and RTM_IFANNOUNCE.
1329 (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
1330 (if_dump_vty) print mtu6 if not same as mtu
1331 * if_ioctl_solaris.c: New file, Solaris interface ioctl methods.
1332 * ioctl_solaris.c: New file, Common solaris ioctl methods.
1333
1334 2004-04-06 Krzysztof Oledzki <oleq@ans.pl>
1335
1336 * rt_netlink.c: Do not ignore metric when reading kernel routing
1337 table on Linux with rt_netlink interface.
1338
1339 2004-03-18 Hasso Tepper <hasso@estpak.ee>
1340
1341 * interface.c: Temporary fix for handling secondary addresses
1342 with label.
1343
1344 2004-02-12 Hasso Tepper <hasso@estpak.ee>
1345
1346 * zserv.c: Added "ipv6 forwarding" command.
1347
1348 2004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
1349
1350 * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
1351 for reading kernel messages to ensure enough space (necessary on
1352 Solaris due to sockaddr_dl being large). Thanks to Sowmini
1353 Varadhan for help with this change.
1354
1355 2004-01-06 Greg Troxel <gdt@t1.ir.bbn.com>
1356
1357 * rtadv.c (rtadv_send_packet): Change perror to zlog_err.
1358
1359 2004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
1360 * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
1361 to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
1362 to just the accomodation of broken kernels. Check sockaddr_dl
1363 carefully up front, and later assume any non-NULL sdl pointer is
1364 valid. Clean up types and variable declarations, and rename
1365 WRAPUP to SAROUNDUP to make the name fit the behavior.
1366
1367 2004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
1368
1369 * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
1370 structure, because on Solaris sockaddr_dl is far larger than the
1371 base sockaddr structure. (The code had previously been failing to
1372 read all the data.)
1373
1374 2004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
1375
1376 * kernel_socket.c (kernel_read): Look up interfaces by index
1377 first, so that state changes which do not include a sockaddr_dl
1378 now work. Add many sanity checks. In
1379 particular, do not assume that a sockaddr_dl follows a message
1380 without checking the ifm_addrs flags, and do not trust the length
1381 in a sockaddr_dl. Add/clarify many comments.
1382
1383 2003-12-03 Greg Troxel <gdt@poblano.ir.bbn.com>
1384
1385 * rtadv.c: reorder includes to avoid compiler warning (define
1386 structs before using them in prototypes)
1387
1388 2003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>
1389
1390 * zserv.c: Add "ip forwarding" command.
1391
1392 2003-05-16 Gilad Arnold <gilad.arnold@terayon.com>
1393
1394 * zebra_rib.c: Fix memory leaks for ifname nexthops
1395
1396 2003-04-19 Israel Keys <ikeys@agile.tv>
1397
1398 * rt_netlink.c: BLOCK on netlink while initialising
1399
1400 2003-02-06 Francois Deppierraz <francois@ctrlaltdel.ch>
1401
1402 * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
1403 it exists.
1404
1405 2002-09-28 Akihiro Mizutani <mizutani@net-chef.net>
1406
1407 * zebra_rib.c (static_add_ipv4): Null0 static route is added.
1408
1409 2002-09-10 Jochen Friedrich <chris+zebra@scram.de>
1410
1411 * rt_netlink.c: Add check for EAGAIN.
1412 * kernel_socket.c: Likewise
1413
1414 2002-06-12 Israel Keys <ikeys@oz.agile.tv>
1415
1416 * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
1417 message so that we get an ACK for successful netlink commands.
1418 Change the netlink socket to BLOCKING while we wait for a
1419 response; be it an ACK or an NLMSG_ERROR. Change
1420 netlink_parse_info to deal with ACK messages.
1421
1422 2001-11-01 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1423
1424 * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
1425 work for ICMPv6 socket.
1426
1427 2001-10-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1428
1429 * rib.c (rib_process): Select connected route any case.
1430
1431 2001-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1432
1433 * interface.c (no_ip_address_secondary): Add "no" to command.
1434
1435 2001-10-18 NOGUCHI Kay <kay@v6.access.co.jp>
1436
1437 * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
1438 to infinity as the freebsd4.4 workaroud.
1439
1440 2001-08-26 mihail.balikov@interbgc.com
1441
1442 * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
1443 A.B.C.255.
1444
1445 2001-08-22 NOGUCHI Kay <kay@v6.access.co.jp>
1446
1447 * rtadv.c: Do not send RA to loopback interface.
1448
1449 2001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1450
1451 * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
1452 route treatment.
1453
1454 2001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1455
1456 * zebra-0.92a released.
1457
1458 2001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1459
1460 * rib.c: Kernel route is treated as EGP routes in nexthop active
1461 check.
1462
1463 2001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1464
1465 * zebra-0.92 released.
1466
1467 2001-08-08 "Akihiro Mizutani" <mizutani@dml.com>
1468
1469 * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
1470 show route commands.
1471
1472 2001-07-29 Yon Uriarte <havanna_moon@gmx.net>
1473
1474 * zserv.c (zsend_ipv4_add_multipath): Add
1475 NEXTHOP_TYPE_IPV4_IFINDEX check.
1476
1477 2001-07-29 NOGUCHI Kay <kay@v6.access.co.jp>
1478
1479 * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
1480 autonomous address-configuration flag patch.
1481 (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
1482 suppress-ra".
1483
1484 2001-07-24 NOGUCHI Kay <kay@v6.access.co.jp>
1485
1486 * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
1487 command.
1488
1489 2001-07-24 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1490
1491 * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
1492 multicast FIB support both IPv4 and IPv6.
1493
1494 2001-07-24 Hal Snyder <hal@vailsys.com>
1495
1496 * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
1497 full list of interfaces on some configurations of OpenBSD.
1498
1499 2001-07-23 NOGUCHI Kay <kay@v6.access.co.jp>
1500
1501 * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
1502 send-ra" bug.
1503 (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
1504 availability.
1505 (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
1506 added.
1507 (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
1508
1509 2001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1510
1511 * ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
1512
1513 * rt_ioctl.c: Likewise.
1514
1515 2001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1516
1517 * kernel_socket.c (rtm_write): Only set RTF_CLONING when the
1518 interface is not p2p.
1519
1520 2001-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1521
1522 * ioctl.c (if_prefix_add_ipv6): Fix argument type.
1523
1524 2001-04-06 Toshiaki Takada <takada@zebra.org>
1525
1526 * zserv.c (zsend_interface_delete): Use client->obuf instead of
1527 allocating new stream.
1528
1529 2001-03-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1530
1531 * rt_netlink.c: Revert RTPROT_BOOT change.
1532
1533 2001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1534
1535 * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
1536 (netlink_routing_table): Likewise.
1537
1538 2001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1539
1540 * zserv.c (zsend_ipv4_add_multipath): Send metric value to
1541 protocol daemons.
1542
1543 2001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1544
1545 * rt_netlink.c (netlink_routing_table): Do not return
1546 tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe"
1547 <mokeefe@qualcomm.com>.
1548
1549 2001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1550
1551 * if_ioctl.c (interface_list_ioctl): Call if_add_update().
1552 Suggested by: Chris Dunlop <chris@onthe.net.au>.
1553
1554 2001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1555
1556 * rib.c (nexthop_active_ipv4): When nexthop type is
1557 NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
1558
1559 * zserv.c: Initialize rtm_table_default with 0.
1560
1561 * zebra-0.91 is released.
1562
1563 2001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1564
1565 * kernel_socket.c (rtm_read): Filter cloned route. Suggested by:
1566 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1567
1568 2001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1569
1570 * connected.c (connected_up_ipv6): When point-to-point destination
1571 address is ::, use local address for connected network.
1572 (connected_down_ipv6): Likewise.
1573
1574 2001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1575
1576 * zserv.c (zebra_serv): Add missing close() call. Reported by:
1577 David Waitzman <djw@vineyard.net>.
1578
1579 2001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1580
1581 * rib.c (rib_lookup_ipv4): New function for checking exact match
1582 IGP route.
1583
1584 2001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1585
1586 * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
1587 route-type".
1588
1589 2001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1590
1591 * interface.c (zebra_interface): Do not call
1592 zebra_interface_add_update for inactive interface.
1593
1594 * zserv.c (zsend_interface_address_add): Send interface address
1595 flag.
1596 (zsend_interface_address_delete): Likewise.
1597
1598 2001-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1599
1600 * interface.c (if_addr_add): Add flags.
1601
1602 * connected.c (ifa_add_ipv4): Add new function for interface
1603 address handling.
1604 (ifa_delete_ipv4): Likewise.
1605
1606 2001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1607
1608 * rib.c (rib_update): Update IPv6 RIB.
1609
1610 * kernel_socket.c (ifam_read): Call if_refresh() for update
1611 interface flag status. This is for implicit interface up on *BSD.
1612
1613 * interface.c (if_refresh): Add interface flag refresh function.
1614
1615 * kernel_socket.c (rtm_read): Fetch link-local address interface
1616 index.
1617 (ifan_read): We need to fetch interface information. Suggested
1618 by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
1619
1620 * rib.c (static_ipv6_nexthop_same): Add check for
1621 NEXTHOP_TYPE_IPV6_IFNAME.
1622
1623 2001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1624
1625 * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are
1626 taken into place.
1627
1628 2001-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1629
1630 * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
1631 configuration.
1632 (rib_delete_ipv6): Handle same route conter for IPv6 connected
1633 route.
1634 (show_ipv6_route_protocol): New command.
1635 (show_ipv6_route_addr): Likewise.
1636 (show_ipv6_route_prefix): Likewise.
1637 (rib_update): Sweep kernel route when it is cleaned up.
1638
1639 * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
1640 treatmenet.
1641
1642 * rt_netlink.c (kernel_init): Likewise.
1643
1644 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
1645
1646 * rib.c (rib_add_ipv4): Cope with same connected route on a
1647 interface. Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
1648 (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
1649
1650 * rib.h (struct new_rib): Add refcnt to keep track on the
1651 reference of same connected route.
1652
1653 * ioctl.c (if_set_prefix): Add check for GNU_LINUX.
1654
1655 2001-01-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1656
1657 * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
1658 (rtm_type_str): Add RTM_IFANNOUNCE check.
1659 (ifan_read): New function.
1660 (kernel_read): Add case for RTM_IFANNOUNCE.
1661
1662 2001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1663
1664 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
1665
1666 * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
1667 treatment.
1668
1669 * connected.c (connected_up_ipv6): Add dest value check.
1670
1671 * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
1672 ifindex.
1673 (rib_add_ipv4): Import rib_add_ipv6() same route check code.
1674 (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
1675 checked by ifindex.
1676
1677 * rt_socket.c (kernel_rtm_ipv6_multipath): New function.
1678
1679 * redistribute.c (redistribute_add): Use
1680 zsend_ipv6_add_multipath().
1681 (redistribute_delete_multipath): Use
1682 zsend_ipv6_delete_multipath().
1683
1684 * interface.c (ip_address): Check current IP address to avoid
1685 duplicate.
1686
1687 * rib.c (rib_delete_ipv4): When deleted route is connected route,
1688 check ifindex.
1689 (rib_add_ipv4): When connected route is added do not perform
1690 implicit withdraw.
1691 (rib_delete_ipv4): Check ifindex for connected route.
1692
1693 * kernel_socket.c (rtm_read): When route has RTF_STATIC, set
1694 ZEBRA_FLAG_STATIC for indicate as persistent route.
1695 (ifam_read): Unset interface index from link-local address when
1696 IPv6 stack is KAME.
1697
1698 * rib.c (rib_update): Do not delete persistent kernel route.
1699
1700 * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
1701
1702 * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
1703 (kernel_delete_ipv6_multipath): Likewise.
1704
1705 * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
1706
1707 2001-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1708
1709 * rib.c (rib_update): Revert Matthew Grant's patch
1710 zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel
1711 interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
1712 that. Add support for address deletion situation.
1713
1714 2001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1715
1716 * interface.c: Remove HAVE_IF_PSEUDO part.
1717
1718 * rib.h: Likewise.
1719
1720 * rt_netlink.c (netlink_link_change): Likewise.
1721
1722 2001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1723
1724 * zserv.c: Remove OLD_RIB codes.
1725
1726 2001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1727
1728 * zebra-0.90 is released.
1729
1730 2001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1731
1732 * interface.c (if_new_intern_ifindex): Allocate a new internal
1733 interface index.
1734 (if_addr_refresh): Fix up ip addresses configured via zebra.
1735 (if_add_update): Handle an interface addition.
1736 (if_delete_update): Handle an interface delete event.
1737
1738 * rib.c (nexthop_ipv4_add): Add kernel route deletion process when
1739 interface goes down.
1740
1741 2001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1742
1743 * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
1744 NetBSD also use this function. Suggested by Jasper Wallace
1745 <jasper@ivision.co.uk>.
1746
1747 2001-01-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1748
1749 * rib.c (nexthop_active_ipv4): Move back to set methodo to old
1750 one.
1751
1752 2001-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1753
1754 * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
1755 flag, so treat it.
1756
1757 2001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1758
1759 * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
1760 sent from netlink_cmd, the same message comes from netlink. To
1761 avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
1762 instead of netlink_cmd.sock.
1763
1764 2001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1765
1766 * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
1767 Change "/tmp/zserv" to "/tmp/.zserv".
1768
1769 2000-12-29 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1770
1771 * rt_netlink.c (struct nlsock): Divide kernel message into listen
1772 socket and command socket.
1773 (netlink_talk): Remove socket listen code. Use netlink_parse_info
1774 for read kernel response.
1775
1776 2000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1777
1778 * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
1779 routes.
1780
1781 2000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1782
1783 * rt_netlink.c (netlink_route_multipath): Metric value is
1784 reflected to kernel routing table.
1785
1786 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
1787
1788 * kernel_socket.c (rtm_write): Likewise.
1789
1790 * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
1791 nexthop lookup.
1792
1793 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
1794 new RIB implementation.
1795
1796 2000-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1797
1798 * rib.h: Remove MULTIPATH_NUM. It is defined by configure script.
1799
1800 2000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1801
1802 * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
1803 proper redistribution.
1804
1805 2000-12-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1806
1807 * rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
1808 (show_ip_route_protocol): Support new RIB.
1809
1810 * rt_netlink.c (netlink_route_change): Do not return when gate is
1811 NULL.
1812
1813 2000-12-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1814
1815 * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
1816 updated.
1817 (rib_add_ipv4): Free implicit withdraw route's RIB.
1818
1819 2000-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1820
1821 * rib.c (nexthop_active_ipv4): Check indirect nexthop.
1822
1823 * redistribute.c (redistribute_add_multipath): Redistribution
1824 works with new rib code.
1825
1826 2000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1827
1828 * rt_netlink.c (netlink_route_multipath): Check useful nexthop
1829 number.
1830 (netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
1831
1832 * rib.c (nexthop_active_update): Set flag for the rib's nexthop
1833 activity is changed.
1834 (nexthop_active_check): Before checking interface is up, make it
1835 sure the interface exist.
1836
1837 2000-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1838
1839 * rib.c (ip_route): New RIB prototype.
1840
1841 2000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1842
1843 * zserv.c (zsend_interface_add): Send hardware address when
1844 hw_addr_len is greater than 0.
1845
1846 2000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1847
1848 * connected.c (connected_up_ipv4): Fix ptop bug. The destination
1849 network should be installed into routing table.
1850 (connected_down_ipv4): Likewise.
1851 (connected_add_ipv4): Change to use connected_up_ipv4.
1852 (connected_delete_ipv4): Likewise.
1853
1854 2000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1855
1856 * rt_netlink.c (netlink_interface_addr): Revert Harald Welte
1857 <laforge@gnumonks.org>'s ptop patch then back to original code to
1858 avoid duplicated connected route problem. Suggested by Frank van
1859 Maarseveen <F.vanMaarseveen@inter.NL.net>.
1860
1861 * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
1862 DEBUG is defined. Reported by Jun-ichiro itojun Hagino
1863 <itojun@iijlab.net>.
1864
1865 2000-10-23 Jochen Friedrich <jochen@scram.de>
1866
1867 * main.c (main): Call zebra_snmp_init() when it is enabled.
1868
1869 2000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1870
1871 * zserv.c (zebra_serv_un): UNIX domain socket server of zebra
1872 protocol.
1873
1874 2000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1875
1876 * rib.c (rib_add_ipv4): Same check bug is fixed.
1877
1878 2000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1879
1880 * rib.c (rib_if_down): Remove kernel route when the interface goes
1881 down.
1882
1883 * debug.c: New command "debug zebra kernel" is added.
1884
1885 2000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1886
1887 * zebra-0.89 is released.
1888
1889 2000-09-24 Harald Welte <laforge@gnumonks.org>
1890
1891 * rt_netlink.c (netlink_interface_addr): Fix point-to-point address
1892 treatment in netlink interface.
1893
1894 2000-09-21 David Lipovkov <dlipovkov@OpticalAccess.com>
1895
1896 * rib.c (rib_if_down): Pull static route only. Protocol daemon
1897 must withdraw routes when interface goes down.
1898 (rib_add_ipv4): Check nexthop when replace route.
1899
1900 2000-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1901
1902 * if_ioctl.c (if_getaddrs): New function for looking up
1903 interface's address by getifaddrs().
1904
1905 2000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1906
1907 * connected.c (connected_delete_ipv4): Add check for connected
1908 address is found or not.
1909 (connected_add_ipv6): Reflect IPv6 connected address change to
1910 protocol daemons.
1911 (connected_delete_ipv6): Likewise.
1912
1913 2000-09-07 David Lipovkov <davidl@nbase.co.il>
1914
1915 * rib.c (rib_delete_ipv4): Reverted the change from pseudo
1916 interface patch to original. Because ospfd deletes routes using
1917 zero ifindex.
1918
1919 2000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1920
1921 * zebra-0.88 is released.
1922
1923 2000-08-15 "Akihiro Mizutani" <mizutani@dml.com>
1924
1925 * rib.c (show_ip_route_protocol): Help string correction.
1926 (show_ip_route_prefix): Check prefix mask.
1927 (show_ip_route_vty_detail): Display distance and metric.
1928
1929 2000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1930
1931 * zserv.c (zsend_interface_add): Change ifindex store size from
1932 two octet to four.
1933 (zsend_interface_delete): Likewise.
1934 (zsend_interface_address_add): Likewise.
1935 (zsend_interface_address_delete): Likewise.
1936 (zsend_interface_up): Likewise.
1937 (zsend_interface_down): Likewise.
1938
1939 2000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1940
1941 * rib.c (rib_add_ipv4): Do not install distance 255 route.
1942
1943 2000-08-10 Toshiaki Takada <takada@zebra.org>
1944
1945 * interface.c (bandwidth_if), (no_bandwidth_if): Call
1946 zebra_interface_up_update () instead of using if_up() and if_down().
1947
1948 2000-08-07 "Akihiro Mizutani" <mizutani@dml.com>
1949
1950 * interface.c (bandwidth_if): Fix help string.
1951
1952 2000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1953
1954 * interface.c (if_dump_vty): Display bandwidth value.
1955 (bandwidth_if): New command "bandwidth <1-10000000>" is added.
1956 When interface is up, force protocol daemons to recalculate routes
1957 due to cost change.
1958 (no_bandwidth_if): Likewise.
1959 (if_config_write): Output bandwidth configuration.
1960
1961 * zserv.c (zsend_interface_add): Send bandwidth value.
1962 (zsend_interface_up): Likewise.
1963 (zsend_interface_down): Likewise.
1964
1965
1966 2000-08-07 Michael Rozhavsky <mike@nbase.co.il>
1967
1968 * rib.c (show_ip_route_protocol): "show ip route
1969 (bgp|connected|kernel|ospf|rip|static)" is added.
1970
1971 2000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1972
1973 * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
1974 nexthop is found.
1975 (rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
1976
1977 2000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1978
1979 * redistribute.c (redistribute_delete): Fix bug of default route
1980 redistribute treatment.
1981
1982 2000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1983
1984 * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
1985 Change default distance value.
1986
1987 Old New
1988 ------------------------------------------
1989 system 10 0
1990 kernel 20 0
1991 connected 30 0
1992 static 40 1
1993 rip 50 120
1994 ripng 50 120
1995 ospf 60 110
1996 ospf6 49 110
1997 bgp 70 200(iBGP) 20(eBGP)
1998 ------------------------------------------
1999
2000 * zserv.c (client_lookup): Function removed.
2001 (zsend_interface_add): Use client's output buffer. Check ifinfo
2002 flag.
2003 (zsend_interface_delete): Likewise.
2004 Delete ipv4_static_radix and ipv6_static_radix.
2005
2006 2000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2007
2008 * zserv.h (struct zebra_client): When client request interface
2009 information, ifinfo is set.
2010
2011 * rib.c: Temporary Revert changes for pseudo interface.
2012
2013 * rib.h: Likewise.
2014
2015 * zserv.c: Likewise.
2016
2017 * interface.c: Likewise.
2018
2019 2000-08-02 David Lipovkov <davidl@nbase.co.il>
2020
2021 * interface.c (zebra_if_init): Install interface "pseudo"
2022 commands.
2023
2024 * rib.c (rib_create): ifname argument is added.
2025 (rib_add_ipv4_pseudo): New function is added.
2026 (rib_delete_ipv4_pseudo): Likewise.
2027
2028 * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for
2029 pseudo interface functions.
2030
2031 * rt_netlink.c (netlink_link_change): Check for pseudo interface.
2032
2033 * zserv.c (ip_route): When destination is pseudo interface, call
2034 rib_add_ipv4_pseudo().
2035
2036 * zserv.c (no_ip_route): Trim "unknown" argument.
2037
2038 2000-07-26 kunitake@dti.ad.jp
2039
2040 * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
2041 to 6.
2042
2043 * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
2044
2045 2000-07-24 Akihiro Mizutani <mizutani@dml.com>
2046
2047 * interface.c: Use install_default() for common VTY commands.
2048
2049 2000-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2050
2051 * if_ioctl.c (interface_list_ioctl): A interface list size is
2052 calculated from ifreq->if_addr.sa_len. This is for OpenBSD.
2053
2054 * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
2055
2056 2000-07-09 Chris Dunlop <chris@onthe.net.au>
2057
2058 * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
2059
2060 2000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2061
2062 * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
2063 message handling.
2064
2065 2000-07-02 David Lipovkov <davidl@nbase.co.il>
2066
2067 * zserv.c: "ip route A.B.C.D/M unknown" command is added.
2068
2069 2000-06-28 Michael Rozhavsky <mike@nbase.co.il>
2070
2071 * rib.c: Remove old kernel route when new route comes in.
2072
2073 2000-06-13 David Lipovkov <davidl@nbase.co.il>
2074
2075 * rib.c (rib_if_up): Add check for unknown interface.
2076
2077 2000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2078
2079 * rib.h: Define INTERFACE_UNKNOWN.
2080
2081 2000-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2082
2083 * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
2084 finished.
2085
2086 2000-06-05 David Lipovkov <davidl@nbase.co.il>
2087
2088 * interface.c (if_zebra_delete_hook): Call rib_if_delete().
2089
2090 * redistribute.c (zebra_interface_delete_update): New function.
2091
2092 * redistribute.h (zebra_interface_delete_update): New function
2093 prototype.
2094
2095 * rib.c (rib_if_delete): New function. Walk down all routes and
2096 delete all on the interface.
2097
2098 * rib.h: New function prototype.
2099
2100 * rt_netlink.c (netlink_link_change): Call
2101 zebra_interface_delete_update ().
2102
2103 2000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2104
2105 * if_ioctl.c (interface_info_ioctl): Check interface's flag before
2106 checking interface's address.
2107
2108 2000-04-26 Jochen Friedrich <jochen@nwe.de>
2109
2110 * GNOME-PRODUCT-ZEBRA-MIB: New file.
2111
2112 * GNOME-SMI: New file.
2113
2114 2000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2115
2116 * irdp.c: New file from 1997 development code.
2117 * irdp.h: Likewise.
2118
2119 2000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2120
2121 * rtadv.c (rtadv_send_packet): Enclose router advertisement
2122 logging with IS_ZEBRA_DEBUG_PACKET.
2123
2124 2000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2125
2126 * zserv.c (zebra_client_close): Remove client structure from
2127 client_list when connection is terminated.
2128
2129 2000-03-21 David Lipovkov <davidl@nbase.co.il>
2130
2131 * connected.c (connected_add_ipv4): Allows all necessary structure
2132 updates for connected route, but doesn't insert it into rib if
2133 it's interface is down.
2134
2135 2000-01-21 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
2136
2137 * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
2138 2.5.1.
2139
2140 2000-01-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2141
2142 * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
2143 from str2prefix_ipv6().
2144
2145 2000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2146
2147 * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
2148 IPv6 with /128 routes.
2149 (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
2150 should have mask for cloning.
2151
2152 1999-12-26 Jochen.Friedrich@genorz.de
2153
2154 * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
2155
2156 1999-12-23 Alex Zinin <zinin@amt.ru>
2157 * interface.*: dynamic int up/down support
2158
2159 1999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2160
2161 * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
2162
2163 * rtread_proc.c (proc_route_read): Don't use dropline().
2164
2165 1999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2166
2167 * kernel_socket.c (rtm_read): When message is RTM_GET, it has own
2168 process's pid.
2169
2170 1999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2171
2172 * main.c (main): Change to default log output to ZLOG_STDOUT.
2173
2174 * zserv.c (zebra_serv): More detailed error print.
2175
2176 1999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2177
2178 * kernel_socket.c (rtm_read): Check old pid for static route
2179 insertion check.
2180
2181 1999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2182
2183 * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
2184 statistics counter.
2185
2186 * mtu_kvm.c: New file added.
2187
2188 1999-11-27 Vladimir B. Grebenschikov <vova@express.ru>
2189
2190 * kernel_socket.c (rtm_write): Set RTF_CLONING flag for
2191 route to the directly connected interface.
2192
2193 1999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2194
2195 * rt_socket.c: Delete USE_HOST_BIT definition.
2196
2197 1999-11-21 Michael Handler <handler@sub-rosa.com>
2198
2199 * rtread_getmsg.c: Undef some definition to resolve conflict.
2200
2201 1999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2202
2203 * kernel_socket.c (rtm_write): Change to use pre stored struct_dl
2204 value for gateway specification.
2205
2206 1999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2207
2208 * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
2209 128 under IPv6, don't use RTF_HOST.
2210
2211 1999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2212
2213 * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
2214
2215 1999-11-21 Michael Handler <handler@sub-rosa.com>
2216
2217 * rtread_getmsg.c: Added for Solaris 2.6 support.
2218
2219 1999-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2220
2221 * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
2222
2223 * rt_socket.c (kernel_read): Better BSD routing socket support.
2224
2225 1999-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2226
2227 * client_main.c: Disable making obsolete zebra test `client'
2228 command.
2229
2230 1999-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2231
2232 * zebra.c: Renamed to zserv.c.
2233
2234 * zebra.h: Global definitions are moved to lib/zebra.h. Then
2235 renamed to zserv.h.
2236
2237 1999-10-15 Jordan Mendelson <jordy@wserv.com>
2238
2239 * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
2240 interface. Remove ugly MAX_INTERFACE handling codes.
2241
2242 1999-09-17 Satosi KOBAYASI <kobayasi@north.ad.jp>
2243
2244 * Fix serious bug of IPv6 route deletion.
2245
2246 1999-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2247
2248 * ioctl.c (if_set_prefix): Properly set broadcast address.
2249
2250 1999-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2251
2252 * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
2253 can install connected route to kernel via zebra
2254
2255 1999-08-24 VOP <vop@unity.net>
2256
2257 * rib.c: Include "sockunion.h"
2258
2259 1999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2260
2261 * ipforward.h: New file.
2262
2263 * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
2264 ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
2265
2266 1999-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2267
2268 * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
2269 ZEBRA_INTERFACE_{ADD,DELETE} added.
2270
2271 1999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2272
2273 * rib.c: show ip route A.B.C.D works.
2274
2275 * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
2276
2277 1999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2278
2279 * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
2280
2281 1999-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2282
2283 * interface.h: New file.
2284 * Makefile.am: Add interface.h
2285
2286 1999-08-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2287
2288 * redistribute.c (zebra_redistribute): give ifindex to client.
2289
2290 1999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2291
2292 * main.c (longopts): -k, --keep_kernel option added.
2293
2294 1999-07-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2295
2296 * rt_socket.c (rtm_write): forgot closing socket bug fixed.
2297
2298 1999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2299
2300 * rib.c (show_ipv6_cmd): if rib is link show interface name.
2301
2302 1999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2303
2304 * rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
2305
2306 1999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2307
2308 * rt_socket.c (rtm_write): ipv6 route table bug fixed.
2309
2310 1999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2311
2312 * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
2313
2314 1999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2315
2316 * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
2317
2318 1999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2319
2320 * if_sysctl.c (ifm_read): Clear sockunion argument before fetching
2321 data. Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
2322
2323 1999-07-08 HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
2324
2325 * interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
2326
2327 1999-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2328
2329 * zebra.c (zebra_serv): Only accept loopback address connection.
2330
2331 1999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2332
2333 * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
2334
2335 1999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2336
2337 * ipforward_proc.c: ipforward_on () and ipforward_off () added.
2338
2339 1999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2340
2341 * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
2342 using /proc file system is added.
2343
2344 1999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2345
2346 * if_ioctl.c (if_get_index): Interface index set bug is fixed by
2347 adding #else at the middle of function. Suggested by David Luyer
2348 <luyer@ucs.uwa.edu.au>.
2349
2350 1999-05-29 <kunihiro@zebra.org>
2351
2352 * rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
2353
2354 1999-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2355
2356 * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
2357 the sort of routes.
2358
2359 1999-05-25 Patrick Koppen <koppen@rhrk.uni-kl.de>
2360
2361 * rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
2362 (netlink_parse_info): If errno is EWOULDBLOCK then continue to
2363 parse the message.
2364 (netlink_talk): Likewise
2365
2366 1999-05-17 <kunihiro@zebra.org>
2367
2368 * redistribute.c (zebra_check_addr): Added for loopback address
2369 check.
2370
2371 1999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2372
2373 * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
2374 change treatment.
2375
2376 * Makefile.am (noinst_HEADERS): redistribute.h added.
2377
2378 * redistribute.h: New file.
2379
2380 1999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2381
2382 * zebra.c (show_table): Show all table configuration DEFUN.
2383 (config_table): Config table number DEFUN.
2384
2385 * rt_netlink.c: Add support for multiple routing table.
2386
2387 * rib.c (rib_weed_table): New function added for delete all
2388 routes from specified routing table.
2389
2390 * main.c (signal_init): SIGTERM call sigint.
2391 (sigint): Loggging more better message.
2392
2393 1999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2394
2395 * rt_netlink.c: Change log () to zlog ().
2396
2397 1999-05-07 <kunihiro@zebra.org>
2398
2399 * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
2400
2401 1999-04-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2402
2403 * interface.c: Add `no ip address' command.
2404
2405 1999-04-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2406
2407 * rt_netlink.c (kernel_read): Function added for asynchronous
2408 zebra between kernel communication.
2409
2410 1999-03-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2411
2412 * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
2413 Reported by Achim Patzner <ap@bnc.net>.
2414
2415 1999-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2416
2417 * Makefile.am: Install configuration sample with 600 permission.
2418
2419 1999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2420
2421 * Makefile.am: Add -I.. to INCLUDES.
2422
2423 1999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2424
2425 * syslog support added
2426
2427 1999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
2428
2429 * if_sysctl.c (interface_list): allocated memory free when unknown
2430 ifm_type is returned.
2431
2432 * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
2433
2434 1998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2435
2436 * interface.c: Header include added.
2437
2438 1998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2439
2440 * rt.h (kernel_delete_ipv6): change int index to unsigned int index.
2441
2442 1998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2443
2444 * if_ioctl.c (interface_list_ioctl): interface flag must be
2445 checked before check addresses of the interface.
2446
2447 1998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2448
2449 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
2450
2451 1998-10-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2452
2453 * ioctl.c: Linux version before 2.1.0 need interface route setup.
2454
2455 1998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
2456
2457 * change HYDRANGEA to KAME
2458
2459 1998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2460
2461 * if_ioctl.c (if_addr_ioctl): set address family for getting
2462 interface's address.
2463 (if_get_index): silently return when can't get interface's index.
2464
2465 1998-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2466
2467 * main.c (main): batch mode option '-b' added.
2468
2469 1998-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2470
2471 * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
2472 * interface.c (shutdown_if): add interface shutdown and no
2473 shutdown command.
2474
2475 1998-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2476
2477 * rib.c (rib_add_ipv6): delete rib_add_in6.
2478
2479 1998-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2480
2481 * main.c: retain flag is added.
2482
2483 1998-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2484
2485 * rtable.[ch]: merged with rib.[ch]
2486
2487 1998-07-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2488
2489 * connected.h: renamed from ifa.h.
2490
2491 1998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2492
2493 * rename if.c to interface.c
2494 * rename ifa.c to connected.c
2495
2496 * Porting to Debian GNU/Linux 2.0 (hamm).
2497
2498 1998-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2499
2500 * rt_netlink.c: renamed from krt_netlink.c
2501
2502 * fib.c: deleted.
2503 * rt_kvm.c: deleted.
2504 * rtread_getmsg.c: deleted.
2505
2506 1998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2507
2508 * if.c (multicast): add multicast flag [un]set fucntion.
2509
2510 1998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2511
2512 * rt_socket.c: Modify for compile on Solaris, but dont't work it.
2513 rt_socket.c have some undefined function, so add directive "IMPLEMENT"
2514
2515 1998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2516
2517 * zebra.c: Modify for compile on Solaris.
2518
2519 1998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2520
2521 * main.c: change CONFDIR to SYSCONFDIR.
2522
2523 1998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2524
2525 * .cvsignore: added.
2526
2527 1998-04-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2528
2529 * client.c: moves to ../lib.
2530
2531 1998-03-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2532
2533 * if_ioctl.c (if_get_addr): Change address copy from memcopy() to
2534 structure assignment.
2535
2536 1998-03-30 URA Hiroshi <ura@yamato.ibm.co.jp>
2537
2538 * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
2539
2540 1998-02-23 "Hannes R. Boehm" <hannes@boehm.org>
2541
2542 * if.c (if_init): add config_exit_cmd and config_help_cmd.
2543
2544 1998-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2545
2546 * rt_ioctl.c (route_ioctl): EPERM treatment added.
2547
2548 1998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2549
2550 * rt_socket.c (kernel_read): communication port zebra between
2551 kernel is now handled by kernel_read.
2552
2553 1998-01-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2554
2555 * main.c (main): zebra [-P port] can specify vty port number.
2556
2557 1997-12-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2558
2559 * zebra.c: change select will be block.
2560
2561 1997-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2562
2563 * add static route treatment.
2564
2565 1997-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2566
2567 * rt_netlink.c: add netlink support over GNU/Linux system.
2568
2569 1997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2570
2571 * all inet_addr is changed to inet_aton.
2572
2573 * zebra.c (ip_route): add ip route command for static routes.
2574
2575 1997-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2576
2577 * if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
2578
2579 1997-11-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2580
2581 * if.c: add interface command.
2582
2583 1997-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2584
2585 * ipforward_proc.c : Now works on Linux.
2586
2587 1997-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2588
2589 * command.c : add completion feature.
2590
2591 1997-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2592
2593 * vty.c (vty_command): add vty interface.
2594
2595 1997-10-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2596
2597 * zebra.c: add verbose mode.
2598
2599 1997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
2600
2601 * Hydrangea for FreeBSD supported
2602 * in.h: add some prototype.
2603
2604 1997-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2605
2606 * rt_socket.c and rtread.c completely rewritten.
2607
2608 1997-10-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2609
2610 * rt_socket.c: rename kernel_sock to routing_socket
2611
2612 1997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2613
2614 * if.c (if_new): interface structure change from linklist to vector.
2615
2616 1997-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2617
2618 * vector.c (vector_init): create vector related function
2619
2620 1997-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2621
2622 * Makefile.in: add tags target
2623
2624 * start IPv6 support for INRIA FreeBSD.
2625