blob: 6b50cf0f9e270e57a43483d868edbb1ce314d77a [file] [log] [blame]
Andrew J. Schorre4529632006-12-12 19:18:21 +000012006-12-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
2
3 * connected.c: (connected_up_ipv4, connected_down_ipv4,
4 connected_up_ipv6, connected_down_ipv6) Simplify logic using the
5 new CONNECTED_PREFIX macro.
6 (connected_add_ipv4) Set prefixlen in destination addresses (required
7 by the CONNECTED_PREFIX macro). Use CONNECTED_PEER macro instead
8 of testing for IFF_POINTOPOINT. Delete invalid warning message.
9 Warn about cases where the ZEBRA_IFA_PEER is set but no
10 destination address has been supplied (and turn off the flag).
11 (connected_add_ipv6) Add new flags argument so callers may set
12 the ZEBRA_IFA_PEER flag. If peer/broadcast address satisfies
13 IN6_IS_ADDR_UNSPECIFIED, then reject it with a warning.
14 Set prefixlen in destination address so CONNECTED_PREFIX will work.
15 * connected.h: (connected_add_ipv6) Add new flags argument so
16 callers may set the ZEBRA_IFA_PEER flag.
17 * interface.c: (connected_dump_vty) Use CONNECTED_PEER macro
18 to decide whether the destination address is a peer or broadcast
19 address (instead of checking IFF_BROADCAST and IFF_POINTOPOINT).
20 * if_ioctl.c: (if_getaddrs) Instead of setting a peer address
21 only when the IFF_POINTOPOINT is set, we now accept a peer
22 address whenever it is available and not the same as the local
23 address. Otherwise (no peer address assigned), we check
24 for a broadcast address (regardless of the IFF_BROADCAST flag).
25 And must now pass a flags value of ZEBRA_IFA_PEER to
26 connected_add_ipv4 when a peer address is assigned.
27 The same new logic is used with the IPv6 code as well (and we
28 pass the new flags argument to connected_add_ipv6).
29 (if_get_addr) Do not bother to check IFF_POINTOPOINT: just
30 issue the SIOCGIFDSTADDR ioctl and see if we get back
31 a peer address not matching the local address (and set
32 the ZEBRA_IFA_PEER in that case). If there's no peer address,
33 try to grab SIOCGIFBRDADDR regardless of whether IFF_BROADCAST is set.
34 * if_ioctl_solaris.c: (if_get_addr) Just try the SIOCGLIFDSTADDR ioctl
35 without bothering to check the IFF_POINTOPOINT flag. And if
36 no peer address was found, just try the SIOCGLIFBRDADDR ioctl
37 without checking the IFF_BROADCAST flag. Call connected_add_ipv4
38 and connected_add_ipv6 with appropriate flags.
39 * if_proc.c: (ifaddr_proc_ipv6) Must pass new flags argument to
40 connected_add_ipv6.
41 * kernel_socket.c: (ifam_read) Must pass new flags argument to
42 connected_add_ipv6.
43 * rt_netlink.c: (netlink_interface_addr) Copy logic from iproute2
44 to determine local and possible peer address (so there's no longer
45 a test for IFF_POINTOPOINT). Set ZEBRA_IFA_PEER flag appropriately.
46 Pass new flags argument to connected_add_ipv6.
47 (netlink_address) Test !CONNECTED_PEER instead of if_is_broadcast
48 to determine whether the connected destination address is a
49 broadcast address.
50
Paul Jakma3c0755d2006-12-08 00:53:14 +0000512006-12-08 Piotr Chytla <pch@packetconsulting.pl>
52
53 * zebra_rib.c: (static_install_ipv{4,6}) Case where existing
54 RIB is updated must explicitely rib_addqueue the route_node,
55 to ensure the update actually takes effect.
56
Greg Troxel9458b812006-09-13 12:13:08 +0000572006-09-13 Tom Everett <tom@khubla.com>
58
59 * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to
60 compile on systems that no longer define them.
61
Paul Jakmaf28b0e52006-08-06 15:57:59 +0000622006-08-06 Paul Jakma <paul.jakma@sun.com>
63
64 * interface.h: (ifstat_update_proc) declaration should match
65 ifstat_update_sysctl really, which is to not return status, as
66 such status is not used anywhere.
67 * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values
68 consistent with each other and their declarations, ie:
69 (void) (*) (void).
Paul Jakma66c454f2006-08-06 16:02:43 +000070 * rtadv.h: depends on interface.h, so should include it.
Paul Jakmaf28b0e52006-08-06 15:57:59 +000071
Paul Jakma7e4bcdc2006-08-04 06:14:13 +0000722006-08-04 Paul Jakma <paul.jakma@sun.com>
73
74 * misc_null.c: Add ifstat_update_sysctl, add another required
75 header.
76
Andrew J. Schorra6974fe2006-08-02 16:47:03 +0000772006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
78
79 * misc_null.c: Must include header files to get older versions of gcc
80 to process the #pragma statements properly.
81
Paul Jakma36943742006-08-04 06:18:04 +0000822006-08-01 Paul Jakma <paul.jakma@sun.com>
83
84 * irdp_main.c: (irdp_advertisement) free the stream here, when done,
85 right under where it was allocated so it's blindingly obvious
86 it's correct. This possibly fixes a very slow leak of streams in
87 zebra.
88 * irdp_packet.c: (send_packet) don't free the stream here as
89 it's hard to tell if right, plus an error case seemed to
90 returning before free anyway.
91
Paul Jakma457eb9a2006-07-27 19:59:58 +0000922006-07-27 Paul Jakma <paul.jakma@sun.com>
93
94 * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations,
95 useful for testing zebra code that calls such methods.
96 * {redistribute,misc}_null.c: Dummy/Null methods, as above. But
97 for zclient, and for various misc functions.
98 * test_main.c: Test harness for zebra, currently just to test the
99 RIB.
100 * Makefile.am: Build testzebra using above.
Paul Jakma6d691122006-07-27 21:49:00 +0000101 * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'.
102 * rib.h: (struct rib) Add a route_node rn_status flag field,
103 this has to be copied every time head RIB of a route_node
104 changes.
105 Remove the rib lock field, not needed - see below.
106 Add a status field for RIB-private flags.
Paul Jakma457eb9a2006-07-27 19:59:58 +0000107 * zebra_rib.c: Add a global for the workqueue hold time, useful
108 for testing.
Paul Jakma6d691122006-07-27 21:49:00 +0000109 (general) Fix for bug #268. Problem originally detailed by
110 Simon Bryden in [quagga-dev 4001].
111 Essentially, add/delete of a RIB must happen /before/ the
112 queue. Best-path selection (ie rib_process) and reaping of
113 freed RIBs can then be done after queueing. Only the route_node
114 is queued - no important RIB state (i.e. whether a RIB is to be
115 deleted) is queued.
116 (struct zebra_queue_node_t) Disappears, no longer need to
117 track multiple things on the queue, only the route_node.
118 (rib_{lock,unlock}) removed, RIBs no longer need to be
119 refcounted, no longer queued.
120 (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted
121 via the queue.
122 (rib_queue_add_qnode) deleted
123 (rib_queue_add) Only the route_node is queued for best-path
124 selection, we can check whether it is already queued or
125 not and avoid queueing same node twice - struct rib * argument
126 is not needed.
127 (rib_link/unlink) (un)link RIB from route_node.
128 (rib_{add,del}node) Front-end to updates of a RIB.
129 (rib_process) Reap any deleted RIBs via rib_unlink.
130 Unset the route_node 'QUEUED' flag.
131 (General) Remove calls to rib_queue_add where add/del node was
132 called - not needed, update calls where not.
133 Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes
Paul Jakma457eb9a2006-07-27 19:59:58 +0000134
Paul Jakma171eee32006-07-27 16:11:02 +00001352006-07-27 Rumen Svobodnikov <rumen@telecoms.bg>
136
137 * connected.c: (connected_up_ipv4) interface connected routes always
138 go to table main (or otherwise they cannot be used by linux as
139 nexthops)
140 * zserv.c: (zread_ipv4_add) send route to the correct routing table
141 * zebra_rib.c (static_install_ipv4) set routing table
142
Paul Jakma27b47252006-07-02 16:38:54 +00001432006-07-02 Paul Jakma <paul.jakma@sun.com>
144
145 * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not
146 proceed if addr is NULL.
147 * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check
148 required arguments are supplied for the given nexthop type.
149
Paul Jakma630c97c2006-06-15 12:48:17 +00001502006-06-15 Paul Jakma <paul.jakma@sun.com>
151
152 * interface.c: (if_flag_dump_vty) redundant code, remove.
153 (if_dump_vty) use libzebra if_flag_dump.
Paul Jakma74ecdc92006-06-15 18:10:47 +0000154 (ip_address_uninstall) Unset the configured flag.
155 * connected.c: (connected_same) new helper, check whether
156 two connected are same.
157 (connected_implicit_withdraw) new helper, consolidation of
158 existing code in connected_add_ipv{4,6}.
159 Try filter out unneeded Zserv address delete/adds when
160 address is exact same.
161 Where old address is implicitely removed, be sure to preserve
162 the IFC_CONFIGURED flag if set, fixes bug where configured
163 addresses were being lost on FreeBSD (Andrew Schorr).
Paul Jakma630c97c2006-06-15 12:48:17 +0000164
Andrew J. Schorr9c378512006-05-21 04:04:49 +00001652006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
166
167 * connected.c: (connected_withdraw) Do not delete the connected
168 address if the ZEBRA_IFC_CONFIGURED flag is set.
169 (connected_add_ipv4,connected_add_ipv6) Before calling
170 connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag
171 on the superseded connected structure.
172
Andrew J. Schorr0f38dc42006-05-19 13:53:23 +00001732006-05-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
174
175 * connected.c: (connected_add_ipv4,connected_add_ipv6) If the
176 new struct connected matches an already existing one
177 (that will consequently be removed by connected_withdraw),
178 then be sure to preserve the ZEBRA_IFC_CONFIGURED flag.
179
Andrew J. Schorr55196042006-05-17 15:04:59 +00001802006-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
181
182 * kernel_socket.c: (ifam_read_mesg) Improve debug message
183 to show the IP address.
184
Paul Jakma66859782006-05-15 17:00:37 +00001852006-05-15 Paul Jakma <paul.jakma@sun.com>
186
187 * zserv.c: (general) Remove the private zebra_command_str
188 in favour of newly added libzebra zserv_command_string.
189
Paul Jakmabeb56332006-05-11 13:28:05 +00001902006-05-11 Paul Jakma <paul.jakma@sun.com>
191
192 * interface.c: (if_delete_update) route_node_lookup may return
193 NULL, should fix Coverity CID #31.
194
Paul Jakmae6d7d052006-03-30 13:32:09 +00001952006-02-09 Paul Jakma <paul.jakma@sun.com>
196
197 * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid
198 needless padding.
199 (struct rib) Remove the indirect pointer, not used anywhere!
200
paul3a570c82006-02-02 17:27:13 +00002012006-02-02 Paul Jakma <paul.jakma@sun.com>
202
203 * interface.c: (if_dump_vty) move flags to their line, neater.
204
paula1038a12006-01-30 14:08:51 +00002052006-01-30 Paul Jakma <paul.jakma@sun.com>
206
207 * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
208 commit, last commit had a hole that could allow connected
209 route selection to escape beyond the connected route logic.
210 This time I cross-checked with Gunnar first. ;)
211
paula8d9c1f2006-01-25 06:31:04 +00002122006-01-25 Gunnar Stigen <gunnar.stigen@axxessit.no>
213
214 * zebra_rib.c: (rib_process) Application of Gunnar's earlier
215 metric selection RIB change included incorrect tidy-ups made
216 by commiter. Fix. (NB: any errors here are again due to paul).
217
paul5c78b3d2006-01-25 04:31:40 +00002182006-01-25 Paul Jakma <paul.jakma@sun.com>
219
220 * (general) More solaris PF_ROUTE hacks. The IFF_UP mangling
221 for solaris was incomplete on the PF_ROUTE side. fix it.
222 This changeset generally uglifies things. For some future
223 work I'd like to see the state changes seperated out from
224 the details of the code. Differences between systems might
225 then be slightly easier to implement without convoluted
226 hacks.
227 Changes should be specific to Solaris mostly, however
228 also tested on FreeBSD 6.
229 * if_ioctl_solaris.c: (interface_list_ioctl) ignore ~IFF_UP
230 interfaces, we'll hear about them when/if interface goes up
231 through NEWADDR.
232 Update flags explicitely at end of it to kick mangling.
233 * ioctl_solaris.c: (if_mangle_up) removed to interface.c, in
234 kind.
235 (lifreq_set_name) more convenient to take the string, than
236 the ifp.
237 (if_get_flags_direct) new convenience function, returns
238 the actual flags. Used during bootstrap in if_ioctl_solaris.c
239 to peek at flags of logical interfaces to see whether or
240 not to ignore them.
241 (if_get_flags) ENXIO means it's gone, poke out IFF_UP and
242 kick flags update.
243 (if_{un,}set_flags) flags argument should be 64bit.
244 * ioctl.{c,h}: flags argument should be 64bit.
245 * interface.h: Add a 'primary_state' flag to struct zebra_if on
246 SUNOS_5.
247 Export if_flags_update.
248 * interface.c: (if_flags_mangle) moved over in kind from
249 ioctl_solaris.c. Nasty kludge to try get IFF_UP right, as
250 much as is possible. Also keep track of the actual IFF_UP
251 value for the primary interface, so we can know when the ifp
252 must be deleted.
253 (if_flags_update) Take a new interface flags value, apply it
254 to the interface, and take whatever actions are required due
255 to flag transitions.
256 (if_refresh) flag state change logic is moved out to
257 previous. Just call if_get_flags, which will end up using
258 previous to effect the update of flags.
259 (if_flag_dump_vty) IFF_IPV{4,6} aren't interesting, VIRTUAL
260 and NOXMIT are though.
261 * kernel_socket.c: (ifm_read) Down->Down transitions shouldn't
262 create ifp, for non-IFANNOUNCE systems.
263 Use if_flags_update to update flags.
264 flag transition logic is now handled automatically through
265 if_flags_update.
266 (ifam_read) Better to call if_refresh *after* adding
267 connected addresses, as connected count affects IFF_UP on
268 IFF_UP-mangled systems.
269 On Solaris, Up->Down due to DELADDR means we need to delete
270 the ifp - the IFINFO might already have been and gone.
271 * rt.h: include other dependent headers.
272
paule8e19462006-01-19 20:16:55 +00002732006-01-19 Paul Jakma <paul.jakma@sun.com>
274
275 * (general) various miscellaneous compiler warning fixes.
276 Remove redundant break statements from switch clauses
277 which return.
278 Remove stray semi-colons which cause empty-statement
279 warnings.
280 * main.c: (sighup) remove private declaration of external
281 function.
282 (main) return from main, not exit, cause it annoys SOS.
283
paulaf887b52006-01-18 14:52:52 +00002842006-01-18 Gunnar Stigen <gunnar.stigen@axxessit.no>
285
286 * zebra_rib.c: Take interface metric into account.
287
pauld34b8992006-01-17 18:03:04 +00002882006-01-17 Paul Jakma <paul.jakma@sun.com>
289
290 * kernel_socket.c: (ifam_read) Read metric from RTM_NEWADDR.
291 If interface is an alias, pass the alias as a label for
292 connected_add_ipv{4,6}.
293 * rt_netlink.c: (netlink_interface_addr) print out
294 IFA_CACHEINFO info, if present, when debugging kernel
295 messages.
296
paulc7133002006-01-17 17:56:18 +00002972006-01-17 Gunnar Stigen <gunnar.stigen@axxessit.no>
298
299 * connected.c: (connected_up_ipv{4,6}) Include interface metric on
300 connected routes.
paul61f42ae2006-01-17 17:59:11 +0000301 * if_ioctl.c: (if_getaddrs) Be defensive about assuming
302 that struct ifaddrs will have ifa_addr filled in.
paulc7133002006-01-17 17:56:18 +0000303
paulc1b98002006-01-16 01:54:02 +00003042006-01-16 Paul Jakma <paul.jakma@sun.com>
305
306 * zserv.c: Read/write updated Zserv header.
307
paulc77d4542006-01-11 01:59:04 +00003082006-01-11 Paul Jakma <paul.jakma@sun.com>
309
310 * zserv.c: (zsend_interface_{add,delete,update}) if flags are
311 8 bytes now, update to write out with stream_putq.
312
gdt6083e1f2005-12-29 15:59:57 +00003132005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
314
gdte14b7fc2005-12-29 16:04:53 +0000315 * kernel_socket.c: remove dead code (from David Young).
316
gdt6083e1f2005-12-29 15:59:57 +0000317 * rt_socket.c (kernel_rtm_ipv4): Use AF_INET rather than AF_UNSPEC
318 for mask. From David Young.
319
paul89368d92005-11-26 09:14:07 +00003202005-11-26 Paul Jakma <paul.jakma@sun.com>
321
322 * connected.{c,h}: (connected_add_ipv6) label should have
323 const qualifier, fix declarations.
324
paulec1a4282005-11-24 15:15:17 +00003252005-11-24 Paul Jakma <paul.jakma@sun.com>
326
327 * kernel_socket.h: New header for functions exported to sysctl
328 methods.
329 * kernel_socket.c: include previous.
330 Remove static qualifier from couple of functions which are
331 used by sysctl methods.
332 Add a workaround for a bogus gcc warning to the RTA_ macros.
333 * Makefile.am: Add kernel_socket.h to noinst_HEADERS
334 * if_sysctl.c: include rt.h and kernel_socket.h and remove
335 redundant prototypes.
336 * rtread_sysctl.c: ditto.
337 (route_read) fix mismatch of return values.
338 * {rt,zserv,rib}.h: Include lib headers depended on.
339
paul6621ca82005-11-23 13:02:08 +00003402005-11-23 Paul Jakma <paul.jakma@sun.com>
341
342 * (general) fix some small compile errors, and mark several
343 functions as static.
344 * kernel_socket.c: (ifan_read) should be static.
345 fix missing brackets.
346 (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static
347 (ifam_read_mesg) make static. fix incorrect variable name.
348 (rtm_read) make static. Fix call to rib_delete_ipv4 which
349 should be rib_delete_ipv6.
350 (routing_socket,kernel_init) should be static. Void argument
351 should be specified as such, not left incomplete.
352 * rt_netlink.c: rt.h should be included, contains prototypes of
353 exported functions.
354 (kernel_delete_ipv6_old) fix sign of index argument.
355 * rt_socket.c: Exact same as previous. Also, make various
356 functions static.
357 * rtread_getmsg.c: Include zserv.h, which prototypes
358 route_read. Make static.
359 * rtread_sysctl.c: zserv.h and rt.h should be included.
360 fix definition of route_read.
361
paul0fb58d52005-11-14 14:31:49 +00003622005-11-14 Paul Jakma <paul.jakma@sun.com>
363
364 * zebra_rib.c: (rib_process) convert to new workqueue specs and
365 shut up gcc, which complains about cast from void via
366 function parameters, for some dumb reason. Do the cast
367 inside the function instead.
368 (rib_queue_qnode_del) ditto.
369 (rib_queue_init) no need for the casts anymore.
370
paul6fe70d12005-11-12 22:55:10 +00003712005-11-12 Alexander Gall <gall@switch.ch>
372
373 * See [quagga-dev 1815]
374 * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN
375 is not available.
376 * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to
377 AF_INET6 on ipv6 routes.
378
3792005-11-12 Paul Jakma <paul.jakma@sun.com>
380
381 * kernel_socket.c: Add RTA_NAME_GET macro to extract name from
382 sockaddr_dl. Add some more RTF_ flags.
383 * (ifan_read) Add some debug messages.
384 * (ifm_read) Add more debug messages. More robust cross-checks
385 of index against name.
386 Fall back to by-name lookup if the index lookup fails, future
387 proofing more than anything else.
388 (ifam_read_mesg) Read RTA_IFP. Add debug messages.
389 (ifam_read) More debug. If there's an RTA_IFP and it isn't
390 the name of the interface, save it as the label.
391 (rtm_read_mesg) Read RTA_IFP.
392 (rtm_read) allow name to be retrieved.
393 (rtmsg_debug) expand on the debug message.
394
paul0994c3a2005-11-11 09:52:40 +00003952005-11-11 Paul Jakma <paul.jakma@sun.com>
396
397 * kernel_socket.c: (ifm_read) arithmetic on void pointer
398 warning.
399 (ifam_read) Fix error from connected-with-label merge,
400 something crept in from the pending Solaris kernel_socket.c
401 patch which shouldn't have.
402
paul0752ef02005-11-03 12:35:21 +00004032005-11-03 Paul Jakma <paul.jakma@sun.com>
404
405 * connected.{c,h}: Include memory.h
406 (connected_add_ipv4) Use MTYPE for ifc label.
407 (connected_add_ipv6) Also should accept label. Store it in ifp.
408 (connected_del_ipv4) Taking label as argument is pointless.
409 * rt_netlink.c: (netlink_interface_addr) update label usage
410 for connected_{add,delete} functions.
411 * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
412 * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
413 so we also find out about NOXMIT interfaces like VNI.
414 Bit of hackery to turn interface names into the primary
415 interface name, later with routing socket messages we only
416 will about primary interfaces anyway, so we must normalise
417 the name.
418 (if_get_addr) take label as argument, so it can
419 be passed to connected_add.
420 If label is provided, then it is interface name to issue the
421 ioctl for address information on, not the ifp name.
422 (interface_list) List AF_UNSPEC too, just in case.
423 * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
424 * interface.c: (if_addr_wakeup) Some very bogus code - sets
425 IFF_RUNNING - add comment.
426 (if_refresh)
427 (ip_address_install) Use MTYPE for ifc label.
428 * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
429 IFF_UP reflect whether any addresses are left on the
430 interface, as we get signalled for IFF_UP flags change on the
431 primary interface only. Logical interfaces dont generate
432 IFINFO, but we do get an RTM_DELADDR.
433 (if_get_flags) Call if_mangle_up before return.
434 * kernel_socket.c: (ifam_read) Fixup calls to
435 connected_{add,delete} to match above changes. Rename gate
436 variable to brd, less confusing.
437 Pass the interface name as a label, if it is not same name
438 as ifp->name.
439
pauld06b2a62005-10-11 03:53:54 +00004402005-10-11 Paul Jakma <paul.jakma@sun.com>
441
442 * connected.{c,h}: (connected_{add,delete}_ipv4) label should
443 be const qualified.
444
ajsc05612b2005-10-01 16:36:54 +00004452005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
446
ajsf52d13c2005-10-01 17:38:06 +0000447 * zebra_vty.c: (route_type_str) Remove obsolete function: use new
448 library function zebra_route_string() instead. Note that there
449 are a few differences: for IPv6 routes, we now get "ripng" and
450 "ospf6" instead of the old behavior ("rip" and "ospf").
451 (route_type_char) Remove obsolete function: ues new library function
452 zebra_route_char() instead. Note that there is one difference:
453 the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
454 whereas the new one returns 'X'.
455 (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
456 route_type_str() with zebra_route_string().
457 (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
458 with zebra_route_char().
459
4602005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
461
ajsc05612b2005-10-01 16:36:54 +0000462 * rt_netlink.c: (netlink_request) Use memset to clear structure
463 before calling sendto (eliminates a valgrind error message about
464 uninitialized data).
vincentaa2e32b2005-09-28 13:42:11 +0000465
4662005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
467
vincentfbf5d032005-09-29 11:25:50 +0000468 * zserv.c: Always provied distance for route add
469
4702005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
471
vincentaa2e32b2005-09-28 13:42:11 +0000472 * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
473 usage with HAVE_IPV6
474
hassod24af182005-09-24 14:00:26 +00004752005-09-24 Hasso Tepper <hasso at quagga.net>
476
477 * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
478 add is treated as implicit withdraw.
479
hassoebf1ead2005-09-21 14:58:20 +00004802005-09-21 David Young <dyoung@ojctech.com>
481
482 * zebra_rib.c: Reduce the height of some staircases. Fix
483 rib_delete_ipv6() to match routes in the RIB by their gateway as
484 well as by destination.
485
paul319572c2005-09-21 12:30:08 +00004862005-09-21 Paul Jakma <paul.jakma@sun.com>
487
488 * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
489 removal of static routes with multiple-hops introduced with
490 the workqueue conversion. We should free the relevant
491 nexthop and then get rib_process to run, otherwise we just
492 get same static route back again (with no way to unconfigure
493 it, because its already deleted from configuration).
494
paulca162182005-09-12 16:58:52 +00004952005-09-12 Paul Jakma <paul.jakma@sun.com>
496
497 * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR
498 support.
499 * connected.c: (connected_withdraw) new function. withdraw a
500 connected subnet address set from zebra, and pass information
501 along to clients.
502 (connected_announce) similar, but to announce a new connected
503 subnet address set.
504 (connected_check_ipv4) renamed to connected_check, as its
505 AFI independent.
506 (connected_add_ipv{4,6}) Remove the connected address announce
507 stuff, use connected_announce instead.
508 If connected_check indicates address is already present,
509 treat it as an implicit withdraw of the existing address, ie
510 remove the old address details and replace with the new
511 details.
512 (connected_delete_ipv{4,6}) Use connected_withdraw.
513 (connected_check_ipv6) deleted in favour of connected_check.
514 * connected.h: Rename connected_check_ipv4 to connected_check.
515 delete connected_check_ipv6.
516 * interface.c: Use connected_check rather than the AFI specific
517 symbols.
518 * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a
519 rib delete event for the existing route, before adding route
520 again.
521 (kernel_read) we can handle RTM_CHANGE now.
522
hassobe61c4e2005-08-27 06:05:47 +00005232005-08-27 Hasso Tepper <hasso at quagga.net>
524
525 * zebra_rib.c, rib.h: Add distance and metric arguments to the
526 rib_add_ipv6() function so that IPv6 routes in RIB can have correct
527 metric. No IPv6 routing daemon uses distance yet though.
528 * zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
529 rtread_proc.c,zserv.c: Pass metric and distance info to the
530 rib_add_ipv6().
531
paul6eb88272005-07-29 14:36:00 +00005322005-07-29 Paul Jakma <paul.jakma@sun.com>
533
534 * interface.c: (if_delete_update) should always be available, not
535 just on RTM_IFANNOUNCE/NETLINK systems.
536 * kernel_socket.c: (ifan_read) only call if_delete_update when
537 interface departs, dont if_delete, because we wish to retain
538 interface configuration state even when interfaces are removed.
539 (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning
540 to down state is only chance we have to clean up interface in case
541 it is deleted (eg Solaris down -> unplumb -> plumb up).
542 * redistribute.c: (zebra_interface_delete_update) should always be
543 available, we /will/ call it now on all systems, via
544 if_delete_update.
545 * zserv.c: (zsend_interface_delete) ditto
546 (zsend_interface_address) Update the call-flow diagramme, to
547 reflect that if_delete_update /is/ now called on all systems,
548 potentially.
549 * zserv.h: (zsend_interface_delete) unconditionally exported, as
550 above.
551
paula1ac18c2005-06-28 17:17:12 +00005522005-06-28 Paul Jakma <paul.jakma@sun.com>
553
554 * (global) Extern and static'ification, with related fixups
555 of declarations, ensuring files include their own headers, etc.
paulea6f82b2005-06-28 17:20:26 +0000556 * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in
paula1ac18c2005-06-28 17:17:12 +0000557 list loop
paulea6f82b2005-06-28 17:20:26 +0000558 * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
559 should be on DEST argument
paula1ac18c2005-06-28 17:17:12 +0000560
paul62debbb2005-06-14 14:07:07 +00005612005-06-14 Paul Jakma <paul.jakma@sun.com>
562
563 * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and
564 RTM{ADDR,MASK}GET macros into generic rta_addrs macros,
565 RTA_{ADDR,ATTR}_GET.
566 (af_check) could use 'inline' attribute
567 (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to
568 generic macro.
569 (rtm_read_mesg) similar
570
hasso1ada8192005-06-12 11:28:18 +00005712005-06-12 Hasso Tepper <hasso at quagga.net>
572
573 * rt_netlink.c: Remove netlink-addr socket declaration, it's not used.
574 * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is
575 unsigned and one zlog call had swapped arguments.
576 * rt_netlink.c (netlink_route_multipath): Fix compile with disabled
577 IPv6 support.
578
paul1dcb5172005-05-31 08:38:50 +00005792005-05-31 Paul Jakma <paul.jakma@sun.com>
580
581 * zserv.c: (zsend_route_multipath) Fix bug if route is sent
582 with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX
583 and ZAPI_MESSAGE_NEXTHOP are always set, clients would try
584 read non-existent nexthop information and hit stream assert.
585 Zserv is still broken for multi-nexthop messages, but it always was.
586
paul69e10ad2005-05-06 21:27:33 +00005872005-05-06 Paul Jakma <paul.jakma@sun.com>
588
589 * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
590
paul4d38fdb2005-04-28 17:35:14 +00005912005-04-28 Paul Jakma <paul.jakma@sun.com>
592
593 * rib.h: (struct rib) Add lock field for refcounting.
594 * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
595 'master' struct.
596 * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
597 * zebra_rib.c: Clean up refcounting of route_node, make struct rib
598 refcounted and convert rib_process to work-queue. In general,
599 rib's should be rib_addnode'd and delnode'd to route_nodes, and
600 these symmetrical functions will manage the locking of referenced
601 route_node and freeing of struct rib - rather than having users
602 manage each seperately - with much scope for bugs..
603 (newrib_free) removed and replaced with rib_lock
604 (rib_lock) new function, check state of lock and increment.
605 (rib_unlock) new function, check lock state and decrement. Free
606 struct rib if refcount hits 0, freeing struct nexthop's, as
607 newrib_free did.
608 (rib_addnode) Add RIB to route_node, locking both.
609 (rib_delnode) Delete RIB from route_node, unlocking each.
610 (rib_process) Converted to a work-queue work function.
611 Functional changes are minimal, just arguments, comments and
612 whitespace.
613 (rib_queue_add_qnode) Helper function to setup a ribq item.
614 (rib_queue_add) Helper function, same arguments as old
615 rib_process, to replace in callers of rib_process.
616 (rib_queue_qnode_del) ribq deconstructor.
617 (rib_queue_init) Create the ribq.
618 (rib_init) call rib_queue_init.
619 (remainder) Sanitise refcounting of route_node's. Convert to
620 rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
621 to XCALLOC. Remove calls to nexthop_delete and nexthop_free.
622
paulcf460ef2005-04-10 16:54:26 +00006232005-04-10 Paul Jakma <paul@dishone.st>
624
625 * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
626 in ALL_LIST_ELEMENTS_RO macro.
627
ajs57a14772005-04-10 15:01:56 +00006282005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
629
630 * zserv.c (zebra_client_read): Fix bug: first read attempt should
631 read ZEBRA_HEADER_SIZE minus the number of bytes already read.
632 Improve efficiency by maintaining a calculation of the number
633 of bytes read instead of calling stream_get_endp multiple times.
634 If message length is too small, issue a warning message (not debug)
635 before closing the connection. And also check that message length
636 is not too big.
637
hasso206d8052005-04-09 16:38:51 +00006382005-04-09 Hasso Tepper <hasso at quagga.net>
639
hassofa599802005-04-09 16:59:28 +0000640 * rt_netlink.c: One tiny missing comma caused pointless debug messages
641 about IPv6 nexthops.
642
6432005-04-09 Hasso Tepper <hasso at quagga.net>
644
hasso206d8052005-04-09 16:38:51 +0000645 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
646 status to unsigned here, because we already checked that it isn't
647 negative or 0.
648 * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
649 address, not to the interface.
650 * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
651 is printed out now and IPv6 info is handeled.
652
paul3d1dc852005-04-05 00:45:23 +00006532005-04-05 Paul Jakma <paul@dishone.st>
654
655 * zserv.c: print more helpful errors when we fail to successfully
656 bind and listen on zserv socket. Closes bugzilla #163.
657
ajsd2fc8892005-04-02 18:38:43 +00006582005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
659
ajs08dbfb62005-04-03 03:40:52 +0000660 * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
661 * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
662 avoid overflow.
663 * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
664
6652005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
666
ajsa3491982005-04-02 22:50:38 +0000667 * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
668 to save a memcpy.
669 * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
670 if_get_by_name_len function.
671
6722005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
673
ajsd2fc8892005-04-02 18:38:43 +0000674 * interface.c: (if_new_intern_ifindex) Remove obsolete function.
675 (if_delete_update) After distributing the interface deletion message,
676 set ifp->ifindex to IFINDEX_INTERNAL.
677 (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
678 IFINDEX_INTERNAL.
679 (zebra_interface) Check return code from interface_cmd.func.
680 Do not set internal ifindex values to if_new_intern_ifindex(),
681 since we now use IFINDEX_INTERNAL for all pseudo interfaces.
682 * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
683 all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
684 * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
685 Detects interface rename events by checking if that ifindex is already
686 being used. If it is, delete the old interface before assigning
687 the ifindex to the new interface.
688 (netlink_interface, netlink_link_change) Call set_ifindex to update
689 the ifindex.
690
hassob7ed1ec2005-03-31 20:13:49 +00006912005-03-31 Hasso Tepper <hasso at quagga.net>
692
693 * rt_netlink.c (netlink_talk_filter): Show always warning message,
694 it's not for debug.
695 * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
696 although we do now actually.
697 * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
698 netlink_cmd to send messages to the kernel.
699
ajs2da40f42005-03-30 16:33:13 +00007002005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
701
702 * irdp.h: Add prototype for irdp_sock_init, and fix protos for
703 other irdp_* functions.
704 * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
705 call irdp_sock_init to create the IRDP socket.
706 (irdp_if_init) Rename to irdp_init().
707 (get_iflist_ifp) Remove function that is a duplicate of
708 if_lookup_by_index.
709 (*) Make many functions static. And remove superfluous "\n" from
710 several zlog messages.
711 * irdp_main.c: (irdp_init) Remove function that used to call
712 irdp_if_init() and irdp_sock_init(), since we will now create
713 the socket only upon first use.
714 (irdp_sock_init) Do not update global irdp_sock variable, just
715 return the fd and assume that the caller will do so. If setsockopt
716 calls fail, close the socket before returning -1.
717 (*) Make many functions static.
718 * irdp_packet.c: Initialize irdp_sock to -1.
719 (irdp_read_raw) Call standard library function if_lookup_by_index
720 instead of get_iflist_ifp.
721 (irdp_recvmsg) Should be static, not global.
722
ajsa608bbf2005-03-29 17:03:49 +00007232005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
724
725 * rt_netlink.c: (netlink_link_change) If the status of an
726 operative interface changes (e.g. MTU changes), the client
727 daemons should be notified by calling zebra_interface_up_update.
728 Previously, the information was being updated in zebra's
729 interface structure, but the clients were not notified of
730 changes to an operative interface.
731
vincent7cee1bb2005-03-25 13:08:53 +00007322005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
733 * interface.c, interface.h, rtadv.c, rtadv.h: modifications to
734 IPv6 Neighbor Discovery according to RFC3775, section 7:
735 o 1-bit Home Agent flag management in Router Advertisement (7.1).
736 o 1-bit Router Address flag management in Prefix Information
737 Option (7.2).
738 o Advertisement Interval Option (7.3)
739 o Home Agent Information Option (7.4)
740 o Changes to Sending Router Advertisements more frequently (7.5)
741
hassoed9bb6d2005-03-13 19:17:21 +00007422005-03-13 Hasso Tepper <hasso at quagga.net>
743
744 * zebra/interaface.c: "show interface description" command
745 implemented.
746
paulc1f01f32005-03-12 06:33:14 +00007472005-03-12 Paul Jakma <paul@dishone.st>
748
749 * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
750 No stock Linux kernel has ever supported it, and even if it had
751 it's not generally a good idea.
752
hasso42a66d72005-03-07 08:19:44 +00007532005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
754
755 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
756
hasso3452d472005-03-06 13:42:05 +00007572005-03-06 Hasso Tepper <hasso at quagga.net>
758
759 * interface.c: Fix CRC and frame errors statistics in Linux.
760
ajs719e9742005-02-28 20:52:15 +00007612005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
762
763 * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
764 Remove global message_queue and t_write (need separate buffering for
765 each client).
766 (zebra_server_dequeue,zebra_server_enqueue) Remove functions
767 related to old buggy buffering code.
768 (zserv_delayed_close) New thread callback function to delete a client.
769 (zserv_flush_data) New thread callback function to flush buffered
770 data to client.
771 (zebra_server_send_message) Rewritten to use buffer_write (so
772 buffering of writes and non-blocking I/O work properly).
773 (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
774 zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
775 (this is not really an error). Return value from
776 zebra_server_send_message.
777 (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
778 zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
779 (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
780 from zebra_server_send_message.
781 (zsend_router_id_update) Must use zebra_server_send_message instead
782 of deprecated writen function. Return 0 instead of -1 if this client
783 is not subscribed to router-id updates (since this is not really
784 an error).
785 (zread_interface_add) Change type to static int. If
786 zsend_interface_add fails or zsend_interface_address fails, return -1
787 immediately (since the client has had an I/O error).
788 (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
789 zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
790 to indicate success.
791 (zread_ipv4_nexthop_lookup) Return value from
792 zsend_ipv4_nexthop_lookup.
793 (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
794 (zebra_read_ipv6) Remove unused function.
795 (zread_ipv6_nexthop_lookup) Return value from
796 zsend_ipv6_nexthop_lookup.
797 (zread_router_id_add) Return value from zsend_router_id_update.
798 (zebra_client_close) Call buffer_free(client->wb) and
799 thread_cancel(client->t_suicide).
800 (zebra_client_create) Allocate client->wb using buffer_new.
801 (zebra_client_read) Support non-blocking I/O by using stream_read_try.
802 Use ZEBRA_HEADER_SIZE instead of 3.
803 (zebra_accept) Fix bug: reset accept thread at top. Make client
804 socket non-blocking using the set_nonblocking function.
805 (config_write_forwarding) Fix scope to static.
806 (zebra_init) Remove initialization code for old buggy write buffering.
807 * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
808 (to enable buffered writes with non-blocking I/), and
809 struct thread *t_suicide to support delayed close on I/O
810 errors.
811 * router-id.h: Remove prototypes for zread_router_id_add and
812 zread_router_id_delete (their scope should be static to zserv.c).
813
ajs27da3982005-02-24 16:06:33 +00008142005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
815
816 * redistribute.c: (zebra_check_addr,is_default,
817 zebra_redistribute_default,zebra_redistribute) Fix scope to be static.
818
hassoe8274dc2005-02-20 19:09:23 +00008192005-02-20 Hasso Tepper <hasso at quagga.net>
820
821 * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
822 if we are not debugging.
823
paule31f2292005-02-19 02:00:26 +00008242005-02-19 Paul Jakma <paul@dishone.st>
825
826 * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
827 STREAM_READABLE.
828
paul1e193152005-02-14 23:53:05 +00008292005-02-14 Paul Jakma <paul@dishone.st>
830
831 * Not all Linux netlink systems have IFLA_WIRELESS
832
ajs6a52d0d2005-01-30 18:49:28 +00008332005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
834
835 * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
836 zlog_err.
837 * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
838 zlog_err.
839
ajs4be019d2005-01-29 16:12:41 +00008402005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
841
ajs4460e7a2005-01-29 17:07:40 +0000842 * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
843 zserv_privs.change.
844 * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
845 zserv_privs.change.
846 * ipforward_solaris.c: (solaris_nd) Save errno before calling
847 zserv_privs.change.
848 * irdp_main.c: (irdp_sock_init) Save errno before calling
849 zserv_privs.change.
850
8512005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
852
ajs4be019d2005-01-29 16:12:41 +0000853 * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
854 netlink_talk) Save errno before calling zserv_privs.change.
855
paulc15cb242005-01-24 09:05:27 +00008562005-01-24 Martin Pot <mpot at martybugs.net>
857
858 * zebra/rt_netlink.c: ignore wireless newlink netlink messages.
859
hasso6f2c27a2005-01-18 13:44:35 +00008602005-01-18 Hasso Tepper <hasso at quagga.net>
861
862 * interface.c: Better statistics output in "show interface" command in
863 case of /proc being used.
864
hasso583d8002005-01-16 23:34:02 +00008652005-01-17 Hasso Tepper <hasso at quagga.net>
866
867 * main.c: With --nl-bufsize argument is required.
868
paul865b8522005-01-05 08:30:35 +00008692005-01-05 Paul Jakma <paul@dishone.st>
870
871 * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
872 for now, as we dont actually deal with with resending.... See
873 bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
874 * kernel_socket.c: (routing_socket) ditto.
875
ajsb99760a2005-01-04 16:24:43 +00008762005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
877
878 * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
879 instead of CMSG_FIRSTHDR.
880
ajs341a8f12004-12-22 16:32:16 +00008812004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
882
883 * connected.c: (connected_add_ipv4) Limit warning about /32 addresses
884 with no peer specified to PtP interfaces only.
885
hassob8adec12004-12-18 16:03:28 +00008862004-12-18 Hasso Tepper <hasso at quagga.net>
887
888 * zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it
889 work for isis routes.
890
gdt6a250b02004-12-09 14:48:12 +00008912004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
892
893 * kernel_socket.c (rtmsg_debug): char * => const char *
894
ajs274a4a42004-12-07 15:39:31 +00008952004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
896
ajsb6178002004-12-07 21:12:56 +0000897 * *.c: Change level of debug messages to LOG_DEBUG.
898
8992004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
900
ajs274a4a42004-12-07 15:39:31 +0000901 * main.c: (main) The 2nd argument to openzlog has been removed.
902 So stdout logging will no longer be enabled by default.
903 * irdp_main.c: (irdp_finish) Reduce severity of shutdown message
904 from LOG_WARNING to LOG_INFO.
905
ajs887c44a2004-12-03 16:36:46 +00009062004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
907
908 * main.c: (sigint) Use zlog_notice for termination message.
909 (main) Add a startup announcement using zlog_notice.
910
hassoaccb1562004-11-25 19:21:07 +00009112004-11-25 Hasso Tepper <hasso at quagga.net>
912
913 * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because
914 it confuses extract.pl.
hassoc0652302004-11-25 19:33:48 +0000915 * main.c: Make group to run as configurable.
hassoaccb1562004-11-25 19:21:07 +0000916
hasso6bd7c6a2004-10-28 17:32:27 +00009172004-10-28 Hasso Tepper <hasso at quagga.net>
918
919 * interface.c: Remove dead "ip tunnel" command.
920
paul06f953f2004-10-22 17:00:38 +00009212004-10-22 Paul Jakma <paul@dishone.st>
922
923 * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex
924
hasso3fb9cd62004-10-19 19:44:43 +00009252004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
926
927 * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore
928 tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL].
929 * interface.c: (ip_address_install) Use new ipv4_broadcast_addr
930 function.
931 * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST
932 macro.
933 (connected_down_ipv4) ditto.
934 (connected_add_ipv4) Validate destination address, print warnings
935 if it does not make sense.
936
hassoc1eaa442004-10-19 06:26:01 +00009372004-10-19 Hasso Tepper <hasso at quagga.net>
938
939 * zserv.c: Fix regression introduced with zserv cleanup.
940
hassoc75105a2004-10-13 10:33:26 +00009412004-10-13 Hasso Tepper <hasso at quagga.net>
942
943 * zebra_snmp.c: Remove defaults used to initialize smux connection to
944 snmpd. Connection is initialized only if smux peer is configured.
hassob71f00f2004-10-13 12:20:35 +0000945 * zserv.c: Remove useless warnings "forwarding is already on".
hassoc75105a2004-10-13 10:33:26 +0000946
hasso39ff11d2004-10-12 15:55:19 +00009472004-10-12 Hasso Tepper <hasso at quagga.net>
948
949 * zebra_vty.c: Unbreak "show ip route" command help and make it work
950 for isis routes.
hasso39db97e2004-10-12 20:50:58 +0000951 * interface.c(if_dump_vty): Show IPv6 addresses in "show interface"
952 output. Fixes Bugzilla #119.
953 * *.c: Make some strings const and some (unsigned) casts to fix
954 compiler warnings.
hasso39ff11d2004-10-12 15:55:19 +0000955
hassofce954f2004-10-07 20:29:24 +00009562004-10-07 Hasso Tepper <hasso at quagga.net>
957
958 * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c:
959 Fix warnings: make strings const, signed -> unsigned.
960
paul72164662004-10-05 14:39:43 +00009612004-10-05 Paul Jakma <paul@dishone.st>
962
963 * irdp_packet.c: (parse_irdp_packet) style issues.
964 Use sockopt_iphdrincl_swab_systoh.
965 Try unbork the code. Checksum the ICMP data and actually
966 compare it to received checksum. Check data length against
967 claimed length in header.
968 Always use ntoh.. when accessing addresses, even when the
969 comparison happens to be endian-safe.
970 (send_packet) minor style isues. Use
971 sockopt_iphdrincl_swab_htosys.
972 (irdp_iph_hton/ntoh) IP header to/from network/host order.
973
hassoeef1fe12004-10-03 18:46:08 +00009742004-10-03 Gilad Arnold <gilad.arnold at terayon.com>
975
976 * interface.c, interface.h: A new prefix tree of connected subnets is
977 associated with each interface structure in zebra, in which each
978 live (ie, non-synthetic) node holds a list of installed addresses
979 that belong to that prefix. Remove secondary address logic from cli.
980 See [quagga-dev 872] for detailed explanation.
981 * connected.c: Use if_subnet_add() and if_subnet_delete().
982
hasso18a6dce2004-10-03 18:18:34 +00009832004-10-03 James R. Leu <jleu at mindspring.com>
984
985 * router-id.c, router-id.h: New files. Router id selection process. If
986 there is non 127.x.x.x address in loopack interface, lowest of them
987 is chosen. If there isn't, lowest from other interfaces addresses
988 are chosen. "router-id x.x.x.x" vty command to manual override.
989 * Makefile.am: Compile new files.
990 * main.c: Initialize router id.
991 * redistribute.c: Add interface addresses into router id selection
992 lists as they (dis)appear.
993 * zserv.c, zserv.h: Sending router id related messages to daemons.
994
hassoc9e52be2004-09-26 16:09:34 +00009952004-09-26 Hasso Tepper <hasso at quagga.net>
996
997 * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
998 rtadv.c, zebra_vty.c: Fix compiler warnings.
999
paul0c0f9112004-09-24 08:24:42 +000010002004-09-24 Paul Jakma <paul@dishone.st>
1001
paul26f7a242004-09-24 08:45:10 +00001002 * irdp_interface.c: (no_ip_irdp_address_preference_cmd)
1003 add missing listnode declaration.
1004
10052004-09-24 Paul Jakma <paul@dishone.st>
1006
paul0c0f9112004-09-24 08:24:42 +00001007 * irdp_{interface,main}.c: lists typedef removal cleanup.
1008 update some list loops to LIST_LOOP. some miscellaneous style
1009 and indent fixups.
1010 (no_ip_irdp_address_preference_cmd) Fix delete of referenced node
paul26f7a242004-09-24 08:45:10 +00001011 in loop.
paul0c0f9112004-09-24 08:24:42 +00001012 * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer
1013 to pointer.
1014 * if_ioctl{,_solaris}.c: lists typedef removal cleanup.
1015 update some list loops to LIST_LOOP.
1016
hasso52dc7ee2004-09-23 19:18:23 +000010172004-09-23 Hasso Tepper <hasso at quagga.net>
1018
1019 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1020
paul44983cf2004-09-22 13:15:58 +000010212004-09-22 Paul Jakma <paul.jakma@sun.com>
1022
1023 * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
1024 in_addr to sizeof(struct in6_addr), causing odd and hard to debug
1025 crash.
1026
hassoc34b6b52004-08-31 13:41:49 +000010272004-08-31 Hasso Tepper <hasso at quagga.net>
1028
1029 * main.c, rt_netlink.c: Added -s command line switch for tuning
1030 netlink receive buffer size in Linux to avoid buffer overruns.
1031
gdta5ea6872004-08-26 13:24:00 +000010322004-08-26 Miles Nordin <carton@Ivy.NET>
1033
1034 * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
1035 sysctl(3), rather than int. (Needed on NetBSD/alpha to display
1036 forwarding status correctly.)
1037
paul3e0b3a52004-08-23 18:58:32 +000010382004-08-23 Paul Jakma <paul@dishone.st>
1039
1040 * zserv.c: (zebra_init) remove implicit ip forward enabling
1041
paul0de1cde2004-08-19 04:45:33 +000010422004-08-19 Paul Jakma <paul@dishone.st>
1043
1044 * irdp_main.c: update to match sockopt renames.
1045 * irdp_packet.c: include sockopt.h and update to match sockopt
1046 renames.
1047
gdt57492d52004-08-11 18:06:38 +000010482004-08-11 Greg Troxel <gdt@fnord.ir.bbn.com>
1049
1050 * rtadv.c (rtadv_send_packet): Allocate space for control messages
1051 more carefully; it was wrong on NetBSD/sparc where CMSG alignment
1052 is to 8 bytes instead of 4, and overwriting the address. Use the
1053 provided macros for determining lengths.
1054
paul5b73a672004-07-23 15:26:14 +000010552004-07-23 Sowmini Varadhan <Sowmini.Varadhan@Sun.COM>
1056
1057 * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups
1058 * zserv.c: ditto
1059 * ioctl_solaris.c: ditto.
1060 * interface.c: cast for LLADDR
1061 * interface.h: Add guards, include redistribute.h and remove
1062 extraneous definitions of zebra_interface_{up,down}_update
1063 * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6
1064 * redistribute.h: include dependent header, zserv.h
1065 * zserv.h: include dependent header, rib.h
1066
paul1470baf2004-07-23 15:25:01 +000010672004-07-23 Paul Jakma <paul@dishone.st>
1068
1069 * irdp_main.c: use setsockopt_pktinfo_ipv4
1070 * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and
1071 getsockopt_pktinfo_ifindex()
1072
gdtcced60d2004-07-13 16:45:54 +000010732004-07-13 David Wiggins <dwiggins@bbn.com
1074
1075 * kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'.
1076
hasso25dac852004-07-13 03:06:51 +000010772004-07-13 Hasso Tepper <hasso@estpak.ee>
1078
1079 * irdp_main.c: Add privilege change.
1080
hasso996933f2004-07-12 16:32:56 +000010812004-07-12 Hasso Tepper <hasso@estpak.ee>
1082
1083 * irdp_interface.c: follow common style while naming vty command
1084 functions. Avoids confusion in extract.pl.
1085
gdt87efd642004-06-30 17:36:11 +000010862004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1087
1088 * main.c: define thread_master variable so that linking with
1089 libzebra.so doesn't fail. Arguably zclient.o should be in a
1090 separate library, but this is far less disruptive.
1091
hassoca776982004-06-12 14:33:05 +000010922004-06-12 Robert Olsson <Robert.Olsson at data.slu.se>
1093
1094 * Added IRDP support.
1095
hasso3e31cde2004-05-18 11:58:59 +000010962004-05-18 Hasso Tepper <hasso@estpak.ee>
1097
1098 * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd
1099 prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of
1100 "ipv6 nd prefix" command to allow various combinations of parameters
1101 and flags. No defaults in configuration. Replaced on-link and
1102 autoconfig with off-link and no-autoconfig flags in command syntax.
1103 Cosmetic fixes in all commands. Documentation to reflect all changes.
1104
paul19877dd2004-05-11 10:49:35 +000011052004-05-11 Paul Jakma <paul@dishone.st>
1106
1107 * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
paul48a46fa2004-05-11 10:55:22 +00001108 * if_ioctl_solaris.c: Fixup some erroneous privilege changes and
1109 add privs.h header.
1110 * ioctl_solaris.c: ditto
paulc50ae8b2004-05-11 11:31:07 +00001111 * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6
1112 * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while
1113 RHS in assignments :)
1114 * redistribute.c: (zebra_interface_delete_update) only used
1115 if RTM_IFANNOUNCE and NETLINK is available.
1116
paulb9df2d22004-05-09 09:09:59 +000011172004-05-09 Paul Jakma <paul@dishone.st>
1118
1119 * zserv.c: (zsend_route_multipath) Set the nexthop_num
1120 field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6.
1121 Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds.
1122 (zsend_ipv4_add) cruft, deleted.
1123 (zsend_ipv4_delete) ditto.
1124 (zsend_ipv6_add) ditto.
1125 (zsend_ipv6_delete) ditto.
paul44145db2004-05-09 11:00:23 +00001126 * ioctl.c: (if_get_mtu) set mtu6 to mtu
1127 * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
1128 * rt_netlink.c: (netlink_interface) set mtu6 to mtu
1129 (netlink_link_change) ditto
paul66e94882004-05-09 17:19:24 +00001130 * ipforward_solaris.c: fix typo of ND variable.
paul88424682004-05-09 18:21:35 +00001131 * if_ioctl_solaris.c: Add zprivs support.
1132 * ioctl_solaris.c: ditto.
paul66e94882004-05-09 17:19:24 +00001133
paulb9df2d22004-05-09 09:09:59 +000011342004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
1135
1136 * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed
1137 into single zsend_route_multipath function.
1138 (zsend_interface_{up,down}) collapsed into zsend_interface_update.
1139 (zsend_interface_address_{add,delete}) collapsed into
1140 zsend_interface_address.
1141 (zsend_interface_add) send mtu6.
1142 (zsend_interface_delete) ditto.
1143 (zebra_write) remove unused function.
1144 (various) Apply static qualifier. Add comments.
1145 * zserv.h: Definitions changed as per above.
1146 * redistribute.c: Changes as per zserv.c.
paul44145db2004-05-09 11:00:23 +00001147 * interface.c: (if_delete_update) only used with HAVE_NETLINK
1148 and RTM_IFANNOUNCE.
1149 (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
1150 (if_dump_vty) print mtu6 if not same as mtu
paul88424682004-05-09 18:21:35 +00001151 * if_ioctl_solaris.c: New file, Solaris interface ioctl methods.
1152 * ioctl_solaris.c: New file, Common solaris ioctl methods.
1153
hasso34195bf2004-04-06 12:07:06 +000011542004-04-06 Krzysztof Oledzki <oleq@ans.pl>
1155
1156 * rt_netlink.c: Do not ignore metric when reading kernel routing
1157 table on Linux with rt_netlink interface.
1158
11592004-03-18 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001160
1161 * interface.c: Temporary fix for handling secondary addresses
1162 with label.
1163
hasso55906722004-02-11 22:42:16 +000011642004-02-12 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001165
hasso55906722004-02-11 22:42:16 +00001166 * zserv.c: Added "ipv6 forwarding" command.
1167
gdtb27900b2004-01-08 15:44:29 +000011682004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
1169
1170 * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
1171 for reading kernel messages to ensure enough space (necessary on
1172 Solaris due to sockaddr_dl being large). Thanks to Sowmini
1173 Varadhan for help with this change.
1174
gdt9ccabd12004-01-06 18:23:02 +000011752004-01-06 Greg Troxel <gdt@t1.ir.bbn.com>
1176
1177 * rtadv.c (rtadv_send_packet): Change perror to zlog_err.
1178
gdtdbee01f2004-01-06 00:36:51 +000011792004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdt4bfbea82004-01-06 01:13:05 +00001180 * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
1181 to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
1182 to just the accomodation of broken kernels. Check sockaddr_dl
1183 carefully up front, and later assume any non-NULL sdl pointer is
1184 valid. Clean up types and variable declarations, and rename
1185 WRAPUP to SAROUNDUP to make the name fit the behavior.
1186
11872004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdtdbee01f2004-01-06 00:36:51 +00001188
1189 * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
1190 structure, because on Solaris sockaddr_dl is far larger than the
1191 base sockaddr structure. (The code had previously been failing to
1192 read all the data.)
gdt4bfbea82004-01-06 01:13:05 +00001193
gdtda26e3b2004-01-05 17:20:59 +000011942004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
1195
1196 * kernel_socket.c (kernel_read): Look up interfaces by index
1197 first, so that state changes which do not include a sockaddr_dl
1198 now work. Add many sanity checks. In
1199 particular, do not assume that a sockaddr_dl follows a message
1200 without checking the ifm_addrs flags, and do not trust the length
1201 in a sockaddr_dl. Add/clarify many comments.
1202
gdt4b5e1352003-12-03 17:54:34 +000012032003-12-03 Greg Troxel <gdt@poblano.ir.bbn.com>
1204
1205 * rtadv.c: reorder includes to avoid compiler warning (define
1206 structs before using them in prototypes)
1207
hasso647e4f12003-05-25 11:43:52 +000012082003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>
1209
1210 * zserv.c: Add "ip forwarding" command.
1211
paul445f1432003-05-16 19:00:31 +000012122003-05-16 Gilad Arnold <gilad.arnold@terayon.com>
1213
1214 * zebra_rib.c: Fix memory leaks for ifname nexthops
1215
12162003-04-19 Israel Keys <ikeys@agile.tv>
1217
1218 * rt_netlink.c: BLOCK on netlink while initialising
1219
12202003-02-06 Francois Deppierraz <francois@ctrlaltdel.ch>
1221
1222 * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
1223 it exists.
1224
paul718e3742002-12-13 20:15:29 +000012252002-09-28 Akihiro Mizutani <mizutani@net-chef.net>
1226
1227 * zebra_rib.c (static_add_ipv4): Null0 static route is added.
1228
12292002-09-10 Jochen Friedrich <chris+zebra@scram.de>
1230
1231 * rt_netlink.c: Add check for EAGAIN.
1232 * kernel_socket.c: Likewise
1233
12342002-06-12 Israel Keys <ikeys@oz.agile.tv>
1235
1236 * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
1237 message so that we get an ACK for successful netlink commands.
1238 Change the netlink socket to BLOCKING while we wait for a
1239 response; be it an ACK or an NLMSG_ERROR. Change
1240 netlink_parse_info to deal with ACK messages.
1241
12422001-11-01 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1243
1244 * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
1245 work for ICMPv6 socket.
1246
12472001-10-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1248
1249 * rib.c (rib_process): Select connected route any case.
1250
12512001-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1252
1253 * interface.c (no_ip_address_secondary): Add "no" to command.
1254
12552001-10-18 NOGUCHI Kay <kay@v6.access.co.jp>
1256
1257 * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
1258 to infinity as the freebsd4.4 workaroud.
1259
12602001-08-26 mihail.balikov@interbgc.com
1261
1262 * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
1263 A.B.C.255.
1264
12652001-08-22 NOGUCHI Kay <kay@v6.access.co.jp>
1266
1267 * rtadv.c: Do not send RA to loopback interface.
1268
12692001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1270
1271 * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
1272 route treatment.
1273
12742001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1275
1276 * zebra-0.92a released.
1277
12782001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1279
1280 * rib.c: Kernel route is treated as EGP routes in nexthop active
1281 check.
1282
12832001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1284
1285 * zebra-0.92 released.
1286
12872001-08-08 "Akihiro Mizutani" <mizutani@dml.com>
1288
1289 * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
1290 show route commands.
1291
12922001-07-29 Yon Uriarte <havanna_moon@gmx.net>
1293
1294 * zserv.c (zsend_ipv4_add_multipath): Add
1295 NEXTHOP_TYPE_IPV4_IFINDEX check.
1296
12972001-07-29 NOGUCHI Kay <kay@v6.access.co.jp>
1298
1299 * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
1300 autonomous address-configuration flag patch.
1301 (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
1302 suppress-ra".
1303
13042001-07-24 NOGUCHI Kay <kay@v6.access.co.jp>
1305
1306 * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
1307 command.
1308
13092001-07-24 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1310
1311 * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
1312 multicast FIB support both IPv4 and IPv6.
1313
13142001-07-24 Hal Snyder <hal@vailsys.com>
1315
1316 * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
1317 full list of interfaces on some configurations of OpenBSD.
1318
13192001-07-23 NOGUCHI Kay <kay@v6.access.co.jp>
1320
1321 * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
1322 send-ra" bug.
1323 (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
1324 availability.
1325 (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
1326 added.
1327 (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
1328
13292001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1330
1331 * ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
1332
1333 * rt_ioctl.c: Likewise.
1334
13352001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1336
1337 * kernel_socket.c (rtm_write): Only set RTF_CLONING when the
1338 interface is not p2p.
1339
13402001-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1341
1342 * ioctl.c (if_prefix_add_ipv6): Fix argument type.
1343
13442001-04-06 Toshiaki Takada <takada@zebra.org>
1345
1346 * zserv.c (zsend_interface_delete): Use client->obuf instead of
1347 allocating new stream.
1348
13492001-03-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1350
1351 * rt_netlink.c: Revert RTPROT_BOOT change.
1352
13532001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1354
1355 * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
1356 (netlink_routing_table): Likewise.
1357
13582001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1359
1360 * zserv.c (zsend_ipv4_add_multipath): Send metric value to
1361 protocol daemons.
1362
13632001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1364
1365 * rt_netlink.c (netlink_routing_table): Do not return
1366 tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe"
1367 <mokeefe@qualcomm.com>.
1368
13692001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1370
1371 * if_ioctl.c (interface_list_ioctl): Call if_add_update().
1372 Suggested by: Chris Dunlop <chris@onthe.net.au>.
1373
13742001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1375
1376 * rib.c (nexthop_active_ipv4): When nexthop type is
1377 NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
1378
1379 * zserv.c: Initialize rtm_table_default with 0.
1380
1381 * zebra-0.91 is released.
1382
13832001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1384
1385 * kernel_socket.c (rtm_read): Filter cloned route. Suggested by:
1386 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1387
13882001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1389
1390 * connected.c (connected_up_ipv6): When point-to-point destination
1391 address is ::, use local address for connected network.
1392 (connected_down_ipv6): Likewise.
1393
13942001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1395
1396 * zserv.c (zebra_serv): Add missing close() call. Reported by:
1397 David Waitzman <djw@vineyard.net>.
1398
13992001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1400
1401 * rib.c (rib_lookup_ipv4): New function for checking exact match
1402 IGP route.
1403
14042001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1405
1406 * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
1407 route-type".
1408
14092001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1410
1411 * interface.c (zebra_interface): Do not call
1412 zebra_interface_add_update for inactive interface.
1413
1414 * zserv.c (zsend_interface_address_add): Send interface address
1415 flag.
1416 (zsend_interface_address_delete): Likewise.
1417
14182001-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1419
1420 * interface.c (if_addr_add): Add flags.
1421
1422 * connected.c (ifa_add_ipv4): Add new function for interface
1423 address handling.
1424 (ifa_delete_ipv4): Likewise.
1425
14262001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1427
1428 * rib.c (rib_update): Update IPv6 RIB.
1429
1430 * kernel_socket.c (ifam_read): Call if_refresh() for update
1431 interface flag status. This is for implicit interface up on *BSD.
1432
1433 * interface.c (if_refresh): Add interface flag refresh function.
1434
1435 * kernel_socket.c (rtm_read): Fetch link-local address interface
1436 index.
1437 (ifan_read): We need to fetch interface information. Suggested
1438 by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
1439
1440 * rib.c (static_ipv6_nexthop_same): Add check for
1441 NEXTHOP_TYPE_IPV6_IFNAME.
1442
14432001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1444
1445 * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are
1446 taken into place.
1447
14482001-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1449
1450 * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
1451 configuration.
1452 (rib_delete_ipv6): Handle same route conter for IPv6 connected
1453 route.
1454 (show_ipv6_route_protocol): New command.
1455 (show_ipv6_route_addr): Likewise.
1456 (show_ipv6_route_prefix): Likewise.
1457 (rib_update): Sweep kernel route when it is cleaned up.
1458
1459 * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
1460 treatmenet.
1461
1462 * rt_netlink.c (kernel_init): Likewise.
1463
1464 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
1465
1466 * rib.c (rib_add_ipv4): Cope with same connected route on a
1467 interface. Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
1468 (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
1469
1470 * rib.h (struct new_rib): Add refcnt to keep track on the
1471 reference of same connected route.
1472
1473 * ioctl.c (if_set_prefix): Add check for GNU_LINUX.
1474
14752001-01-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1476
1477 * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
1478 (rtm_type_str): Add RTM_IFANNOUNCE check.
1479 (ifan_read): New function.
1480 (kernel_read): Add case for RTM_IFANNOUNCE.
1481
14822001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1483
1484 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
1485
1486 * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
1487 treatment.
1488
1489 * connected.c (connected_up_ipv6): Add dest value check.
1490
1491 * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
1492 ifindex.
1493 (rib_add_ipv4): Import rib_add_ipv6() same route check code.
1494 (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
1495 checked by ifindex.
1496
1497 * rt_socket.c (kernel_rtm_ipv6_multipath): New function.
1498
1499 * redistribute.c (redistribute_add): Use
1500 zsend_ipv6_add_multipath().
1501 (redistribute_delete_multipath): Use
1502 zsend_ipv6_delete_multipath().
1503
1504 * interface.c (ip_address): Check current IP address to avoid
1505 duplicate.
1506
1507 * rib.c (rib_delete_ipv4): When deleted route is connected route,
1508 check ifindex.
1509 (rib_add_ipv4): When connected route is added do not perform
1510 implicit withdraw.
1511 (rib_delete_ipv4): Check ifindex for connected route.
1512
1513 * kernel_socket.c (rtm_read): When route has RTF_STATIC, set
1514 ZEBRA_FLAG_STATIC for indicate as persistent route.
1515 (ifam_read): Unset interface index from link-local address when
1516 IPv6 stack is KAME.
1517
1518 * rib.c (rib_update): Do not delete persistent kernel route.
1519
1520 * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
1521
1522 * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
1523 (kernel_delete_ipv6_multipath): Likewise.
1524
1525 * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
1526
15272001-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1528
1529 * rib.c (rib_update): Revert Matthew Grant's patch
1530 zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel
1531 interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
1532 that. Add support for address deletion situation.
1533
15342001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1535
1536 * interface.c: Remove HAVE_IF_PSEUDO part.
1537
1538 * rib.h: Likewise.
1539
1540 * rt_netlink.c (netlink_link_change): Likewise.
1541
15422001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1543
1544 * zserv.c: Remove OLD_RIB codes.
1545
15462001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1547
1548 * zebra-0.90 is released.
1549
15502001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1551
1552 * interface.c (if_new_intern_ifindex): Allocate a new internal
1553 interface index.
1554 (if_addr_refresh): Fix up ip addresses configured via zebra.
1555 (if_add_update): Handle an interface addition.
1556 (if_delete_update): Handle an interface delete event.
1557
1558 * rib.c (nexthop_ipv4_add): Add kernel route deletion process when
1559 interface goes down.
1560
15612001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1562
1563 * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
1564 NetBSD also use this function. Suggested by Jasper Wallace
1565 <jasper@ivision.co.uk>.
1566
15672001-01-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1568
1569 * rib.c (nexthop_active_ipv4): Move back to set methodo to old
1570 one.
1571
15722001-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1573
1574 * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
1575 flag, so treat it.
1576
15772001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1578
1579 * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
1580 sent from netlink_cmd, the same message comes from netlink. To
1581 avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
1582 instead of netlink_cmd.sock.
1583
15842001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1585
1586 * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
1587 Change "/tmp/zserv" to "/tmp/.zserv".
1588
15892000-12-29 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1590
1591 * rt_netlink.c (struct nlsock): Divide kernel message into listen
1592 socket and command socket.
1593 (netlink_talk): Remove socket listen code. Use netlink_parse_info
1594 for read kernel response.
1595
15962000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1597
1598 * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
1599 routes.
1600
16012000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1602
1603 * rt_netlink.c (netlink_route_multipath): Metric value is
1604 reflected to kernel routing table.
1605
1606 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
1607
1608 * kernel_socket.c (rtm_write): Likewise.
1609
1610 * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
1611 nexthop lookup.
1612
1613 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
1614 new RIB implementation.
1615
16162000-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1617
1618 * rib.h: Remove MULTIPATH_NUM. It is defined by configure script.
1619
16202000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1621
1622 * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
1623 proper redistribution.
1624
16252000-12-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1626
1627 * rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
1628 (show_ip_route_protocol): Support new RIB.
1629
1630 * rt_netlink.c (netlink_route_change): Do not return when gate is
1631 NULL.
1632
16332000-12-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1634
1635 * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
1636 updated.
1637 (rib_add_ipv4): Free implicit withdraw route's RIB.
1638
16392000-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1640
1641 * rib.c (nexthop_active_ipv4): Check indirect nexthop.
1642
1643 * redistribute.c (redistribute_add_multipath): Redistribution
1644 works with new rib code.
1645
16462000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1647
1648 * rt_netlink.c (netlink_route_multipath): Check useful nexthop
1649 number.
1650 (netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
1651
1652 * rib.c (nexthop_active_update): Set flag for the rib's nexthop
1653 activity is changed.
1654 (nexthop_active_check): Before checking interface is up, make it
1655 sure the interface exist.
1656
16572000-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1658
1659 * rib.c (ip_route): New RIB prototype.
1660
16612000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1662
1663 * zserv.c (zsend_interface_add): Send hardware address when
1664 hw_addr_len is greater than 0.
1665
16662000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1667
1668 * connected.c (connected_up_ipv4): Fix ptop bug. The destination
1669 network should be installed into routing table.
1670 (connected_down_ipv4): Likewise.
1671 (connected_add_ipv4): Change to use connected_up_ipv4.
1672 (connected_delete_ipv4): Likewise.
1673
16742000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1675
1676 * rt_netlink.c (netlink_interface_addr): Revert Harald Welte
1677 <laforge@gnumonks.org>'s ptop patch then back to original code to
1678 avoid duplicated connected route problem. Suggested by Frank van
1679 Maarseveen <F.vanMaarseveen@inter.NL.net>.
1680
1681 * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
1682 DEBUG is defined. Reported by Jun-ichiro itojun Hagino
1683 <itojun@iijlab.net>.
1684
16852000-10-23 Jochen Friedrich <jochen@scram.de>
1686
1687 * main.c (main): Call zebra_snmp_init() when it is enabled.
1688
16892000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1690
1691 * zserv.c (zebra_serv_un): UNIX domain socket server of zebra
1692 protocol.
1693
16942000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1695
1696 * rib.c (rib_add_ipv4): Same check bug is fixed.
1697
16982000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1699
1700 * rib.c (rib_if_down): Remove kernel route when the interface goes
1701 down.
1702
1703 * debug.c: New command "debug zebra kernel" is added.
1704
17052000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1706
1707 * zebra-0.89 is released.
1708
17092000-09-24 Harald Welte <laforge@gnumonks.org>
1710
1711 * rt_netlink.c (netlink_interface_addr): Fix point-to-point address
1712 treatment in netlink interface.
1713
17142000-09-21 David Lipovkov <dlipovkov@OpticalAccess.com>
1715
1716 * rib.c (rib_if_down): Pull static route only. Protocol daemon
1717 must withdraw routes when interface goes down.
1718 (rib_add_ipv4): Check nexthop when replace route.
1719
17202000-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1721
1722 * if_ioctl.c (if_getaddrs): New function for looking up
1723 interface's address by getifaddrs().
1724
17252000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1726
1727 * connected.c (connected_delete_ipv4): Add check for connected
1728 address is found or not.
1729 (connected_add_ipv6): Reflect IPv6 connected address change to
1730 protocol daemons.
1731 (connected_delete_ipv6): Likewise.
1732
17332000-09-07 David Lipovkov <davidl@nbase.co.il>
1734
1735 * rib.c (rib_delete_ipv4): Reverted the change from pseudo
1736 interface patch to original. Because ospfd deletes routes using
1737 zero ifindex.
1738
17392000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1740
1741 * zebra-0.88 is released.
1742
17432000-08-15 "Akihiro Mizutani" <mizutani@dml.com>
1744
1745 * rib.c (show_ip_route_protocol): Help string correction.
1746 (show_ip_route_prefix): Check prefix mask.
1747 (show_ip_route_vty_detail): Display distance and metric.
1748
17492000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1750
1751 * zserv.c (zsend_interface_add): Change ifindex store size from
1752 two octet to four.
1753 (zsend_interface_delete): Likewise.
1754 (zsend_interface_address_add): Likewise.
1755 (zsend_interface_address_delete): Likewise.
1756 (zsend_interface_up): Likewise.
1757 (zsend_interface_down): Likewise.
1758
17592000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1760
1761 * rib.c (rib_add_ipv4): Do not install distance 255 route.
1762
17632000-08-10 Toshiaki Takada <takada@zebra.org>
1764
1765 * interface.c (bandwidth_if), (no_bandwidth_if): Call
1766 zebra_interface_up_update () instead of using if_up() and if_down().
1767
17682000-08-07 "Akihiro Mizutani" <mizutani@dml.com>
1769
1770 * interface.c (bandwidth_if): Fix help string.
1771
17722000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1773
1774 * interface.c (if_dump_vty): Display bandwidth value.
1775 (bandwidth_if): New command "bandwidth <1-10000000>" is added.
1776 When interface is up, force protocol daemons to recalculate routes
1777 due to cost change.
1778 (no_bandwidth_if): Likewise.
1779 (if_config_write): Output bandwidth configuration.
1780
1781 * zserv.c (zsend_interface_add): Send bandwidth value.
1782 (zsend_interface_up): Likewise.
1783 (zsend_interface_down): Likewise.
1784
1785
17862000-08-07 Michael Rozhavsky <mike@nbase.co.il>
1787
1788 * rib.c (show_ip_route_protocol): "show ip route
1789 (bgp|connected|kernel|ospf|rip|static)" is added.
1790
17912000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1792
1793 * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
1794 nexthop is found.
1795 (rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
1796
17972000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1798
1799 * redistribute.c (redistribute_delete): Fix bug of default route
1800 redistribute treatment.
1801
18022000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1803
1804 * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
1805 Change default distance value.
1806
1807 Old New
1808 ------------------------------------------
1809 system 10 0
1810 kernel 20 0
1811 connected 30 0
1812 static 40 1
1813 rip 50 120
1814 ripng 50 120
1815 ospf 60 110
1816 ospf6 49 110
1817 bgp 70 200(iBGP) 20(eBGP)
1818 ------------------------------------------
1819
1820 * zserv.c (client_lookup): Function removed.
1821 (zsend_interface_add): Use client's output buffer. Check ifinfo
1822 flag.
1823 (zsend_interface_delete): Likewise.
1824 Delete ipv4_static_radix and ipv6_static_radix.
1825
18262000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1827
1828 * zserv.h (struct zebra_client): When client request interface
1829 information, ifinfo is set.
1830
1831 * rib.c: Temporary Revert changes for pseudo interface.
1832
1833 * rib.h: Likewise.
1834
1835 * zserv.c: Likewise.
1836
1837 * interface.c: Likewise.
1838
18392000-08-02 David Lipovkov <davidl@nbase.co.il>
1840
1841 * interface.c (zebra_if_init): Install interface "pseudo"
1842 commands.
1843
1844 * rib.c (rib_create): ifname argument is added.
1845 (rib_add_ipv4_pseudo): New function is added.
1846 (rib_delete_ipv4_pseudo): Likewise.
1847
1848 * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for
1849 pseudo interface functions.
1850
1851 * rt_netlink.c (netlink_link_change): Check for pseudo interface.
1852
1853 * zserv.c (ip_route): When destination is pseudo interface, call
1854 rib_add_ipv4_pseudo().
1855
1856 * zserv.c (no_ip_route): Trim "unknown" argument.
1857
18582000-07-26 kunitake@dti.ad.jp
1859
1860 * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
1861 to 6.
1862
1863 * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
1864
18652000-07-24 Akihiro Mizutani <mizutani@dml.com>
1866
1867 * interface.c: Use install_default() for common VTY commands.
1868
18692000-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1870
1871 * if_ioctl.c (interface_list_ioctl): A interface list size is
1872 calculated from ifreq->if_addr.sa_len. This is for OpenBSD.
1873
1874 * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
1875
18762000-07-09 Chris Dunlop <chris@onthe.net.au>
1877
1878 * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
1879
18802000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1881
1882 * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
1883 message handling.
1884
18852000-07-02 David Lipovkov <davidl@nbase.co.il>
1886
1887 * zserv.c: "ip route A.B.C.D/M unknown" command is added.
1888
18892000-06-28 Michael Rozhavsky <mike@nbase.co.il>
1890
1891 * rib.c: Remove old kernel route when new route comes in.
1892
18932000-06-13 David Lipovkov <davidl@nbase.co.il>
1894
1895 * rib.c (rib_if_up): Add check for unknown interface.
1896
18972000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1898
1899 * rib.h: Define INTERFACE_UNKNOWN.
1900
19012000-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1902
1903 * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
1904 finished.
1905
19062000-06-05 David Lipovkov <davidl@nbase.co.il>
1907
1908 * interface.c (if_zebra_delete_hook): Call rib_if_delete().
1909
1910 * redistribute.c (zebra_interface_delete_update): New function.
1911
1912 * redistribute.h (zebra_interface_delete_update): New function
1913 prototype.
1914
1915 * rib.c (rib_if_delete): New function. Walk down all routes and
1916 delete all on the interface.
1917
1918 * rib.h: New function prototype.
1919
1920 * rt_netlink.c (netlink_link_change): Call
1921 zebra_interface_delete_update ().
1922
19232000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1924
1925 * if_ioctl.c (interface_info_ioctl): Check interface's flag before
1926 checking interface's address.
1927
19282000-04-26 Jochen Friedrich <jochen@nwe.de>
1929
1930 * GNOME-PRODUCT-ZEBRA-MIB: New file.
1931
1932 * GNOME-SMI: New file.
1933
19342000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1935
1936 * irdp.c: New file from 1997 development code.
1937 * irdp.h: Likewise.
1938
19392000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1940
1941 * rtadv.c (rtadv_send_packet): Enclose router advertisement
1942 logging with IS_ZEBRA_DEBUG_PACKET.
1943
19442000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1945
1946 * zserv.c (zebra_client_close): Remove client structure from
1947 client_list when connection is terminated.
1948
19492000-03-21 David Lipovkov <davidl@nbase.co.il>
1950
1951 * connected.c (connected_add_ipv4): Allows all necessary structure
1952 updates for connected route, but doesn't insert it into rib if
1953 it's interface is down.
1954
19552000-01-21 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1956
1957 * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
1958 2.5.1.
1959
19602000-01-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1961
1962 * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
1963 from str2prefix_ipv6().
1964
19652000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1966
1967 * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
1968 IPv6 with /128 routes.
1969 (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
1970 should have mask for cloning.
1971
19721999-12-26 Jochen.Friedrich@genorz.de
1973
1974 * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
1975
19761999-12-23 Alex Zinin <zinin@amt.ru>
1977 * interface.*: dynamic int up/down support
1978
19791999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1980
1981 * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
1982
1983 * rtread_proc.c (proc_route_read): Don't use dropline().
1984
19851999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1986
1987 * kernel_socket.c (rtm_read): When message is RTM_GET, it has own
1988 process's pid.
1989
19901999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1991
1992 * main.c (main): Change to default log output to ZLOG_STDOUT.
1993
1994 * zserv.c (zebra_serv): More detailed error print.
1995
19961999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1997
1998 * kernel_socket.c (rtm_read): Check old pid for static route
1999 insertion check.
2000
20011999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2002
2003 * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
2004 statistics counter.
2005
2006 * mtu_kvm.c: New file added.
2007
20081999-11-27 Vladimir B. Grebenschikov <vova@express.ru>
2009
2010 * kernel_socket.c (rtm_write): Set RTF_CLONING flag for
2011 route to the directly connected interface.
2012
20131999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2014
2015 * rt_socket.c: Delete USE_HOST_BIT definition.
2016
20171999-11-21 Michael Handler <handler@sub-rosa.com>
2018
2019 * rtread_getmsg.c: Undef some definition to resolve conflict.
2020
20211999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2022
2023 * kernel_socket.c (rtm_write): Change to use pre stored struct_dl
2024 value for gateway specification.
2025
20261999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2027
2028 * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
2029 128 under IPv6, don't use RTF_HOST.
2030
20311999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2032
2033 * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
2034
20351999-11-21 Michael Handler <handler@sub-rosa.com>
2036
2037 * rtread_getmsg.c: Added for Solaris 2.6 support.
2038
20391999-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2040
2041 * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
2042
2043 * rt_socket.c (kernel_read): Better BSD routing socket support.
2044
20451999-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2046
2047 * client_main.c: Disable making obsolete zebra test `client'
2048 command.
2049
20501999-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2051
2052 * zebra.c: Renamed to zserv.c.
2053
2054 * zebra.h: Global definitions are moved to lib/zebra.h. Then
2055 renamed to zserv.h.
2056
20571999-10-15 Jordan Mendelson <jordy@wserv.com>
2058
2059 * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
2060 interface. Remove ugly MAX_INTERFACE handling codes.
2061
20621999-09-17 Satosi KOBAYASI <kobayasi@north.ad.jp>
2063
2064 * Fix serious bug of IPv6 route deletion.
2065
20661999-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2067
2068 * ioctl.c (if_set_prefix): Properly set broadcast address.
2069
20701999-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2071
2072 * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
2073 can install connected route to kernel via zebra
2074
20751999-08-24 VOP <vop@unity.net>
2076
2077 * rib.c: Include "sockunion.h"
2078
20791999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2080
2081 * ipforward.h: New file.
2082
2083 * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
2084 ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
2085
20861999-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2087
2088 * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
2089 ZEBRA_INTERFACE_{ADD,DELETE} added.
2090
20911999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2092
2093 * rib.c: show ip route A.B.C.D works.
2094
2095 * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
2096
20971999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2098
2099 * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
2100
21011999-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2102
2103 * interface.h: New file.
2104 * Makefile.am: Add interface.h
2105
21061999-08-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2107
2108 * redistribute.c (zebra_redistribute): give ifindex to client.
2109
21101999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2111
2112 * main.c (longopts): -k, --keep_kernel option added.
2113
21141999-07-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2115
2116 * rt_socket.c (rtm_write): forgot closing socket bug fixed.
2117
21181999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2119
2120 * rib.c (show_ipv6_cmd): if rib is link show interface name.
2121
21221999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2123
2124 * rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
2125
21261999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2127
2128 * rt_socket.c (rtm_write): ipv6 route table bug fixed.
2129
21301999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2131
2132 * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
2133
21341999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2135
2136 * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
2137
21381999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2139
2140 * if_sysctl.c (ifm_read): Clear sockunion argument before fetching
2141 data. Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
2142
21431999-07-08 HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
2144
2145 * interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
2146
21471999-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2148
2149 * zebra.c (zebra_serv): Only accept loopback address connection.
2150
21511999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2152
2153 * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
2154
21551999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2156
2157 * ipforward_proc.c: ipforward_on () and ipforward_off () added.
2158
21591999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2160
2161 * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
2162 using /proc file system is added.
2163
21641999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2165
2166 * if_ioctl.c (if_get_index): Interface index set bug is fixed by
2167 adding #else at the middle of function. Suggested by David Luyer
2168 <luyer@ucs.uwa.edu.au>.
2169
21701999-05-29 <kunihiro@zebra.org>
2171
2172 * rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
2173
21741999-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2175
2176 * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
2177 the sort of routes.
2178
21791999-05-25 Patrick Koppen <koppen@rhrk.uni-kl.de>
2180
2181 * rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
2182 (netlink_parse_info): If errno is EWOULDBLOCK then continue to
2183 parse the message.
2184 (netlink_talk): Likewise
2185
21861999-05-17 <kunihiro@zebra.org>
2187
2188 * redistribute.c (zebra_check_addr): Added for loopback address
2189 check.
2190
21911999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2192
2193 * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
2194 change treatment.
2195
2196 * Makefile.am (noinst_HEADERS): redistribute.h added.
2197
2198 * redistribute.h: New file.
2199
22001999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2201
2202 * zebra.c (show_table): Show all table configuration DEFUN.
2203 (config_table): Config table number DEFUN.
2204
2205 * rt_netlink.c: Add support for multiple routing table.
2206
2207 * rib.c (rib_weed_table): New function added for delete all
2208 routes from specified routing table.
2209
2210 * main.c (signal_init): SIGTERM call sigint.
2211 (sigint): Loggging more better message.
2212
22131999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2214
2215 * rt_netlink.c: Change log () to zlog ().
2216
22171999-05-07 <kunihiro@zebra.org>
2218
2219 * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
2220
22211999-04-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2222
2223 * interface.c: Add `no ip address' command.
2224
22251999-04-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2226
2227 * rt_netlink.c (kernel_read): Function added for asynchronous
2228 zebra between kernel communication.
2229
22301999-03-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2231
2232 * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
2233 Reported by Achim Patzner <ap@bnc.net>.
2234
22351999-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2236
2237 * Makefile.am: Install configuration sample with 600 permission.
2238
22391999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2240
2241 * Makefile.am: Add -I.. to INCLUDES.
2242
22431999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2244
2245 * syslog support added
2246
22471999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
2248
2249 * if_sysctl.c (interface_list): allocated memory free when unknown
2250 ifm_type is returned.
2251
2252 * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
2253
22541998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2255
2256 * interface.c: Header include added.
2257
22581998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2259
2260 * rt.h (kernel_delete_ipv6): change int index to unsigned int index.
2261
22621998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2263
2264 * if_ioctl.c (interface_list_ioctl): interface flag must be
2265 checked before check addresses of the interface.
2266
22671998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2268
2269 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
2270
22711998-10-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2272
2273 * ioctl.c: Linux version before 2.1.0 need interface route setup.
2274
22751998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
2276
2277 * change HYDRANGEA to KAME
2278
22791998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2280
2281 * if_ioctl.c (if_addr_ioctl): set address family for getting
2282 interface's address.
2283 (if_get_index): silently return when can't get interface's index.
2284
22851998-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2286
2287 * main.c (main): batch mode option '-b' added.
2288
22891998-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2290
2291 * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
2292 * interface.c (shutdown_if): add interface shutdown and no
2293 shutdown command.
2294
22951998-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2296
2297 * rib.c (rib_add_ipv6): delete rib_add_in6.
2298
22991998-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2300
2301 * main.c: retain flag is added.
2302
23031998-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2304
2305 * rtable.[ch]: merged with rib.[ch]
2306
23071998-07-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2308
2309 * connected.h: renamed from ifa.h.
2310
23111998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2312
2313 * rename if.c to interface.c
2314 * rename ifa.c to connected.c
2315
2316 * Porting to Debian GNU/Linux 2.0 (hamm).
2317
23181998-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2319
2320 * rt_netlink.c: renamed from krt_netlink.c
2321
2322 * fib.c: deleted.
2323 * rt_kvm.c: deleted.
2324 * rtread_getmsg.c: deleted.
2325
23261998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2327
2328 * if.c (multicast): add multicast flag [un]set fucntion.
2329
23301998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2331
2332 * rt_socket.c: Modify for compile on Solaris, but dont't work it.
2333 rt_socket.c have some undefined function, so add directive "IMPLEMENT"
2334
23351998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2336
2337 * zebra.c: Modify for compile on Solaris.
2338
23391998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2340
2341 * main.c: change CONFDIR to SYSCONFDIR.
2342
23431998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2344
2345 * .cvsignore: added.
2346
23471998-04-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2348
2349 * client.c: moves to ../lib.
2350
23511998-03-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2352
2353 * if_ioctl.c (if_get_addr): Change address copy from memcopy() to
2354 structure assignment.
2355
23561998-03-30 URA Hiroshi <ura@yamato.ibm.co.jp>
2357
2358 * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
2359
23601998-02-23 "Hannes R. Boehm" <hannes@boehm.org>
2361
2362 * if.c (if_init): add config_exit_cmd and config_help_cmd.
2363
23641998-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2365
2366 * rt_ioctl.c (route_ioctl): EPERM treatment added.
2367
23681998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2369
2370 * rt_socket.c (kernel_read): communication port zebra between
2371 kernel is now handled by kernel_read.
2372
23731998-01-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2374
2375 * main.c (main): zebra [-P port] can specify vty port number.
2376
23771997-12-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2378
2379 * zebra.c: change select will be block.
2380
23811997-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2382
2383 * add static route treatment.
2384
23851997-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2386
2387 * rt_netlink.c: add netlink support over GNU/Linux system.
2388
23891997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2390
2391 * all inet_addr is changed to inet_aton.
2392
2393 * zebra.c (ip_route): add ip route command for static routes.
2394
23951997-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2396
2397 * if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
2398
23991997-11-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2400
2401 * if.c: add interface command.
2402
24031997-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2404
2405 * ipforward_proc.c : Now works on Linux.
2406
24071997-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2408
2409 * command.c : add completion feature.
2410
24111997-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2412
2413 * vty.c (vty_command): add vty interface.
2414
24151997-10-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2416
2417 * zebra.c: add verbose mode.
2418
24191997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
2420
2421 * Hydrangea for FreeBSD supported
2422 * in.h: add some prototype.
2423
24241997-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2425
2426 * rt_socket.c and rtread.c completely rewritten.
2427
24281997-10-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2429
2430 * rt_socket.c: rename kernel_sock to routing_socket
2431
24321997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2433
2434 * if.c (if_new): interface structure change from linklist to vector.
2435
24361997-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2437
2438 * vector.c (vector_init): create vector related function
2439
24401997-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2441
2442 * Makefile.in: add tags target
2443
2444 * start IPv6 support for INRIA FreeBSD.
2445