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