blob: 602de50dbade429afe593ddd8d8efc38b5cd432b [file] [log] [blame]
Paul Jakma6dc686a2007-04-10 19:24:45 +000012007-04-07 Paul Jakma <paul.jakma@sun.com>
2
3 * redistribute.c: (zebra_check_addr) Don't redistribute routes
4 to IPv4 link-local prefixes, fixes bug #351.
5 * redistribute.h: Export zebra_check_addr.
6 * router-id.c: (router_id_bad_address) re-use zebra_check_addr
7 rather than implementing similar logic.
8
Paul Jakma65022082007-03-06 13:43:05 +000092007-03-06 Paul Jakma <paul.jakma@sun.com>
10
11 * kernel_socket.c: (ifam_read) Do not update interface metric on
12 receipt of NEW/DEL ADDR messages, bogus as: a) some systems
13 dont include iface metric for address events b) we didn't
14 update clients either. Initial diagnosis by Eugene Grosbein.
15
Paul Jakmaff1dd552007-02-26 17:11:45 +0000162007-02-26 Robert Olsson <Robert.Olsson@data.slu.se>
17
18 * irdp_main.c: (irdp_send_thread) Skip non-AF_INET addresses,
19 i.e. do not try interpret IPv6 addresses as IPv4 addresses
20 to broadcast in IRDP announcements..
21
Andrew J. Schorrfb6724a2006-12-13 15:44:15 +0000222006-12-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
23
24 * if_ioctl_solaris.c: (if_get_addr) For IPv6, stop assuming
25 that all IFF_POINTOPOINT have prefixlen of IPV6_MAX_BITLEN.
26 Instead, always try the SIOCGLIFSUBNET ioctl; if that fails,
27 then we fall back to IPV6_MAX_BITLEN for PtP interfaces.
28
Andrew J. Schorre4529632006-12-12 19:18:21 +0000292006-12-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
30
31 * connected.c: (connected_up_ipv4, connected_down_ipv4,
32 connected_up_ipv6, connected_down_ipv6) Simplify logic using the
33 new CONNECTED_PREFIX macro.
34 (connected_add_ipv4) Set prefixlen in destination addresses (required
35 by the CONNECTED_PREFIX macro). Use CONNECTED_PEER macro instead
36 of testing for IFF_POINTOPOINT. Delete invalid warning message.
37 Warn about cases where the ZEBRA_IFA_PEER is set but no
38 destination address has been supplied (and turn off the flag).
39 (connected_add_ipv6) Add new flags argument so callers may set
40 the ZEBRA_IFA_PEER flag. If peer/broadcast address satisfies
41 IN6_IS_ADDR_UNSPECIFIED, then reject it with a warning.
42 Set prefixlen in destination address so CONNECTED_PREFIX will work.
43 * connected.h: (connected_add_ipv6) Add new flags argument so
44 callers may set the ZEBRA_IFA_PEER flag.
45 * interface.c: (connected_dump_vty) Use CONNECTED_PEER macro
46 to decide whether the destination address is a peer or broadcast
47 address (instead of checking IFF_BROADCAST and IFF_POINTOPOINT).
48 * if_ioctl.c: (if_getaddrs) Instead of setting a peer address
49 only when the IFF_POINTOPOINT is set, we now accept a peer
50 address whenever it is available and not the same as the local
51 address. Otherwise (no peer address assigned), we check
52 for a broadcast address (regardless of the IFF_BROADCAST flag).
53 And must now pass a flags value of ZEBRA_IFA_PEER to
54 connected_add_ipv4 when a peer address is assigned.
55 The same new logic is used with the IPv6 code as well (and we
56 pass the new flags argument to connected_add_ipv6).
57 (if_get_addr) Do not bother to check IFF_POINTOPOINT: just
58 issue the SIOCGIFDSTADDR ioctl and see if we get back
59 a peer address not matching the local address (and set
60 the ZEBRA_IFA_PEER in that case). If there's no peer address,
61 try to grab SIOCGIFBRDADDR regardless of whether IFF_BROADCAST is set.
62 * if_ioctl_solaris.c: (if_get_addr) Just try the SIOCGLIFDSTADDR ioctl
63 without bothering to check the IFF_POINTOPOINT flag. And if
64 no peer address was found, just try the SIOCGLIFBRDADDR ioctl
65 without checking the IFF_BROADCAST flag. Call connected_add_ipv4
66 and connected_add_ipv6 with appropriate flags.
67 * if_proc.c: (ifaddr_proc_ipv6) Must pass new flags argument to
68 connected_add_ipv6.
69 * kernel_socket.c: (ifam_read) Must pass new flags argument to
70 connected_add_ipv6.
71 * rt_netlink.c: (netlink_interface_addr) Copy logic from iproute2
72 to determine local and possible peer address (so there's no longer
73 a test for IFF_POINTOPOINT). Set ZEBRA_IFA_PEER flag appropriately.
74 Pass new flags argument to connected_add_ipv6.
75 (netlink_address) Test !CONNECTED_PEER instead of if_is_broadcast
76 to determine whether the connected destination address is a
77 broadcast address.
78
Paul Jakma3c0755d2006-12-08 00:53:14 +0000792006-12-08 Piotr Chytla <pch@packetconsulting.pl>
80
81 * zebra_rib.c: (static_install_ipv{4,6}) Case where existing
82 RIB is updated must explicitely rib_addqueue the route_node,
83 to ensure the update actually takes effect.
84
Greg Troxel9458b812006-09-13 12:13:08 +0000852006-09-13 Tom Everett <tom@khubla.com>
86
87 * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to
88 compile on systems that no longer define them.
89
Paul Jakmaf28b0e52006-08-06 15:57:59 +0000902006-08-06 Paul Jakma <paul.jakma@sun.com>
91
92 * interface.h: (ifstat_update_proc) declaration should match
93 ifstat_update_sysctl really, which is to not return status, as
94 such status is not used anywhere.
95 * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values
96 consistent with each other and their declarations, ie:
97 (void) (*) (void).
Paul Jakma66c454f2006-08-06 16:02:43 +000098 * rtadv.h: depends on interface.h, so should include it.
Paul Jakmaf28b0e52006-08-06 15:57:59 +000099
Paul Jakma7e4bcdc2006-08-04 06:14:13 +00001002006-08-04 Paul Jakma <paul.jakma@sun.com>
101
102 * misc_null.c: Add ifstat_update_sysctl, add another required
103 header.
104
Andrew J. Schorra6974fe2006-08-02 16:47:03 +00001052006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
106
107 * misc_null.c: Must include header files to get older versions of gcc
108 to process the #pragma statements properly.
109
Paul Jakma36943742006-08-04 06:18:04 +00001102006-08-01 Paul Jakma <paul.jakma@sun.com>
111
112 * irdp_main.c: (irdp_advertisement) free the stream here, when done,
113 right under where it was allocated so it's blindingly obvious
114 it's correct. This possibly fixes a very slow leak of streams in
115 zebra.
116 * irdp_packet.c: (send_packet) don't free the stream here as
117 it's hard to tell if right, plus an error case seemed to
118 returning before free anyway.
119
Paul Jakma457eb9a2006-07-27 19:59:58 +00001202006-07-27 Paul Jakma <paul.jakma@sun.com>
121
122 * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations,
123 useful for testing zebra code that calls such methods.
124 * {redistribute,misc}_null.c: Dummy/Null methods, as above. But
125 for zclient, and for various misc functions.
126 * test_main.c: Test harness for zebra, currently just to test the
127 RIB.
128 * Makefile.am: Build testzebra using above.
Paul Jakma6d691122006-07-27 21:49:00 +0000129 * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'.
130 * rib.h: (struct rib) Add a route_node rn_status flag field,
131 this has to be copied every time head RIB of a route_node
132 changes.
133 Remove the rib lock field, not needed - see below.
134 Add a status field for RIB-private flags.
Paul Jakma457eb9a2006-07-27 19:59:58 +0000135 * zebra_rib.c: Add a global for the workqueue hold time, useful
136 for testing.
Paul Jakma6d691122006-07-27 21:49:00 +0000137 (general) Fix for bug #268. Problem originally detailed by
138 Simon Bryden in [quagga-dev 4001].
139 Essentially, add/delete of a RIB must happen /before/ the
140 queue. Best-path selection (ie rib_process) and reaping of
141 freed RIBs can then be done after queueing. Only the route_node
142 is queued - no important RIB state (i.e. whether a RIB is to be
143 deleted) is queued.
144 (struct zebra_queue_node_t) Disappears, no longer need to
145 track multiple things on the queue, only the route_node.
146 (rib_{lock,unlock}) removed, RIBs no longer need to be
147 refcounted, no longer queued.
148 (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted
149 via the queue.
150 (rib_queue_add_qnode) deleted
151 (rib_queue_add) Only the route_node is queued for best-path
152 selection, we can check whether it is already queued or
153 not and avoid queueing same node twice - struct rib * argument
154 is not needed.
155 (rib_link/unlink) (un)link RIB from route_node.
156 (rib_{add,del}node) Front-end to updates of a RIB.
157 (rib_process) Reap any deleted RIBs via rib_unlink.
158 Unset the route_node 'QUEUED' flag.
159 (General) Remove calls to rib_queue_add where add/del node was
160 called - not needed, update calls where not.
161 Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes
Paul Jakma457eb9a2006-07-27 19:59:58 +0000162
Paul Jakma171eee32006-07-27 16:11:02 +00001632006-07-27 Rumen Svobodnikov <rumen@telecoms.bg>
164
165 * connected.c: (connected_up_ipv4) interface connected routes always
166 go to table main (or otherwise they cannot be used by linux as
167 nexthops)
168 * zserv.c: (zread_ipv4_add) send route to the correct routing table
169 * zebra_rib.c (static_install_ipv4) set routing table
170
Paul Jakma27b47252006-07-02 16:38:54 +00001712006-07-02 Paul Jakma <paul.jakma@sun.com>
172
173 * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not
174 proceed if addr is NULL.
175 * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check
176 required arguments are supplied for the given nexthop type.
177
Paul Jakma630c97c2006-06-15 12:48:17 +00001782006-06-15 Paul Jakma <paul.jakma@sun.com>
179
180 * interface.c: (if_flag_dump_vty) redundant code, remove.
181 (if_dump_vty) use libzebra if_flag_dump.
Paul Jakma74ecdc92006-06-15 18:10:47 +0000182 (ip_address_uninstall) Unset the configured flag.
183 * connected.c: (connected_same) new helper, check whether
184 two connected are same.
185 (connected_implicit_withdraw) new helper, consolidation of
186 existing code in connected_add_ipv{4,6}.
187 Try filter out unneeded Zserv address delete/adds when
188 address is exact same.
189 Where old address is implicitely removed, be sure to preserve
190 the IFC_CONFIGURED flag if set, fixes bug where configured
191 addresses were being lost on FreeBSD (Andrew Schorr).
Paul Jakma630c97c2006-06-15 12:48:17 +0000192
Andrew J. Schorr9c378512006-05-21 04:04:49 +00001932006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
194
195 * connected.c: (connected_withdraw) Do not delete the connected
196 address if the ZEBRA_IFC_CONFIGURED flag is set.
197 (connected_add_ipv4,connected_add_ipv6) Before calling
198 connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag
199 on the superseded connected structure.
200
Andrew J. Schorr0f38dc42006-05-19 13:53:23 +00002012006-05-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
202
203 * connected.c: (connected_add_ipv4,connected_add_ipv6) If the
204 new struct connected matches an already existing one
205 (that will consequently be removed by connected_withdraw),
206 then be sure to preserve the ZEBRA_IFC_CONFIGURED flag.
207
Andrew J. Schorr55196042006-05-17 15:04:59 +00002082006-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
209
210 * kernel_socket.c: (ifam_read_mesg) Improve debug message
211 to show the IP address.
212
Paul Jakma66859782006-05-15 17:00:37 +00002132006-05-15 Paul Jakma <paul.jakma@sun.com>
214
215 * zserv.c: (general) Remove the private zebra_command_str
216 in favour of newly added libzebra zserv_command_string.
217
Paul Jakmabeb56332006-05-11 13:28:05 +00002182006-05-11 Paul Jakma <paul.jakma@sun.com>
219
220 * interface.c: (if_delete_update) route_node_lookup may return
221 NULL, should fix Coverity CID #31.
222
Paul Jakmae6d7d052006-03-30 13:32:09 +00002232006-02-09 Paul Jakma <paul.jakma@sun.com>
224
225 * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid
226 needless padding.
227 (struct rib) Remove the indirect pointer, not used anywhere!
228
paul3a570c82006-02-02 17:27:13 +00002292006-02-02 Paul Jakma <paul.jakma@sun.com>
230
231 * interface.c: (if_dump_vty) move flags to their line, neater.
232
paula1038a12006-01-30 14:08:51 +00002332006-01-30 Paul Jakma <paul.jakma@sun.com>
234
235 * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
236 commit, last commit had a hole that could allow connected
237 route selection to escape beyond the connected route logic.
238 This time I cross-checked with Gunnar first. ;)
239
paula8d9c1f2006-01-25 06:31:04 +00002402006-01-25 Gunnar Stigen <gunnar.stigen@axxessit.no>
241
242 * zebra_rib.c: (rib_process) Application of Gunnar's earlier
243 metric selection RIB change included incorrect tidy-ups made
244 by commiter. Fix. (NB: any errors here are again due to paul).
245
paul5c78b3d2006-01-25 04:31:40 +00002462006-01-25 Paul Jakma <paul.jakma@sun.com>
247
248 * (general) More solaris PF_ROUTE hacks. The IFF_UP mangling
249 for solaris was incomplete on the PF_ROUTE side. fix it.
250 This changeset generally uglifies things. For some future
251 work I'd like to see the state changes seperated out from
252 the details of the code. Differences between systems might
253 then be slightly easier to implement without convoluted
254 hacks.
255 Changes should be specific to Solaris mostly, however
256 also tested on FreeBSD 6.
257 * if_ioctl_solaris.c: (interface_list_ioctl) ignore ~IFF_UP
258 interfaces, we'll hear about them when/if interface goes up
259 through NEWADDR.
260 Update flags explicitely at end of it to kick mangling.
261 * ioctl_solaris.c: (if_mangle_up) removed to interface.c, in
262 kind.
263 (lifreq_set_name) more convenient to take the string, than
264 the ifp.
265 (if_get_flags_direct) new convenience function, returns
266 the actual flags. Used during bootstrap in if_ioctl_solaris.c
267 to peek at flags of logical interfaces to see whether or
268 not to ignore them.
269 (if_get_flags) ENXIO means it's gone, poke out IFF_UP and
270 kick flags update.
271 (if_{un,}set_flags) flags argument should be 64bit.
272 * ioctl.{c,h}: flags argument should be 64bit.
273 * interface.h: Add a 'primary_state' flag to struct zebra_if on
274 SUNOS_5.
275 Export if_flags_update.
276 * interface.c: (if_flags_mangle) moved over in kind from
277 ioctl_solaris.c. Nasty kludge to try get IFF_UP right, as
278 much as is possible. Also keep track of the actual IFF_UP
279 value for the primary interface, so we can know when the ifp
280 must be deleted.
281 (if_flags_update) Take a new interface flags value, apply it
282 to the interface, and take whatever actions are required due
283 to flag transitions.
284 (if_refresh) flag state change logic is moved out to
285 previous. Just call if_get_flags, which will end up using
286 previous to effect the update of flags.
287 (if_flag_dump_vty) IFF_IPV{4,6} aren't interesting, VIRTUAL
288 and NOXMIT are though.
289 * kernel_socket.c: (ifm_read) Down->Down transitions shouldn't
290 create ifp, for non-IFANNOUNCE systems.
291 Use if_flags_update to update flags.
292 flag transition logic is now handled automatically through
293 if_flags_update.
294 (ifam_read) Better to call if_refresh *after* adding
295 connected addresses, as connected count affects IFF_UP on
296 IFF_UP-mangled systems.
297 On Solaris, Up->Down due to DELADDR means we need to delete
298 the ifp - the IFINFO might already have been and gone.
299 * rt.h: include other dependent headers.
300
paule8e19462006-01-19 20:16:55 +00003012006-01-19 Paul Jakma <paul.jakma@sun.com>
302
303 * (general) various miscellaneous compiler warning fixes.
304 Remove redundant break statements from switch clauses
305 which return.
306 Remove stray semi-colons which cause empty-statement
307 warnings.
308 * main.c: (sighup) remove private declaration of external
309 function.
310 (main) return from main, not exit, cause it annoys SOS.
311
paulaf887b52006-01-18 14:52:52 +00003122006-01-18 Gunnar Stigen <gunnar.stigen@axxessit.no>
313
314 * zebra_rib.c: Take interface metric into account.
315
pauld34b8992006-01-17 18:03:04 +00003162006-01-17 Paul Jakma <paul.jakma@sun.com>
317
318 * kernel_socket.c: (ifam_read) Read metric from RTM_NEWADDR.
319 If interface is an alias, pass the alias as a label for
320 connected_add_ipv{4,6}.
321 * rt_netlink.c: (netlink_interface_addr) print out
322 IFA_CACHEINFO info, if present, when debugging kernel
323 messages.
324
paulc7133002006-01-17 17:56:18 +00003252006-01-17 Gunnar Stigen <gunnar.stigen@axxessit.no>
326
327 * connected.c: (connected_up_ipv{4,6}) Include interface metric on
328 connected routes.
paul61f42ae2006-01-17 17:59:11 +0000329 * if_ioctl.c: (if_getaddrs) Be defensive about assuming
330 that struct ifaddrs will have ifa_addr filled in.
paulc7133002006-01-17 17:56:18 +0000331
paulc1b98002006-01-16 01:54:02 +00003322006-01-16 Paul Jakma <paul.jakma@sun.com>
333
334 * zserv.c: Read/write updated Zserv header.
335
paulc77d4542006-01-11 01:59:04 +00003362006-01-11 Paul Jakma <paul.jakma@sun.com>
337
338 * zserv.c: (zsend_interface_{add,delete,update}) if flags are
339 8 bytes now, update to write out with stream_putq.
340
gdt6083e1f2005-12-29 15:59:57 +00003412005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
342
gdte14b7fc2005-12-29 16:04:53 +0000343 * kernel_socket.c: remove dead code (from David Young).
344
gdt6083e1f2005-12-29 15:59:57 +0000345 * rt_socket.c (kernel_rtm_ipv4): Use AF_INET rather than AF_UNSPEC
346 for mask. From David Young.
347
paul89368d92005-11-26 09:14:07 +00003482005-11-26 Paul Jakma <paul.jakma@sun.com>
349
350 * connected.{c,h}: (connected_add_ipv6) label should have
351 const qualifier, fix declarations.
352
paulec1a4282005-11-24 15:15:17 +00003532005-11-24 Paul Jakma <paul.jakma@sun.com>
354
355 * kernel_socket.h: New header for functions exported to sysctl
356 methods.
357 * kernel_socket.c: include previous.
358 Remove static qualifier from couple of functions which are
359 used by sysctl methods.
360 Add a workaround for a bogus gcc warning to the RTA_ macros.
361 * Makefile.am: Add kernel_socket.h to noinst_HEADERS
362 * if_sysctl.c: include rt.h and kernel_socket.h and remove
363 redundant prototypes.
364 * rtread_sysctl.c: ditto.
365 (route_read) fix mismatch of return values.
366 * {rt,zserv,rib}.h: Include lib headers depended on.
367
paul6621ca82005-11-23 13:02:08 +00003682005-11-23 Paul Jakma <paul.jakma@sun.com>
369
370 * (general) fix some small compile errors, and mark several
371 functions as static.
372 * kernel_socket.c: (ifan_read) should be static.
373 fix missing brackets.
374 (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static
375 (ifam_read_mesg) make static. fix incorrect variable name.
376 (rtm_read) make static. Fix call to rib_delete_ipv4 which
377 should be rib_delete_ipv6.
378 (routing_socket,kernel_init) should be static. Void argument
379 should be specified as such, not left incomplete.
380 * rt_netlink.c: rt.h should be included, contains prototypes of
381 exported functions.
382 (kernel_delete_ipv6_old) fix sign of index argument.
383 * rt_socket.c: Exact same as previous. Also, make various
384 functions static.
385 * rtread_getmsg.c: Include zserv.h, which prototypes
386 route_read. Make static.
387 * rtread_sysctl.c: zserv.h and rt.h should be included.
388 fix definition of route_read.
389
paul0fb58d52005-11-14 14:31:49 +00003902005-11-14 Paul Jakma <paul.jakma@sun.com>
391
392 * zebra_rib.c: (rib_process) convert to new workqueue specs and
393 shut up gcc, which complains about cast from void via
394 function parameters, for some dumb reason. Do the cast
395 inside the function instead.
396 (rib_queue_qnode_del) ditto.
397 (rib_queue_init) no need for the casts anymore.
398
paul6fe70d12005-11-12 22:55:10 +00003992005-11-12 Alexander Gall <gall@switch.ch>
400
401 * See [quagga-dev 1815]
402 * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN
403 is not available.
404 * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to
405 AF_INET6 on ipv6 routes.
406
4072005-11-12 Paul Jakma <paul.jakma@sun.com>
408
409 * kernel_socket.c: Add RTA_NAME_GET macro to extract name from
410 sockaddr_dl. Add some more RTF_ flags.
411 * (ifan_read) Add some debug messages.
412 * (ifm_read) Add more debug messages. More robust cross-checks
413 of index against name.
414 Fall back to by-name lookup if the index lookup fails, future
415 proofing more than anything else.
416 (ifam_read_mesg) Read RTA_IFP. Add debug messages.
417 (ifam_read) More debug. If there's an RTA_IFP and it isn't
418 the name of the interface, save it as the label.
419 (rtm_read_mesg) Read RTA_IFP.
420 (rtm_read) allow name to be retrieved.
421 (rtmsg_debug) expand on the debug message.
422
paul0994c3a2005-11-11 09:52:40 +00004232005-11-11 Paul Jakma <paul.jakma@sun.com>
424
425 * kernel_socket.c: (ifm_read) arithmetic on void pointer
426 warning.
427 (ifam_read) Fix error from connected-with-label merge,
428 something crept in from the pending Solaris kernel_socket.c
429 patch which shouldn't have.
430
paul0752ef02005-11-03 12:35:21 +00004312005-11-03 Paul Jakma <paul.jakma@sun.com>
432
433 * connected.{c,h}: Include memory.h
434 (connected_add_ipv4) Use MTYPE for ifc label.
435 (connected_add_ipv6) Also should accept label. Store it in ifp.
436 (connected_del_ipv4) Taking label as argument is pointless.
437 * rt_netlink.c: (netlink_interface_addr) update label usage
438 for connected_{add,delete} functions.
439 * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
440 * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
441 so we also find out about NOXMIT interfaces like VNI.
442 Bit of hackery to turn interface names into the primary
443 interface name, later with routing socket messages we only
444 will about primary interfaces anyway, so we must normalise
445 the name.
446 (if_get_addr) take label as argument, so it can
447 be passed to connected_add.
448 If label is provided, then it is interface name to issue the
449 ioctl for address information on, not the ifp name.
450 (interface_list) List AF_UNSPEC too, just in case.
451 * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
452 * interface.c: (if_addr_wakeup) Some very bogus code - sets
453 IFF_RUNNING - add comment.
454 (if_refresh)
455 (ip_address_install) Use MTYPE for ifc label.
456 * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
457 IFF_UP reflect whether any addresses are left on the
458 interface, as we get signalled for IFF_UP flags change on the
459 primary interface only. Logical interfaces dont generate
460 IFINFO, but we do get an RTM_DELADDR.
461 (if_get_flags) Call if_mangle_up before return.
462 * kernel_socket.c: (ifam_read) Fixup calls to
463 connected_{add,delete} to match above changes. Rename gate
464 variable to brd, less confusing.
465 Pass the interface name as a label, if it is not same name
466 as ifp->name.
467
pauld06b2a62005-10-11 03:53:54 +00004682005-10-11 Paul Jakma <paul.jakma@sun.com>
469
470 * connected.{c,h}: (connected_{add,delete}_ipv4) label should
471 be const qualified.
472
ajsc05612b2005-10-01 16:36:54 +00004732005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
474
ajsf52d13c2005-10-01 17:38:06 +0000475 * zebra_vty.c: (route_type_str) Remove obsolete function: use new
476 library function zebra_route_string() instead. Note that there
477 are a few differences: for IPv6 routes, we now get "ripng" and
478 "ospf6" instead of the old behavior ("rip" and "ospf").
479 (route_type_char) Remove obsolete function: ues new library function
480 zebra_route_char() instead. Note that there is one difference:
481 the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
482 whereas the new one returns 'X'.
483 (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
484 route_type_str() with zebra_route_string().
485 (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
486 with zebra_route_char().
487
4882005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
489
ajsc05612b2005-10-01 16:36:54 +0000490 * rt_netlink.c: (netlink_request) Use memset to clear structure
491 before calling sendto (eliminates a valgrind error message about
492 uninitialized data).
vincentaa2e32b2005-09-28 13:42:11 +0000493
4942005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
495
vincentfbf5d032005-09-29 11:25:50 +0000496 * zserv.c: Always provied distance for route add
497
4982005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
499
vincentaa2e32b2005-09-28 13:42:11 +0000500 * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
501 usage with HAVE_IPV6
502
hassod24af182005-09-24 14:00:26 +00005032005-09-24 Hasso Tepper <hasso at quagga.net>
504
505 * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
506 add is treated as implicit withdraw.
507
hassoebf1ead2005-09-21 14:58:20 +00005082005-09-21 David Young <dyoung@ojctech.com>
509
510 * zebra_rib.c: Reduce the height of some staircases. Fix
511 rib_delete_ipv6() to match routes in the RIB by their gateway as
512 well as by destination.
513
paul319572c2005-09-21 12:30:08 +00005142005-09-21 Paul Jakma <paul.jakma@sun.com>
515
516 * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
517 removal of static routes with multiple-hops introduced with
518 the workqueue conversion. We should free the relevant
519 nexthop and then get rib_process to run, otherwise we just
520 get same static route back again (with no way to unconfigure
521 it, because its already deleted from configuration).
522
paulca162182005-09-12 16:58:52 +00005232005-09-12 Paul Jakma <paul.jakma@sun.com>
524
525 * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR
526 support.
527 * connected.c: (connected_withdraw) new function. withdraw a
528 connected subnet address set from zebra, and pass information
529 along to clients.
530 (connected_announce) similar, but to announce a new connected
531 subnet address set.
532 (connected_check_ipv4) renamed to connected_check, as its
533 AFI independent.
534 (connected_add_ipv{4,6}) Remove the connected address announce
535 stuff, use connected_announce instead.
536 If connected_check indicates address is already present,
537 treat it as an implicit withdraw of the existing address, ie
538 remove the old address details and replace with the new
539 details.
540 (connected_delete_ipv{4,6}) Use connected_withdraw.
541 (connected_check_ipv6) deleted in favour of connected_check.
542 * connected.h: Rename connected_check_ipv4 to connected_check.
543 delete connected_check_ipv6.
544 * interface.c: Use connected_check rather than the AFI specific
545 symbols.
546 * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a
547 rib delete event for the existing route, before adding route
548 again.
549 (kernel_read) we can handle RTM_CHANGE now.
550
hassobe61c4e2005-08-27 06:05:47 +00005512005-08-27 Hasso Tepper <hasso at quagga.net>
552
553 * zebra_rib.c, rib.h: Add distance and metric arguments to the
554 rib_add_ipv6() function so that IPv6 routes in RIB can have correct
555 metric. No IPv6 routing daemon uses distance yet though.
556 * zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
557 rtread_proc.c,zserv.c: Pass metric and distance info to the
558 rib_add_ipv6().
559
paul6eb88272005-07-29 14:36:00 +00005602005-07-29 Paul Jakma <paul.jakma@sun.com>
561
562 * interface.c: (if_delete_update) should always be available, not
563 just on RTM_IFANNOUNCE/NETLINK systems.
564 * kernel_socket.c: (ifan_read) only call if_delete_update when
565 interface departs, dont if_delete, because we wish to retain
566 interface configuration state even when interfaces are removed.
567 (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning
568 to down state is only chance we have to clean up interface in case
569 it is deleted (eg Solaris down -> unplumb -> plumb up).
570 * redistribute.c: (zebra_interface_delete_update) should always be
571 available, we /will/ call it now on all systems, via
572 if_delete_update.
573 * zserv.c: (zsend_interface_delete) ditto
574 (zsend_interface_address) Update the call-flow diagramme, to
575 reflect that if_delete_update /is/ now called on all systems,
576 potentially.
577 * zserv.h: (zsend_interface_delete) unconditionally exported, as
578 above.
579
paula1ac18c2005-06-28 17:17:12 +00005802005-06-28 Paul Jakma <paul.jakma@sun.com>
581
582 * (global) Extern and static'ification, with related fixups
583 of declarations, ensuring files include their own headers, etc.
paulea6f82b2005-06-28 17:20:26 +0000584 * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in
paula1ac18c2005-06-28 17:17:12 +0000585 list loop
paulea6f82b2005-06-28 17:20:26 +0000586 * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
587 should be on DEST argument
paula1ac18c2005-06-28 17:17:12 +0000588
paul62debbb2005-06-14 14:07:07 +00005892005-06-14 Paul Jakma <paul.jakma@sun.com>
590
591 * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and
592 RTM{ADDR,MASK}GET macros into generic rta_addrs macros,
593 RTA_{ADDR,ATTR}_GET.
594 (af_check) could use 'inline' attribute
595 (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to
596 generic macro.
597 (rtm_read_mesg) similar
598
hasso1ada8192005-06-12 11:28:18 +00005992005-06-12 Hasso Tepper <hasso at quagga.net>
600
601 * rt_netlink.c: Remove netlink-addr socket declaration, it's not used.
602 * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is
603 unsigned and one zlog call had swapped arguments.
604 * rt_netlink.c (netlink_route_multipath): Fix compile with disabled
605 IPv6 support.
606
paul1dcb5172005-05-31 08:38:50 +00006072005-05-31 Paul Jakma <paul.jakma@sun.com>
608
609 * zserv.c: (zsend_route_multipath) Fix bug if route is sent
610 with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX
611 and ZAPI_MESSAGE_NEXTHOP are always set, clients would try
612 read non-existent nexthop information and hit stream assert.
613 Zserv is still broken for multi-nexthop messages, but it always was.
614
paul69e10ad2005-05-06 21:27:33 +00006152005-05-06 Paul Jakma <paul.jakma@sun.com>
616
617 * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
618
paul4d38fdb2005-04-28 17:35:14 +00006192005-04-28 Paul Jakma <paul.jakma@sun.com>
620
621 * rib.h: (struct rib) Add lock field for refcounting.
622 * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
623 'master' struct.
624 * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
625 * zebra_rib.c: Clean up refcounting of route_node, make struct rib
626 refcounted and convert rib_process to work-queue. In general,
627 rib's should be rib_addnode'd and delnode'd to route_nodes, and
628 these symmetrical functions will manage the locking of referenced
629 route_node and freeing of struct rib - rather than having users
630 manage each seperately - with much scope for bugs..
631 (newrib_free) removed and replaced with rib_lock
632 (rib_lock) new function, check state of lock and increment.
633 (rib_unlock) new function, check lock state and decrement. Free
634 struct rib if refcount hits 0, freeing struct nexthop's, as
635 newrib_free did.
636 (rib_addnode) Add RIB to route_node, locking both.
637 (rib_delnode) Delete RIB from route_node, unlocking each.
638 (rib_process) Converted to a work-queue work function.
639 Functional changes are minimal, just arguments, comments and
640 whitespace.
641 (rib_queue_add_qnode) Helper function to setup a ribq item.
642 (rib_queue_add) Helper function, same arguments as old
643 rib_process, to replace in callers of rib_process.
644 (rib_queue_qnode_del) ribq deconstructor.
645 (rib_queue_init) Create the ribq.
646 (rib_init) call rib_queue_init.
647 (remainder) Sanitise refcounting of route_node's. Convert to
648 rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
649 to XCALLOC. Remove calls to nexthop_delete and nexthop_free.
650
paulcf460ef2005-04-10 16:54:26 +00006512005-04-10 Paul Jakma <paul@dishone.st>
652
653 * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
654 in ALL_LIST_ELEMENTS_RO macro.
655
ajs57a14772005-04-10 15:01:56 +00006562005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
657
658 * zserv.c (zebra_client_read): Fix bug: first read attempt should
659 read ZEBRA_HEADER_SIZE minus the number of bytes already read.
660 Improve efficiency by maintaining a calculation of the number
661 of bytes read instead of calling stream_get_endp multiple times.
662 If message length is too small, issue a warning message (not debug)
663 before closing the connection. And also check that message length
664 is not too big.
665
hasso206d8052005-04-09 16:38:51 +00006662005-04-09 Hasso Tepper <hasso at quagga.net>
667
hassofa599802005-04-09 16:59:28 +0000668 * rt_netlink.c: One tiny missing comma caused pointless debug messages
669 about IPv6 nexthops.
670
6712005-04-09 Hasso Tepper <hasso at quagga.net>
672
hasso206d8052005-04-09 16:38:51 +0000673 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
674 status to unsigned here, because we already checked that it isn't
675 negative or 0.
676 * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
677 address, not to the interface.
678 * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
679 is printed out now and IPv6 info is handeled.
680
paul3d1dc852005-04-05 00:45:23 +00006812005-04-05 Paul Jakma <paul@dishone.st>
682
683 * zserv.c: print more helpful errors when we fail to successfully
684 bind and listen on zserv socket. Closes bugzilla #163.
685
ajsd2fc8892005-04-02 18:38:43 +00006862005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
687
ajs08dbfb62005-04-03 03:40:52 +0000688 * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
689 * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
690 avoid overflow.
691 * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
692
6932005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
694
ajsa3491982005-04-02 22:50:38 +0000695 * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
696 to save a memcpy.
697 * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
698 if_get_by_name_len function.
699
7002005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
701
ajsd2fc8892005-04-02 18:38:43 +0000702 * interface.c: (if_new_intern_ifindex) Remove obsolete function.
703 (if_delete_update) After distributing the interface deletion message,
704 set ifp->ifindex to IFINDEX_INTERNAL.
705 (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
706 IFINDEX_INTERNAL.
707 (zebra_interface) Check return code from interface_cmd.func.
708 Do not set internal ifindex values to if_new_intern_ifindex(),
709 since we now use IFINDEX_INTERNAL for all pseudo interfaces.
710 * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
711 all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
712 * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
713 Detects interface rename events by checking if that ifindex is already
714 being used. If it is, delete the old interface before assigning
715 the ifindex to the new interface.
716 (netlink_interface, netlink_link_change) Call set_ifindex to update
717 the ifindex.
718
hassob7ed1ec2005-03-31 20:13:49 +00007192005-03-31 Hasso Tepper <hasso at quagga.net>
720
721 * rt_netlink.c (netlink_talk_filter): Show always warning message,
722 it's not for debug.
723 * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
724 although we do now actually.
725 * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
726 netlink_cmd to send messages to the kernel.
727
ajs2da40f42005-03-30 16:33:13 +00007282005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
729
730 * irdp.h: Add prototype for irdp_sock_init, and fix protos for
731 other irdp_* functions.
732 * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
733 call irdp_sock_init to create the IRDP socket.
734 (irdp_if_init) Rename to irdp_init().
735 (get_iflist_ifp) Remove function that is a duplicate of
736 if_lookup_by_index.
737 (*) Make many functions static. And remove superfluous "\n" from
738 several zlog messages.
739 * irdp_main.c: (irdp_init) Remove function that used to call
740 irdp_if_init() and irdp_sock_init(), since we will now create
741 the socket only upon first use.
742 (irdp_sock_init) Do not update global irdp_sock variable, just
743 return the fd and assume that the caller will do so. If setsockopt
744 calls fail, close the socket before returning -1.
745 (*) Make many functions static.
746 * irdp_packet.c: Initialize irdp_sock to -1.
747 (irdp_read_raw) Call standard library function if_lookup_by_index
748 instead of get_iflist_ifp.
749 (irdp_recvmsg) Should be static, not global.
750
ajsa608bbf2005-03-29 17:03:49 +00007512005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
752
753 * rt_netlink.c: (netlink_link_change) If the status of an
754 operative interface changes (e.g. MTU changes), the client
755 daemons should be notified by calling zebra_interface_up_update.
756 Previously, the information was being updated in zebra's
757 interface structure, but the clients were not notified of
758 changes to an operative interface.
759
vincent7cee1bb2005-03-25 13:08:53 +00007602005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
761 * interface.c, interface.h, rtadv.c, rtadv.h: modifications to
762 IPv6 Neighbor Discovery according to RFC3775, section 7:
763 o 1-bit Home Agent flag management in Router Advertisement (7.1).
764 o 1-bit Router Address flag management in Prefix Information
765 Option (7.2).
766 o Advertisement Interval Option (7.3)
767 o Home Agent Information Option (7.4)
768 o Changes to Sending Router Advertisements more frequently (7.5)
769
hassoed9bb6d2005-03-13 19:17:21 +00007702005-03-13 Hasso Tepper <hasso at quagga.net>
771
772 * zebra/interaface.c: "show interface description" command
773 implemented.
774
paulc1f01f32005-03-12 06:33:14 +00007752005-03-12 Paul Jakma <paul@dishone.st>
776
777 * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
778 No stock Linux kernel has ever supported it, and even if it had
779 it's not generally a good idea.
780
hasso42a66d72005-03-07 08:19:44 +00007812005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
782
783 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
784
hasso3452d472005-03-06 13:42:05 +00007852005-03-06 Hasso Tepper <hasso at quagga.net>
786
787 * interface.c: Fix CRC and frame errors statistics in Linux.
788
ajs719e9742005-02-28 20:52:15 +00007892005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
790
791 * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
792 Remove global message_queue and t_write (need separate buffering for
793 each client).
794 (zebra_server_dequeue,zebra_server_enqueue) Remove functions
795 related to old buggy buffering code.
796 (zserv_delayed_close) New thread callback function to delete a client.
797 (zserv_flush_data) New thread callback function to flush buffered
798 data to client.
799 (zebra_server_send_message) Rewritten to use buffer_write (so
800 buffering of writes and non-blocking I/O work properly).
801 (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
802 zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
803 (this is not really an error). Return value from
804 zebra_server_send_message.
805 (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
806 zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
807 (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
808 from zebra_server_send_message.
809 (zsend_router_id_update) Must use zebra_server_send_message instead
810 of deprecated writen function. Return 0 instead of -1 if this client
811 is not subscribed to router-id updates (since this is not really
812 an error).
813 (zread_interface_add) Change type to static int. If
814 zsend_interface_add fails or zsend_interface_address fails, return -1
815 immediately (since the client has had an I/O error).
816 (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
817 zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
818 to indicate success.
819 (zread_ipv4_nexthop_lookup) Return value from
820 zsend_ipv4_nexthop_lookup.
821 (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
822 (zebra_read_ipv6) Remove unused function.
823 (zread_ipv6_nexthop_lookup) Return value from
824 zsend_ipv6_nexthop_lookup.
825 (zread_router_id_add) Return value from zsend_router_id_update.
826 (zebra_client_close) Call buffer_free(client->wb) and
827 thread_cancel(client->t_suicide).
828 (zebra_client_create) Allocate client->wb using buffer_new.
829 (zebra_client_read) Support non-blocking I/O by using stream_read_try.
830 Use ZEBRA_HEADER_SIZE instead of 3.
831 (zebra_accept) Fix bug: reset accept thread at top. Make client
832 socket non-blocking using the set_nonblocking function.
833 (config_write_forwarding) Fix scope to static.
834 (zebra_init) Remove initialization code for old buggy write buffering.
835 * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
836 (to enable buffered writes with non-blocking I/), and
837 struct thread *t_suicide to support delayed close on I/O
838 errors.
839 * router-id.h: Remove prototypes for zread_router_id_add and
840 zread_router_id_delete (their scope should be static to zserv.c).
841
ajs27da3982005-02-24 16:06:33 +00008422005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
843
844 * redistribute.c: (zebra_check_addr,is_default,
845 zebra_redistribute_default,zebra_redistribute) Fix scope to be static.
846
hassoe8274dc2005-02-20 19:09:23 +00008472005-02-20 Hasso Tepper <hasso at quagga.net>
848
849 * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
850 if we are not debugging.
851
paule31f2292005-02-19 02:00:26 +00008522005-02-19 Paul Jakma <paul@dishone.st>
853
854 * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
855 STREAM_READABLE.
856
paul1e193152005-02-14 23:53:05 +00008572005-02-14 Paul Jakma <paul@dishone.st>
858
859 * Not all Linux netlink systems have IFLA_WIRELESS
860
ajs6a52d0d2005-01-30 18:49:28 +00008612005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
862
863 * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
864 zlog_err.
865 * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
866 zlog_err.
867
ajs4be019d2005-01-29 16:12:41 +00008682005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
869
ajs4460e7a2005-01-29 17:07:40 +0000870 * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
871 zserv_privs.change.
872 * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
873 zserv_privs.change.
874 * ipforward_solaris.c: (solaris_nd) Save errno before calling
875 zserv_privs.change.
876 * irdp_main.c: (irdp_sock_init) Save errno before calling
877 zserv_privs.change.
878
8792005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
880
ajs4be019d2005-01-29 16:12:41 +0000881 * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
882 netlink_talk) Save errno before calling zserv_privs.change.
883
paulc15cb242005-01-24 09:05:27 +00008842005-01-24 Martin Pot <mpot at martybugs.net>
885
886 * zebra/rt_netlink.c: ignore wireless newlink netlink messages.
887
hasso6f2c27a2005-01-18 13:44:35 +00008882005-01-18 Hasso Tepper <hasso at quagga.net>
889
890 * interface.c: Better statistics output in "show interface" command in
891 case of /proc being used.
892
hasso583d8002005-01-16 23:34:02 +00008932005-01-17 Hasso Tepper <hasso at quagga.net>
894
895 * main.c: With --nl-bufsize argument is required.
896
paul865b8522005-01-05 08:30:35 +00008972005-01-05 Paul Jakma <paul@dishone.st>
898
899 * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
900 for now, as we dont actually deal with with resending.... See
901 bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
902 * kernel_socket.c: (routing_socket) ditto.
903
ajsb99760a2005-01-04 16:24:43 +00009042005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
905
906 * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
907 instead of CMSG_FIRSTHDR.
908
ajs341a8f12004-12-22 16:32:16 +00009092004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
910
911 * connected.c: (connected_add_ipv4) Limit warning about /32 addresses
912 with no peer specified to PtP interfaces only.
913
hassob8adec12004-12-18 16:03:28 +00009142004-12-18 Hasso Tepper <hasso at quagga.net>
915
916 * zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it
917 work for isis routes.
918
gdt6a250b02004-12-09 14:48:12 +00009192004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
920
921 * kernel_socket.c (rtmsg_debug): char * => const char *
922
ajs274a4a42004-12-07 15:39:31 +00009232004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
924
ajsb6178002004-12-07 21:12:56 +0000925 * *.c: Change level of debug messages to LOG_DEBUG.
926
9272004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
928
ajs274a4a42004-12-07 15:39:31 +0000929 * main.c: (main) The 2nd argument to openzlog has been removed.
930 So stdout logging will no longer be enabled by default.
931 * irdp_main.c: (irdp_finish) Reduce severity of shutdown message
932 from LOG_WARNING to LOG_INFO.
933
ajs887c44a2004-12-03 16:36:46 +00009342004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
935
936 * main.c: (sigint) Use zlog_notice for termination message.
937 (main) Add a startup announcement using zlog_notice.
938
hassoaccb1562004-11-25 19:21:07 +00009392004-11-25 Hasso Tepper <hasso at quagga.net>
940
941 * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because
942 it confuses extract.pl.
hassoc0652302004-11-25 19:33:48 +0000943 * main.c: Make group to run as configurable.
hassoaccb1562004-11-25 19:21:07 +0000944
hasso6bd7c6a2004-10-28 17:32:27 +00009452004-10-28 Hasso Tepper <hasso at quagga.net>
946
947 * interface.c: Remove dead "ip tunnel" command.
948
paul06f953f2004-10-22 17:00:38 +00009492004-10-22 Paul Jakma <paul@dishone.st>
950
951 * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex
952
hasso3fb9cd62004-10-19 19:44:43 +00009532004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
954
955 * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore
956 tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL].
957 * interface.c: (ip_address_install) Use new ipv4_broadcast_addr
958 function.
959 * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST
960 macro.
961 (connected_down_ipv4) ditto.
962 (connected_add_ipv4) Validate destination address, print warnings
963 if it does not make sense.
964
hassoc1eaa442004-10-19 06:26:01 +00009652004-10-19 Hasso Tepper <hasso at quagga.net>
966
967 * zserv.c: Fix regression introduced with zserv cleanup.
968
hassoc75105a2004-10-13 10:33:26 +00009692004-10-13 Hasso Tepper <hasso at quagga.net>
970
971 * zebra_snmp.c: Remove defaults used to initialize smux connection to
972 snmpd. Connection is initialized only if smux peer is configured.
hassob71f00f2004-10-13 12:20:35 +0000973 * zserv.c: Remove useless warnings "forwarding is already on".
hassoc75105a2004-10-13 10:33:26 +0000974
hasso39ff11d2004-10-12 15:55:19 +00009752004-10-12 Hasso Tepper <hasso at quagga.net>
976
977 * zebra_vty.c: Unbreak "show ip route" command help and make it work
978 for isis routes.
hasso39db97e2004-10-12 20:50:58 +0000979 * interface.c(if_dump_vty): Show IPv6 addresses in "show interface"
980 output. Fixes Bugzilla #119.
981 * *.c: Make some strings const and some (unsigned) casts to fix
982 compiler warnings.
hasso39ff11d2004-10-12 15:55:19 +0000983
hassofce954f2004-10-07 20:29:24 +00009842004-10-07 Hasso Tepper <hasso at quagga.net>
985
986 * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c:
987 Fix warnings: make strings const, signed -> unsigned.
988
paul72164662004-10-05 14:39:43 +00009892004-10-05 Paul Jakma <paul@dishone.st>
990
991 * irdp_packet.c: (parse_irdp_packet) style issues.
992 Use sockopt_iphdrincl_swab_systoh.
993 Try unbork the code. Checksum the ICMP data and actually
994 compare it to received checksum. Check data length against
995 claimed length in header.
996 Always use ntoh.. when accessing addresses, even when the
997 comparison happens to be endian-safe.
998 (send_packet) minor style isues. Use
999 sockopt_iphdrincl_swab_htosys.
1000 (irdp_iph_hton/ntoh) IP header to/from network/host order.
1001
hassoeef1fe12004-10-03 18:46:08 +000010022004-10-03 Gilad Arnold <gilad.arnold at terayon.com>
1003
1004 * interface.c, interface.h: A new prefix tree of connected subnets is
1005 associated with each interface structure in zebra, in which each
1006 live (ie, non-synthetic) node holds a list of installed addresses
1007 that belong to that prefix. Remove secondary address logic from cli.
1008 See [quagga-dev 872] for detailed explanation.
1009 * connected.c: Use if_subnet_add() and if_subnet_delete().
1010
hasso18a6dce2004-10-03 18:18:34 +000010112004-10-03 James R. Leu <jleu at mindspring.com>
1012
1013 * router-id.c, router-id.h: New files. Router id selection process. If
1014 there is non 127.x.x.x address in loopack interface, lowest of them
1015 is chosen. If there isn't, lowest from other interfaces addresses
1016 are chosen. "router-id x.x.x.x" vty command to manual override.
1017 * Makefile.am: Compile new files.
1018 * main.c: Initialize router id.
1019 * redistribute.c: Add interface addresses into router id selection
1020 lists as they (dis)appear.
1021 * zserv.c, zserv.h: Sending router id related messages to daemons.
1022
hassoc9e52be2004-09-26 16:09:34 +000010232004-09-26 Hasso Tepper <hasso at quagga.net>
1024
1025 * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
1026 rtadv.c, zebra_vty.c: Fix compiler warnings.
1027
paul0c0f9112004-09-24 08:24:42 +000010282004-09-24 Paul Jakma <paul@dishone.st>
1029
paul26f7a242004-09-24 08:45:10 +00001030 * irdp_interface.c: (no_ip_irdp_address_preference_cmd)
1031 add missing listnode declaration.
1032
10332004-09-24 Paul Jakma <paul@dishone.st>
1034
paul0c0f9112004-09-24 08:24:42 +00001035 * irdp_{interface,main}.c: lists typedef removal cleanup.
1036 update some list loops to LIST_LOOP. some miscellaneous style
1037 and indent fixups.
1038 (no_ip_irdp_address_preference_cmd) Fix delete of referenced node
paul26f7a242004-09-24 08:45:10 +00001039 in loop.
paul0c0f9112004-09-24 08:24:42 +00001040 * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer
1041 to pointer.
1042 * if_ioctl{,_solaris}.c: lists typedef removal cleanup.
1043 update some list loops to LIST_LOOP.
1044
hasso52dc7ee2004-09-23 19:18:23 +000010452004-09-23 Hasso Tepper <hasso at quagga.net>
1046
1047 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1048
paul44983cf2004-09-22 13:15:58 +000010492004-09-22 Paul Jakma <paul.jakma@sun.com>
1050
1051 * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
1052 in_addr to sizeof(struct in6_addr), causing odd and hard to debug
1053 crash.
1054
hassoc34b6b52004-08-31 13:41:49 +000010552004-08-31 Hasso Tepper <hasso at quagga.net>
1056
1057 * main.c, rt_netlink.c: Added -s command line switch for tuning
1058 netlink receive buffer size in Linux to avoid buffer overruns.
1059
gdta5ea6872004-08-26 13:24:00 +000010602004-08-26 Miles Nordin <carton@Ivy.NET>
1061
1062 * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
1063 sysctl(3), rather than int. (Needed on NetBSD/alpha to display
1064 forwarding status correctly.)
1065
paul3e0b3a52004-08-23 18:58:32 +000010662004-08-23 Paul Jakma <paul@dishone.st>
1067
1068 * zserv.c: (zebra_init) remove implicit ip forward enabling
1069
paul0de1cde2004-08-19 04:45:33 +000010702004-08-19 Paul Jakma <paul@dishone.st>
1071
1072 * irdp_main.c: update to match sockopt renames.
1073 * irdp_packet.c: include sockopt.h and update to match sockopt
1074 renames.
1075
gdt57492d52004-08-11 18:06:38 +000010762004-08-11 Greg Troxel <gdt@fnord.ir.bbn.com>
1077
1078 * rtadv.c (rtadv_send_packet): Allocate space for control messages
1079 more carefully; it was wrong on NetBSD/sparc where CMSG alignment
1080 is to 8 bytes instead of 4, and overwriting the address. Use the
1081 provided macros for determining lengths.
1082
paul5b73a672004-07-23 15:26:14 +000010832004-07-23 Sowmini Varadhan <Sowmini.Varadhan@Sun.COM>
1084
1085 * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups
1086 * zserv.c: ditto
1087 * ioctl_solaris.c: ditto.
1088 * interface.c: cast for LLADDR
1089 * interface.h: Add guards, include redistribute.h and remove
1090 extraneous definitions of zebra_interface_{up,down}_update
1091 * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6
1092 * redistribute.h: include dependent header, zserv.h
1093 * zserv.h: include dependent header, rib.h
1094
paul1470baf2004-07-23 15:25:01 +000010952004-07-23 Paul Jakma <paul@dishone.st>
1096
1097 * irdp_main.c: use setsockopt_pktinfo_ipv4
1098 * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and
1099 getsockopt_pktinfo_ifindex()
1100
gdtcced60d2004-07-13 16:45:54 +000011012004-07-13 David Wiggins <dwiggins@bbn.com
1102
1103 * kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'.
1104
hasso25dac852004-07-13 03:06:51 +000011052004-07-13 Hasso Tepper <hasso@estpak.ee>
1106
1107 * irdp_main.c: Add privilege change.
1108
hasso996933f2004-07-12 16:32:56 +000011092004-07-12 Hasso Tepper <hasso@estpak.ee>
1110
1111 * irdp_interface.c: follow common style while naming vty command
1112 functions. Avoids confusion in extract.pl.
1113
gdt87efd642004-06-30 17:36:11 +000011142004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1115
1116 * main.c: define thread_master variable so that linking with
1117 libzebra.so doesn't fail. Arguably zclient.o should be in a
1118 separate library, but this is far less disruptive.
1119
hassoca776982004-06-12 14:33:05 +000011202004-06-12 Robert Olsson <Robert.Olsson at data.slu.se>
1121
1122 * Added IRDP support.
1123
hasso3e31cde2004-05-18 11:58:59 +000011242004-05-18 Hasso Tepper <hasso@estpak.ee>
1125
1126 * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd
1127 prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of
1128 "ipv6 nd prefix" command to allow various combinations of parameters
1129 and flags. No defaults in configuration. Replaced on-link and
1130 autoconfig with off-link and no-autoconfig flags in command syntax.
1131 Cosmetic fixes in all commands. Documentation to reflect all changes.
1132
paul19877dd2004-05-11 10:49:35 +000011332004-05-11 Paul Jakma <paul@dishone.st>
1134
1135 * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
paul48a46fa2004-05-11 10:55:22 +00001136 * if_ioctl_solaris.c: Fixup some erroneous privilege changes and
1137 add privs.h header.
1138 * ioctl_solaris.c: ditto
paulc50ae8b2004-05-11 11:31:07 +00001139 * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6
1140 * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while
1141 RHS in assignments :)
1142 * redistribute.c: (zebra_interface_delete_update) only used
1143 if RTM_IFANNOUNCE and NETLINK is available.
1144
paulb9df2d22004-05-09 09:09:59 +000011452004-05-09 Paul Jakma <paul@dishone.st>
1146
1147 * zserv.c: (zsend_route_multipath) Set the nexthop_num
1148 field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6.
1149 Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds.
1150 (zsend_ipv4_add) cruft, deleted.
1151 (zsend_ipv4_delete) ditto.
1152 (zsend_ipv6_add) ditto.
1153 (zsend_ipv6_delete) ditto.
paul44145db2004-05-09 11:00:23 +00001154 * ioctl.c: (if_get_mtu) set mtu6 to mtu
1155 * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
1156 * rt_netlink.c: (netlink_interface) set mtu6 to mtu
1157 (netlink_link_change) ditto
paul66e94882004-05-09 17:19:24 +00001158 * ipforward_solaris.c: fix typo of ND variable.
paul88424682004-05-09 18:21:35 +00001159 * if_ioctl_solaris.c: Add zprivs support.
1160 * ioctl_solaris.c: ditto.
paul66e94882004-05-09 17:19:24 +00001161
paulb9df2d22004-05-09 09:09:59 +000011622004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
1163
1164 * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed
1165 into single zsend_route_multipath function.
1166 (zsend_interface_{up,down}) collapsed into zsend_interface_update.
1167 (zsend_interface_address_{add,delete}) collapsed into
1168 zsend_interface_address.
1169 (zsend_interface_add) send mtu6.
1170 (zsend_interface_delete) ditto.
1171 (zebra_write) remove unused function.
1172 (various) Apply static qualifier. Add comments.
1173 * zserv.h: Definitions changed as per above.
1174 * redistribute.c: Changes as per zserv.c.
paul44145db2004-05-09 11:00:23 +00001175 * interface.c: (if_delete_update) only used with HAVE_NETLINK
1176 and RTM_IFANNOUNCE.
1177 (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
1178 (if_dump_vty) print mtu6 if not same as mtu
paul88424682004-05-09 18:21:35 +00001179 * if_ioctl_solaris.c: New file, Solaris interface ioctl methods.
1180 * ioctl_solaris.c: New file, Common solaris ioctl methods.
1181
hasso34195bf2004-04-06 12:07:06 +000011822004-04-06 Krzysztof Oledzki <oleq@ans.pl>
1183
1184 * rt_netlink.c: Do not ignore metric when reading kernel routing
1185 table on Linux with rt_netlink interface.
1186
11872004-03-18 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001188
1189 * interface.c: Temporary fix for handling secondary addresses
1190 with label.
1191
hasso55906722004-02-11 22:42:16 +000011922004-02-12 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001193
hasso55906722004-02-11 22:42:16 +00001194 * zserv.c: Added "ipv6 forwarding" command.
1195
gdtb27900b2004-01-08 15:44:29 +000011962004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
1197
1198 * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
1199 for reading kernel messages to ensure enough space (necessary on
1200 Solaris due to sockaddr_dl being large). Thanks to Sowmini
1201 Varadhan for help with this change.
1202
gdt9ccabd12004-01-06 18:23:02 +000012032004-01-06 Greg Troxel <gdt@t1.ir.bbn.com>
1204
1205 * rtadv.c (rtadv_send_packet): Change perror to zlog_err.
1206
gdtdbee01f2004-01-06 00:36:51 +000012072004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdt4bfbea82004-01-06 01:13:05 +00001208 * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
1209 to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
1210 to just the accomodation of broken kernels. Check sockaddr_dl
1211 carefully up front, and later assume any non-NULL sdl pointer is
1212 valid. Clean up types and variable declarations, and rename
1213 WRAPUP to SAROUNDUP to make the name fit the behavior.
1214
12152004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdtdbee01f2004-01-06 00:36:51 +00001216
1217 * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
1218 structure, because on Solaris sockaddr_dl is far larger than the
1219 base sockaddr structure. (The code had previously been failing to
1220 read all the data.)
gdt4bfbea82004-01-06 01:13:05 +00001221
gdtda26e3b2004-01-05 17:20:59 +000012222004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
1223
1224 * kernel_socket.c (kernel_read): Look up interfaces by index
1225 first, so that state changes which do not include a sockaddr_dl
1226 now work. Add many sanity checks. In
1227 particular, do not assume that a sockaddr_dl follows a message
1228 without checking the ifm_addrs flags, and do not trust the length
1229 in a sockaddr_dl. Add/clarify many comments.
1230
gdt4b5e1352003-12-03 17:54:34 +000012312003-12-03 Greg Troxel <gdt@poblano.ir.bbn.com>
1232
1233 * rtadv.c: reorder includes to avoid compiler warning (define
1234 structs before using them in prototypes)
1235
hasso647e4f12003-05-25 11:43:52 +000012362003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>
1237
1238 * zserv.c: Add "ip forwarding" command.
1239
paul445f1432003-05-16 19:00:31 +000012402003-05-16 Gilad Arnold <gilad.arnold@terayon.com>
1241
1242 * zebra_rib.c: Fix memory leaks for ifname nexthops
1243
12442003-04-19 Israel Keys <ikeys@agile.tv>
1245
1246 * rt_netlink.c: BLOCK on netlink while initialising
1247
12482003-02-06 Francois Deppierraz <francois@ctrlaltdel.ch>
1249
1250 * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
1251 it exists.
1252
paul718e3742002-12-13 20:15:29 +000012532002-09-28 Akihiro Mizutani <mizutani@net-chef.net>
1254
1255 * zebra_rib.c (static_add_ipv4): Null0 static route is added.
1256
12572002-09-10 Jochen Friedrich <chris+zebra@scram.de>
1258
1259 * rt_netlink.c: Add check for EAGAIN.
1260 * kernel_socket.c: Likewise
1261
12622002-06-12 Israel Keys <ikeys@oz.agile.tv>
1263
1264 * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
1265 message so that we get an ACK for successful netlink commands.
1266 Change the netlink socket to BLOCKING while we wait for a
1267 response; be it an ACK or an NLMSG_ERROR. Change
1268 netlink_parse_info to deal with ACK messages.
1269
12702001-11-01 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1271
1272 * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
1273 work for ICMPv6 socket.
1274
12752001-10-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1276
1277 * rib.c (rib_process): Select connected route any case.
1278
12792001-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1280
1281 * interface.c (no_ip_address_secondary): Add "no" to command.
1282
12832001-10-18 NOGUCHI Kay <kay@v6.access.co.jp>
1284
1285 * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
1286 to infinity as the freebsd4.4 workaroud.
1287
12882001-08-26 mihail.balikov@interbgc.com
1289
1290 * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
1291 A.B.C.255.
1292
12932001-08-22 NOGUCHI Kay <kay@v6.access.co.jp>
1294
1295 * rtadv.c: Do not send RA to loopback interface.
1296
12972001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1298
1299 * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
1300 route treatment.
1301
13022001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1303
1304 * zebra-0.92a released.
1305
13062001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1307
1308 * rib.c: Kernel route is treated as EGP routes in nexthop active
1309 check.
1310
13112001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1312
1313 * zebra-0.92 released.
1314
13152001-08-08 "Akihiro Mizutani" <mizutani@dml.com>
1316
1317 * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
1318 show route commands.
1319
13202001-07-29 Yon Uriarte <havanna_moon@gmx.net>
1321
1322 * zserv.c (zsend_ipv4_add_multipath): Add
1323 NEXTHOP_TYPE_IPV4_IFINDEX check.
1324
13252001-07-29 NOGUCHI Kay <kay@v6.access.co.jp>
1326
1327 * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
1328 autonomous address-configuration flag patch.
1329 (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
1330 suppress-ra".
1331
13322001-07-24 NOGUCHI Kay <kay@v6.access.co.jp>
1333
1334 * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
1335 command.
1336
13372001-07-24 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1338
1339 * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
1340 multicast FIB support both IPv4 and IPv6.
1341
13422001-07-24 Hal Snyder <hal@vailsys.com>
1343
1344 * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
1345 full list of interfaces on some configurations of OpenBSD.
1346
13472001-07-23 NOGUCHI Kay <kay@v6.access.co.jp>
1348
1349 * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
1350 send-ra" bug.
1351 (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
1352 availability.
1353 (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
1354 added.
1355 (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
1356
13572001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1358
1359 * ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
1360
1361 * rt_ioctl.c: Likewise.
1362
13632001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1364
1365 * kernel_socket.c (rtm_write): Only set RTF_CLONING when the
1366 interface is not p2p.
1367
13682001-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1369
1370 * ioctl.c (if_prefix_add_ipv6): Fix argument type.
1371
13722001-04-06 Toshiaki Takada <takada@zebra.org>
1373
1374 * zserv.c (zsend_interface_delete): Use client->obuf instead of
1375 allocating new stream.
1376
13772001-03-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1378
1379 * rt_netlink.c: Revert RTPROT_BOOT change.
1380
13812001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1382
1383 * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
1384 (netlink_routing_table): Likewise.
1385
13862001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1387
1388 * zserv.c (zsend_ipv4_add_multipath): Send metric value to
1389 protocol daemons.
1390
13912001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1392
1393 * rt_netlink.c (netlink_routing_table): Do not return
1394 tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe"
1395 <mokeefe@qualcomm.com>.
1396
13972001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1398
1399 * if_ioctl.c (interface_list_ioctl): Call if_add_update().
1400 Suggested by: Chris Dunlop <chris@onthe.net.au>.
1401
14022001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1403
1404 * rib.c (nexthop_active_ipv4): When nexthop type is
1405 NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
1406
1407 * zserv.c: Initialize rtm_table_default with 0.
1408
1409 * zebra-0.91 is released.
1410
14112001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1412
1413 * kernel_socket.c (rtm_read): Filter cloned route. Suggested by:
1414 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1415
14162001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1417
1418 * connected.c (connected_up_ipv6): When point-to-point destination
1419 address is ::, use local address for connected network.
1420 (connected_down_ipv6): Likewise.
1421
14222001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1423
1424 * zserv.c (zebra_serv): Add missing close() call. Reported by:
1425 David Waitzman <djw@vineyard.net>.
1426
14272001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1428
1429 * rib.c (rib_lookup_ipv4): New function for checking exact match
1430 IGP route.
1431
14322001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1433
1434 * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
1435 route-type".
1436
14372001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1438
1439 * interface.c (zebra_interface): Do not call
1440 zebra_interface_add_update for inactive interface.
1441
1442 * zserv.c (zsend_interface_address_add): Send interface address
1443 flag.
1444 (zsend_interface_address_delete): Likewise.
1445
14462001-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1447
1448 * interface.c (if_addr_add): Add flags.
1449
1450 * connected.c (ifa_add_ipv4): Add new function for interface
1451 address handling.
1452 (ifa_delete_ipv4): Likewise.
1453
14542001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1455
1456 * rib.c (rib_update): Update IPv6 RIB.
1457
1458 * kernel_socket.c (ifam_read): Call if_refresh() for update
1459 interface flag status. This is for implicit interface up on *BSD.
1460
1461 * interface.c (if_refresh): Add interface flag refresh function.
1462
1463 * kernel_socket.c (rtm_read): Fetch link-local address interface
1464 index.
1465 (ifan_read): We need to fetch interface information. Suggested
1466 by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
1467
1468 * rib.c (static_ipv6_nexthop_same): Add check for
1469 NEXTHOP_TYPE_IPV6_IFNAME.
1470
14712001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1472
1473 * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are
1474 taken into place.
1475
14762001-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1477
1478 * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
1479 configuration.
1480 (rib_delete_ipv6): Handle same route conter for IPv6 connected
1481 route.
1482 (show_ipv6_route_protocol): New command.
1483 (show_ipv6_route_addr): Likewise.
1484 (show_ipv6_route_prefix): Likewise.
1485 (rib_update): Sweep kernel route when it is cleaned up.
1486
1487 * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
1488 treatmenet.
1489
1490 * rt_netlink.c (kernel_init): Likewise.
1491
1492 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
1493
1494 * rib.c (rib_add_ipv4): Cope with same connected route on a
1495 interface. Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
1496 (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
1497
1498 * rib.h (struct new_rib): Add refcnt to keep track on the
1499 reference of same connected route.
1500
1501 * ioctl.c (if_set_prefix): Add check for GNU_LINUX.
1502
15032001-01-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1504
1505 * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
1506 (rtm_type_str): Add RTM_IFANNOUNCE check.
1507 (ifan_read): New function.
1508 (kernel_read): Add case for RTM_IFANNOUNCE.
1509
15102001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1511
1512 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
1513
1514 * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
1515 treatment.
1516
1517 * connected.c (connected_up_ipv6): Add dest value check.
1518
1519 * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
1520 ifindex.
1521 (rib_add_ipv4): Import rib_add_ipv6() same route check code.
1522 (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
1523 checked by ifindex.
1524
1525 * rt_socket.c (kernel_rtm_ipv6_multipath): New function.
1526
1527 * redistribute.c (redistribute_add): Use
1528 zsend_ipv6_add_multipath().
1529 (redistribute_delete_multipath): Use
1530 zsend_ipv6_delete_multipath().
1531
1532 * interface.c (ip_address): Check current IP address to avoid
1533 duplicate.
1534
1535 * rib.c (rib_delete_ipv4): When deleted route is connected route,
1536 check ifindex.
1537 (rib_add_ipv4): When connected route is added do not perform
1538 implicit withdraw.
1539 (rib_delete_ipv4): Check ifindex for connected route.
1540
1541 * kernel_socket.c (rtm_read): When route has RTF_STATIC, set
1542 ZEBRA_FLAG_STATIC for indicate as persistent route.
1543 (ifam_read): Unset interface index from link-local address when
1544 IPv6 stack is KAME.
1545
1546 * rib.c (rib_update): Do not delete persistent kernel route.
1547
1548 * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
1549
1550 * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
1551 (kernel_delete_ipv6_multipath): Likewise.
1552
1553 * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
1554
15552001-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1556
1557 * rib.c (rib_update): Revert Matthew Grant's patch
1558 zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel
1559 interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
1560 that. Add support for address deletion situation.
1561
15622001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1563
1564 * interface.c: Remove HAVE_IF_PSEUDO part.
1565
1566 * rib.h: Likewise.
1567
1568 * rt_netlink.c (netlink_link_change): Likewise.
1569
15702001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1571
1572 * zserv.c: Remove OLD_RIB codes.
1573
15742001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1575
1576 * zebra-0.90 is released.
1577
15782001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1579
1580 * interface.c (if_new_intern_ifindex): Allocate a new internal
1581 interface index.
1582 (if_addr_refresh): Fix up ip addresses configured via zebra.
1583 (if_add_update): Handle an interface addition.
1584 (if_delete_update): Handle an interface delete event.
1585
1586 * rib.c (nexthop_ipv4_add): Add kernel route deletion process when
1587 interface goes down.
1588
15892001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1590
1591 * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
1592 NetBSD also use this function. Suggested by Jasper Wallace
1593 <jasper@ivision.co.uk>.
1594
15952001-01-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1596
1597 * rib.c (nexthop_active_ipv4): Move back to set methodo to old
1598 one.
1599
16002001-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1601
1602 * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
1603 flag, so treat it.
1604
16052001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1606
1607 * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
1608 sent from netlink_cmd, the same message comes from netlink. To
1609 avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
1610 instead of netlink_cmd.sock.
1611
16122001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1613
1614 * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
1615 Change "/tmp/zserv" to "/tmp/.zserv".
1616
16172000-12-29 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1618
1619 * rt_netlink.c (struct nlsock): Divide kernel message into listen
1620 socket and command socket.
1621 (netlink_talk): Remove socket listen code. Use netlink_parse_info
1622 for read kernel response.
1623
16242000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1625
1626 * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
1627 routes.
1628
16292000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1630
1631 * rt_netlink.c (netlink_route_multipath): Metric value is
1632 reflected to kernel routing table.
1633
1634 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
1635
1636 * kernel_socket.c (rtm_write): Likewise.
1637
1638 * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
1639 nexthop lookup.
1640
1641 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
1642 new RIB implementation.
1643
16442000-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1645
1646 * rib.h: Remove MULTIPATH_NUM. It is defined by configure script.
1647
16482000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1649
1650 * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
1651 proper redistribution.
1652
16532000-12-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1654
1655 * rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
1656 (show_ip_route_protocol): Support new RIB.
1657
1658 * rt_netlink.c (netlink_route_change): Do not return when gate is
1659 NULL.
1660
16612000-12-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1662
1663 * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
1664 updated.
1665 (rib_add_ipv4): Free implicit withdraw route's RIB.
1666
16672000-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1668
1669 * rib.c (nexthop_active_ipv4): Check indirect nexthop.
1670
1671 * redistribute.c (redistribute_add_multipath): Redistribution
1672 works with new rib code.
1673
16742000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1675
1676 * rt_netlink.c (netlink_route_multipath): Check useful nexthop
1677 number.
1678 (netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
1679
1680 * rib.c (nexthop_active_update): Set flag for the rib's nexthop
1681 activity is changed.
1682 (nexthop_active_check): Before checking interface is up, make it
1683 sure the interface exist.
1684
16852000-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1686
1687 * rib.c (ip_route): New RIB prototype.
1688
16892000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1690
1691 * zserv.c (zsend_interface_add): Send hardware address when
1692 hw_addr_len is greater than 0.
1693
16942000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1695
1696 * connected.c (connected_up_ipv4): Fix ptop bug. The destination
1697 network should be installed into routing table.
1698 (connected_down_ipv4): Likewise.
1699 (connected_add_ipv4): Change to use connected_up_ipv4.
1700 (connected_delete_ipv4): Likewise.
1701
17022000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1703
1704 * rt_netlink.c (netlink_interface_addr): Revert Harald Welte
1705 <laforge@gnumonks.org>'s ptop patch then back to original code to
1706 avoid duplicated connected route problem. Suggested by Frank van
1707 Maarseveen <F.vanMaarseveen@inter.NL.net>.
1708
1709 * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
1710 DEBUG is defined. Reported by Jun-ichiro itojun Hagino
1711 <itojun@iijlab.net>.
1712
17132000-10-23 Jochen Friedrich <jochen@scram.de>
1714
1715 * main.c (main): Call zebra_snmp_init() when it is enabled.
1716
17172000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1718
1719 * zserv.c (zebra_serv_un): UNIX domain socket server of zebra
1720 protocol.
1721
17222000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1723
1724 * rib.c (rib_add_ipv4): Same check bug is fixed.
1725
17262000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1727
1728 * rib.c (rib_if_down): Remove kernel route when the interface goes
1729 down.
1730
1731 * debug.c: New command "debug zebra kernel" is added.
1732
17332000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1734
1735 * zebra-0.89 is released.
1736
17372000-09-24 Harald Welte <laforge@gnumonks.org>
1738
1739 * rt_netlink.c (netlink_interface_addr): Fix point-to-point address
1740 treatment in netlink interface.
1741
17422000-09-21 David Lipovkov <dlipovkov@OpticalAccess.com>
1743
1744 * rib.c (rib_if_down): Pull static route only. Protocol daemon
1745 must withdraw routes when interface goes down.
1746 (rib_add_ipv4): Check nexthop when replace route.
1747
17482000-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1749
1750 * if_ioctl.c (if_getaddrs): New function for looking up
1751 interface's address by getifaddrs().
1752
17532000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1754
1755 * connected.c (connected_delete_ipv4): Add check for connected
1756 address is found or not.
1757 (connected_add_ipv6): Reflect IPv6 connected address change to
1758 protocol daemons.
1759 (connected_delete_ipv6): Likewise.
1760
17612000-09-07 David Lipovkov <davidl@nbase.co.il>
1762
1763 * rib.c (rib_delete_ipv4): Reverted the change from pseudo
1764 interface patch to original. Because ospfd deletes routes using
1765 zero ifindex.
1766
17672000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1768
1769 * zebra-0.88 is released.
1770
17712000-08-15 "Akihiro Mizutani" <mizutani@dml.com>
1772
1773 * rib.c (show_ip_route_protocol): Help string correction.
1774 (show_ip_route_prefix): Check prefix mask.
1775 (show_ip_route_vty_detail): Display distance and metric.
1776
17772000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1778
1779 * zserv.c (zsend_interface_add): Change ifindex store size from
1780 two octet to four.
1781 (zsend_interface_delete): Likewise.
1782 (zsend_interface_address_add): Likewise.
1783 (zsend_interface_address_delete): Likewise.
1784 (zsend_interface_up): Likewise.
1785 (zsend_interface_down): Likewise.
1786
17872000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1788
1789 * rib.c (rib_add_ipv4): Do not install distance 255 route.
1790
17912000-08-10 Toshiaki Takada <takada@zebra.org>
1792
1793 * interface.c (bandwidth_if), (no_bandwidth_if): Call
1794 zebra_interface_up_update () instead of using if_up() and if_down().
1795
17962000-08-07 "Akihiro Mizutani" <mizutani@dml.com>
1797
1798 * interface.c (bandwidth_if): Fix help string.
1799
18002000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1801
1802 * interface.c (if_dump_vty): Display bandwidth value.
1803 (bandwidth_if): New command "bandwidth <1-10000000>" is added.
1804 When interface is up, force protocol daemons to recalculate routes
1805 due to cost change.
1806 (no_bandwidth_if): Likewise.
1807 (if_config_write): Output bandwidth configuration.
1808
1809 * zserv.c (zsend_interface_add): Send bandwidth value.
1810 (zsend_interface_up): Likewise.
1811 (zsend_interface_down): Likewise.
1812
1813
18142000-08-07 Michael Rozhavsky <mike@nbase.co.il>
1815
1816 * rib.c (show_ip_route_protocol): "show ip route
1817 (bgp|connected|kernel|ospf|rip|static)" is added.
1818
18192000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1820
1821 * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
1822 nexthop is found.
1823 (rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
1824
18252000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1826
1827 * redistribute.c (redistribute_delete): Fix bug of default route
1828 redistribute treatment.
1829
18302000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1831
1832 * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
1833 Change default distance value.
1834
1835 Old New
1836 ------------------------------------------
1837 system 10 0
1838 kernel 20 0
1839 connected 30 0
1840 static 40 1
1841 rip 50 120
1842 ripng 50 120
1843 ospf 60 110
1844 ospf6 49 110
1845 bgp 70 200(iBGP) 20(eBGP)
1846 ------------------------------------------
1847
1848 * zserv.c (client_lookup): Function removed.
1849 (zsend_interface_add): Use client's output buffer. Check ifinfo
1850 flag.
1851 (zsend_interface_delete): Likewise.
1852 Delete ipv4_static_radix and ipv6_static_radix.
1853
18542000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1855
1856 * zserv.h (struct zebra_client): When client request interface
1857 information, ifinfo is set.
1858
1859 * rib.c: Temporary Revert changes for pseudo interface.
1860
1861 * rib.h: Likewise.
1862
1863 * zserv.c: Likewise.
1864
1865 * interface.c: Likewise.
1866
18672000-08-02 David Lipovkov <davidl@nbase.co.il>
1868
1869 * interface.c (zebra_if_init): Install interface "pseudo"
1870 commands.
1871
1872 * rib.c (rib_create): ifname argument is added.
1873 (rib_add_ipv4_pseudo): New function is added.
1874 (rib_delete_ipv4_pseudo): Likewise.
1875
1876 * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for
1877 pseudo interface functions.
1878
1879 * rt_netlink.c (netlink_link_change): Check for pseudo interface.
1880
1881 * zserv.c (ip_route): When destination is pseudo interface, call
1882 rib_add_ipv4_pseudo().
1883
1884 * zserv.c (no_ip_route): Trim "unknown" argument.
1885
18862000-07-26 kunitake@dti.ad.jp
1887
1888 * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
1889 to 6.
1890
1891 * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
1892
18932000-07-24 Akihiro Mizutani <mizutani@dml.com>
1894
1895 * interface.c: Use install_default() for common VTY commands.
1896
18972000-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1898
1899 * if_ioctl.c (interface_list_ioctl): A interface list size is
1900 calculated from ifreq->if_addr.sa_len. This is for OpenBSD.
1901
1902 * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
1903
19042000-07-09 Chris Dunlop <chris@onthe.net.au>
1905
1906 * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
1907
19082000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1909
1910 * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
1911 message handling.
1912
19132000-07-02 David Lipovkov <davidl@nbase.co.il>
1914
1915 * zserv.c: "ip route A.B.C.D/M unknown" command is added.
1916
19172000-06-28 Michael Rozhavsky <mike@nbase.co.il>
1918
1919 * rib.c: Remove old kernel route when new route comes in.
1920
19212000-06-13 David Lipovkov <davidl@nbase.co.il>
1922
1923 * rib.c (rib_if_up): Add check for unknown interface.
1924
19252000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1926
1927 * rib.h: Define INTERFACE_UNKNOWN.
1928
19292000-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1930
1931 * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
1932 finished.
1933
19342000-06-05 David Lipovkov <davidl@nbase.co.il>
1935
1936 * interface.c (if_zebra_delete_hook): Call rib_if_delete().
1937
1938 * redistribute.c (zebra_interface_delete_update): New function.
1939
1940 * redistribute.h (zebra_interface_delete_update): New function
1941 prototype.
1942
1943 * rib.c (rib_if_delete): New function. Walk down all routes and
1944 delete all on the interface.
1945
1946 * rib.h: New function prototype.
1947
1948 * rt_netlink.c (netlink_link_change): Call
1949 zebra_interface_delete_update ().
1950
19512000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1952
1953 * if_ioctl.c (interface_info_ioctl): Check interface's flag before
1954 checking interface's address.
1955
19562000-04-26 Jochen Friedrich <jochen@nwe.de>
1957
1958 * GNOME-PRODUCT-ZEBRA-MIB: New file.
1959
1960 * GNOME-SMI: New file.
1961
19622000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1963
1964 * irdp.c: New file from 1997 development code.
1965 * irdp.h: Likewise.
1966
19672000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1968
1969 * rtadv.c (rtadv_send_packet): Enclose router advertisement
1970 logging with IS_ZEBRA_DEBUG_PACKET.
1971
19722000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1973
1974 * zserv.c (zebra_client_close): Remove client structure from
1975 client_list when connection is terminated.
1976
19772000-03-21 David Lipovkov <davidl@nbase.co.il>
1978
1979 * connected.c (connected_add_ipv4): Allows all necessary structure
1980 updates for connected route, but doesn't insert it into rib if
1981 it's interface is down.
1982
19832000-01-21 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1984
1985 * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
1986 2.5.1.
1987
19882000-01-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1989
1990 * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
1991 from str2prefix_ipv6().
1992
19932000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1994
1995 * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
1996 IPv6 with /128 routes.
1997 (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
1998 should have mask for cloning.
1999
20001999-12-26 Jochen.Friedrich@genorz.de
2001
2002 * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
2003
20041999-12-23 Alex Zinin <zinin@amt.ru>
2005 * interface.*: dynamic int up/down support
2006
20071999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2008
2009 * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
2010
2011 * rtread_proc.c (proc_route_read): Don't use dropline().
2012
20131999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2014
2015 * kernel_socket.c (rtm_read): When message is RTM_GET, it has own
2016 process's pid.
2017
20181999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2019
2020 * main.c (main): Change to default log output to ZLOG_STDOUT.
2021
2022 * zserv.c (zebra_serv): More detailed error print.
2023
20241999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2025
2026 * kernel_socket.c (rtm_read): Check old pid for static route
2027 insertion check.
2028
20291999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2030
2031 * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
2032 statistics counter.
2033
2034 * mtu_kvm.c: New file added.
2035
20361999-11-27 Vladimir B. Grebenschikov <vova@express.ru>
2037
2038 * kernel_socket.c (rtm_write): Set RTF_CLONING flag for
2039 route to the directly connected interface.
2040
20411999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2042
2043 * rt_socket.c: Delete USE_HOST_BIT definition.
2044
20451999-11-21 Michael Handler <handler@sub-rosa.com>
2046
2047 * rtread_getmsg.c: Undef some definition to resolve conflict.
2048
20491999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2050
2051 * kernel_socket.c (rtm_write): Change to use pre stored struct_dl
2052 value for gateway specification.
2053
20541999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2055
2056 * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
2057 128 under IPv6, don't use RTF_HOST.
2058
20591999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2060
2061 * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
2062
20631999-11-21 Michael Handler <handler@sub-rosa.com>
2064
2065 * rtread_getmsg.c: Added for Solaris 2.6 support.
2066
20671999-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2068
2069 * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
2070
2071 * rt_socket.c (kernel_read): Better BSD routing socket support.
2072
20731999-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2074
2075 * client_main.c: Disable making obsolete zebra test `client'
2076 command.
2077
20781999-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2079
2080 * zebra.c: Renamed to zserv.c.
2081
2082 * zebra.h: Global definitions are moved to lib/zebra.h. Then
2083 renamed to zserv.h.
2084
20851999-10-15 Jordan Mendelson <jordy@wserv.com>
2086
2087 * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
2088 interface. Remove ugly MAX_INTERFACE handling codes.
2089
20901999-09-17 Satosi KOBAYASI <kobayasi@north.ad.jp>
2091
2092 * Fix serious bug of IPv6 route deletion.
2093
20941999-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2095
2096 * ioctl.c (if_set_prefix): Properly set broadcast address.
2097
20981999-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2099
2100 * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
2101 can install connected route to kernel via zebra
2102
21031999-08-24 VOP <vop@unity.net>
2104
2105 * rib.c: Include "sockunion.h"
2106
21071999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2108
2109 * ipforward.h: New file.
2110
2111 * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
2112 ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
2113
21141999-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2115
2116 * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
2117 ZEBRA_INTERFACE_{ADD,DELETE} added.
2118
21191999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2120
2121 * rib.c: show ip route A.B.C.D works.
2122
2123 * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
2124
21251999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2126
2127 * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
2128
21291999-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2130
2131 * interface.h: New file.
2132 * Makefile.am: Add interface.h
2133
21341999-08-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2135
2136 * redistribute.c (zebra_redistribute): give ifindex to client.
2137
21381999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2139
2140 * main.c (longopts): -k, --keep_kernel option added.
2141
21421999-07-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2143
2144 * rt_socket.c (rtm_write): forgot closing socket bug fixed.
2145
21461999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2147
2148 * rib.c (show_ipv6_cmd): if rib is link show interface name.
2149
21501999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2151
2152 * rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
2153
21541999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2155
2156 * rt_socket.c (rtm_write): ipv6 route table bug fixed.
2157
21581999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2159
2160 * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
2161
21621999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2163
2164 * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
2165
21661999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2167
2168 * if_sysctl.c (ifm_read): Clear sockunion argument before fetching
2169 data. Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
2170
21711999-07-08 HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
2172
2173 * interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
2174
21751999-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2176
2177 * zebra.c (zebra_serv): Only accept loopback address connection.
2178
21791999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2180
2181 * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
2182
21831999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2184
2185 * ipforward_proc.c: ipforward_on () and ipforward_off () added.
2186
21871999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2188
2189 * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
2190 using /proc file system is added.
2191
21921999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2193
2194 * if_ioctl.c (if_get_index): Interface index set bug is fixed by
2195 adding #else at the middle of function. Suggested by David Luyer
2196 <luyer@ucs.uwa.edu.au>.
2197
21981999-05-29 <kunihiro@zebra.org>
2199
2200 * rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
2201
22021999-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2203
2204 * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
2205 the sort of routes.
2206
22071999-05-25 Patrick Koppen <koppen@rhrk.uni-kl.de>
2208
2209 * rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
2210 (netlink_parse_info): If errno is EWOULDBLOCK then continue to
2211 parse the message.
2212 (netlink_talk): Likewise
2213
22141999-05-17 <kunihiro@zebra.org>
2215
2216 * redistribute.c (zebra_check_addr): Added for loopback address
2217 check.
2218
22191999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2220
2221 * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
2222 change treatment.
2223
2224 * Makefile.am (noinst_HEADERS): redistribute.h added.
2225
2226 * redistribute.h: New file.
2227
22281999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2229
2230 * zebra.c (show_table): Show all table configuration DEFUN.
2231 (config_table): Config table number DEFUN.
2232
2233 * rt_netlink.c: Add support for multiple routing table.
2234
2235 * rib.c (rib_weed_table): New function added for delete all
2236 routes from specified routing table.
2237
2238 * main.c (signal_init): SIGTERM call sigint.
2239 (sigint): Loggging more better message.
2240
22411999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2242
2243 * rt_netlink.c: Change log () to zlog ().
2244
22451999-05-07 <kunihiro@zebra.org>
2246
2247 * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
2248
22491999-04-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2250
2251 * interface.c: Add `no ip address' command.
2252
22531999-04-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2254
2255 * rt_netlink.c (kernel_read): Function added for asynchronous
2256 zebra between kernel communication.
2257
22581999-03-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2259
2260 * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
2261 Reported by Achim Patzner <ap@bnc.net>.
2262
22631999-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2264
2265 * Makefile.am: Install configuration sample with 600 permission.
2266
22671999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2268
2269 * Makefile.am: Add -I.. to INCLUDES.
2270
22711999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2272
2273 * syslog support added
2274
22751999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
2276
2277 * if_sysctl.c (interface_list): allocated memory free when unknown
2278 ifm_type is returned.
2279
2280 * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
2281
22821998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2283
2284 * interface.c: Header include added.
2285
22861998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2287
2288 * rt.h (kernel_delete_ipv6): change int index to unsigned int index.
2289
22901998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2291
2292 * if_ioctl.c (interface_list_ioctl): interface flag must be
2293 checked before check addresses of the interface.
2294
22951998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2296
2297 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
2298
22991998-10-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2300
2301 * ioctl.c: Linux version before 2.1.0 need interface route setup.
2302
23031998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
2304
2305 * change HYDRANGEA to KAME
2306
23071998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2308
2309 * if_ioctl.c (if_addr_ioctl): set address family for getting
2310 interface's address.
2311 (if_get_index): silently return when can't get interface's index.
2312
23131998-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2314
2315 * main.c (main): batch mode option '-b' added.
2316
23171998-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2318
2319 * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
2320 * interface.c (shutdown_if): add interface shutdown and no
2321 shutdown command.
2322
23231998-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2324
2325 * rib.c (rib_add_ipv6): delete rib_add_in6.
2326
23271998-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2328
2329 * main.c: retain flag is added.
2330
23311998-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2332
2333 * rtable.[ch]: merged with rib.[ch]
2334
23351998-07-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2336
2337 * connected.h: renamed from ifa.h.
2338
23391998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2340
2341 * rename if.c to interface.c
2342 * rename ifa.c to connected.c
2343
2344 * Porting to Debian GNU/Linux 2.0 (hamm).
2345
23461998-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2347
2348 * rt_netlink.c: renamed from krt_netlink.c
2349
2350 * fib.c: deleted.
2351 * rt_kvm.c: deleted.
2352 * rtread_getmsg.c: deleted.
2353
23541998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2355
2356 * if.c (multicast): add multicast flag [un]set fucntion.
2357
23581998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2359
2360 * rt_socket.c: Modify for compile on Solaris, but dont't work it.
2361 rt_socket.c have some undefined function, so add directive "IMPLEMENT"
2362
23631998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2364
2365 * zebra.c: Modify for compile on Solaris.
2366
23671998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2368
2369 * main.c: change CONFDIR to SYSCONFDIR.
2370
23711998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2372
2373 * .cvsignore: added.
2374
23751998-04-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2376
2377 * client.c: moves to ../lib.
2378
23791998-03-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2380
2381 * if_ioctl.c (if_get_addr): Change address copy from memcopy() to
2382 structure assignment.
2383
23841998-03-30 URA Hiroshi <ura@yamato.ibm.co.jp>
2385
2386 * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
2387
23881998-02-23 "Hannes R. Boehm" <hannes@boehm.org>
2389
2390 * if.c (if_init): add config_exit_cmd and config_help_cmd.
2391
23921998-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2393
2394 * rt_ioctl.c (route_ioctl): EPERM treatment added.
2395
23961998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2397
2398 * rt_socket.c (kernel_read): communication port zebra between
2399 kernel is now handled by kernel_read.
2400
24011998-01-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2402
2403 * main.c (main): zebra [-P port] can specify vty port number.
2404
24051997-12-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2406
2407 * zebra.c: change select will be block.
2408
24091997-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2410
2411 * add static route treatment.
2412
24131997-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2414
2415 * rt_netlink.c: add netlink support over GNU/Linux system.
2416
24171997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2418
2419 * all inet_addr is changed to inet_aton.
2420
2421 * zebra.c (ip_route): add ip route command for static routes.
2422
24231997-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2424
2425 * if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
2426
24271997-11-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2428
2429 * if.c: add interface command.
2430
24311997-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2432
2433 * ipforward_proc.c : Now works on Linux.
2434
24351997-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2436
2437 * command.c : add completion feature.
2438
24391997-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2440
2441 * vty.c (vty_command): add vty interface.
2442
24431997-10-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2444
2445 * zebra.c: add verbose mode.
2446
24471997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
2448
2449 * Hydrangea for FreeBSD supported
2450 * in.h: add some prototype.
2451
24521997-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2453
2454 * rt_socket.c and rtread.c completely rewritten.
2455
24561997-10-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2457
2458 * rt_socket.c: rename kernel_sock to routing_socket
2459
24601997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2461
2462 * if.c (if_new): interface structure change from linklist to vector.
2463
24641997-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2465
2466 * vector.c (vector_init): create vector related function
2467
24681997-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2469
2470 * Makefile.in: add tags target
2471
2472 * start IPv6 support for INRIA FreeBSD.
2473