blob: 97dcd5f5ae1758b1fcd93278176cc0626872c704 [file] [log] [blame]
Paul Jakma65022082007-03-06 13:43:05 +000012007-03-06 Paul Jakma <paul.jakma@sun.com>
2
3 * kernel_socket.c: (ifam_read) Do not update interface metric on
4 receipt of NEW/DEL ADDR messages, bogus as: a) some systems
5 dont include iface metric for address events b) we didn't
6 update clients either. Initial diagnosis by Eugene Grosbein.
7
Paul Jakmaff1dd552007-02-26 17:11:45 +000082007-02-26 Robert Olsson <Robert.Olsson@data.slu.se>
9
10 * irdp_main.c: (irdp_send_thread) Skip non-AF_INET addresses,
11 i.e. do not try interpret IPv6 addresses as IPv4 addresses
12 to broadcast in IRDP announcements..
13
Andrew J. Schorrfb6724a2006-12-13 15:44:15 +0000142006-12-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
15
16 * if_ioctl_solaris.c: (if_get_addr) For IPv6, stop assuming
17 that all IFF_POINTOPOINT have prefixlen of IPV6_MAX_BITLEN.
18 Instead, always try the SIOCGLIFSUBNET ioctl; if that fails,
19 then we fall back to IPV6_MAX_BITLEN for PtP interfaces.
20
Andrew J. Schorre4529632006-12-12 19:18:21 +0000212006-12-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
22
23 * connected.c: (connected_up_ipv4, connected_down_ipv4,
24 connected_up_ipv6, connected_down_ipv6) Simplify logic using the
25 new CONNECTED_PREFIX macro.
26 (connected_add_ipv4) Set prefixlen in destination addresses (required
27 by the CONNECTED_PREFIX macro). Use CONNECTED_PEER macro instead
28 of testing for IFF_POINTOPOINT. Delete invalid warning message.
29 Warn about cases where the ZEBRA_IFA_PEER is set but no
30 destination address has been supplied (and turn off the flag).
31 (connected_add_ipv6) Add new flags argument so callers may set
32 the ZEBRA_IFA_PEER flag. If peer/broadcast address satisfies
33 IN6_IS_ADDR_UNSPECIFIED, then reject it with a warning.
34 Set prefixlen in destination address so CONNECTED_PREFIX will work.
35 * connected.h: (connected_add_ipv6) Add new flags argument so
36 callers may set the ZEBRA_IFA_PEER flag.
37 * interface.c: (connected_dump_vty) Use CONNECTED_PEER macro
38 to decide whether the destination address is a peer or broadcast
39 address (instead of checking IFF_BROADCAST and IFF_POINTOPOINT).
40 * if_ioctl.c: (if_getaddrs) Instead of setting a peer address
41 only when the IFF_POINTOPOINT is set, we now accept a peer
42 address whenever it is available and not the same as the local
43 address. Otherwise (no peer address assigned), we check
44 for a broadcast address (regardless of the IFF_BROADCAST flag).
45 And must now pass a flags value of ZEBRA_IFA_PEER to
46 connected_add_ipv4 when a peer address is assigned.
47 The same new logic is used with the IPv6 code as well (and we
48 pass the new flags argument to connected_add_ipv6).
49 (if_get_addr) Do not bother to check IFF_POINTOPOINT: just
50 issue the SIOCGIFDSTADDR ioctl and see if we get back
51 a peer address not matching the local address (and set
52 the ZEBRA_IFA_PEER in that case). If there's no peer address,
53 try to grab SIOCGIFBRDADDR regardless of whether IFF_BROADCAST is set.
54 * if_ioctl_solaris.c: (if_get_addr) Just try the SIOCGLIFDSTADDR ioctl
55 without bothering to check the IFF_POINTOPOINT flag. And if
56 no peer address was found, just try the SIOCGLIFBRDADDR ioctl
57 without checking the IFF_BROADCAST flag. Call connected_add_ipv4
58 and connected_add_ipv6 with appropriate flags.
59 * if_proc.c: (ifaddr_proc_ipv6) Must pass new flags argument to
60 connected_add_ipv6.
61 * kernel_socket.c: (ifam_read) Must pass new flags argument to
62 connected_add_ipv6.
63 * rt_netlink.c: (netlink_interface_addr) Copy logic from iproute2
64 to determine local and possible peer address (so there's no longer
65 a test for IFF_POINTOPOINT). Set ZEBRA_IFA_PEER flag appropriately.
66 Pass new flags argument to connected_add_ipv6.
67 (netlink_address) Test !CONNECTED_PEER instead of if_is_broadcast
68 to determine whether the connected destination address is a
69 broadcast address.
70
Paul Jakma3c0755d2006-12-08 00:53:14 +0000712006-12-08 Piotr Chytla <pch@packetconsulting.pl>
72
73 * zebra_rib.c: (static_install_ipv{4,6}) Case where existing
74 RIB is updated must explicitely rib_addqueue the route_node,
75 to ensure the update actually takes effect.
76
Greg Troxel9458b812006-09-13 12:13:08 +0000772006-09-13 Tom Everett <tom@khubla.com>
78
79 * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to
80 compile on systems that no longer define them.
81
Paul Jakmaf28b0e52006-08-06 15:57:59 +0000822006-08-06 Paul Jakma <paul.jakma@sun.com>
83
84 * interface.h: (ifstat_update_proc) declaration should match
85 ifstat_update_sysctl really, which is to not return status, as
86 such status is not used anywhere.
87 * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values
88 consistent with each other and their declarations, ie:
89 (void) (*) (void).
Paul Jakma66c454f2006-08-06 16:02:43 +000090 * rtadv.h: depends on interface.h, so should include it.
Paul Jakmaf28b0e52006-08-06 15:57:59 +000091
Paul Jakma7e4bcdc2006-08-04 06:14:13 +0000922006-08-04 Paul Jakma <paul.jakma@sun.com>
93
94 * misc_null.c: Add ifstat_update_sysctl, add another required
95 header.
96
Andrew J. Schorra6974fe2006-08-02 16:47:03 +0000972006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
98
99 * misc_null.c: Must include header files to get older versions of gcc
100 to process the #pragma statements properly.
101
Paul Jakma36943742006-08-04 06:18:04 +00001022006-08-01 Paul Jakma <paul.jakma@sun.com>
103
104 * irdp_main.c: (irdp_advertisement) free the stream here, when done,
105 right under where it was allocated so it's blindingly obvious
106 it's correct. This possibly fixes a very slow leak of streams in
107 zebra.
108 * irdp_packet.c: (send_packet) don't free the stream here as
109 it's hard to tell if right, plus an error case seemed to
110 returning before free anyway.
111
Paul Jakma457eb9a2006-07-27 19:59:58 +00001122006-07-27 Paul Jakma <paul.jakma@sun.com>
113
114 * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations,
115 useful for testing zebra code that calls such methods.
116 * {redistribute,misc}_null.c: Dummy/Null methods, as above. But
117 for zclient, and for various misc functions.
118 * test_main.c: Test harness for zebra, currently just to test the
119 RIB.
120 * Makefile.am: Build testzebra using above.
Paul Jakma6d691122006-07-27 21:49:00 +0000121 * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'.
122 * rib.h: (struct rib) Add a route_node rn_status flag field,
123 this has to be copied every time head RIB of a route_node
124 changes.
125 Remove the rib lock field, not needed - see below.
126 Add a status field for RIB-private flags.
Paul Jakma457eb9a2006-07-27 19:59:58 +0000127 * zebra_rib.c: Add a global for the workqueue hold time, useful
128 for testing.
Paul Jakma6d691122006-07-27 21:49:00 +0000129 (general) Fix for bug #268. Problem originally detailed by
130 Simon Bryden in [quagga-dev 4001].
131 Essentially, add/delete of a RIB must happen /before/ the
132 queue. Best-path selection (ie rib_process) and reaping of
133 freed RIBs can then be done after queueing. Only the route_node
134 is queued - no important RIB state (i.e. whether a RIB is to be
135 deleted) is queued.
136 (struct zebra_queue_node_t) Disappears, no longer need to
137 track multiple things on the queue, only the route_node.
138 (rib_{lock,unlock}) removed, RIBs no longer need to be
139 refcounted, no longer queued.
140 (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted
141 via the queue.
142 (rib_queue_add_qnode) deleted
143 (rib_queue_add) Only the route_node is queued for best-path
144 selection, we can check whether it is already queued or
145 not and avoid queueing same node twice - struct rib * argument
146 is not needed.
147 (rib_link/unlink) (un)link RIB from route_node.
148 (rib_{add,del}node) Front-end to updates of a RIB.
149 (rib_process) Reap any deleted RIBs via rib_unlink.
150 Unset the route_node 'QUEUED' flag.
151 (General) Remove calls to rib_queue_add where add/del node was
152 called - not needed, update calls where not.
153 Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes
Paul Jakma457eb9a2006-07-27 19:59:58 +0000154
Paul Jakma171eee32006-07-27 16:11:02 +00001552006-07-27 Rumen Svobodnikov <rumen@telecoms.bg>
156
157 * connected.c: (connected_up_ipv4) interface connected routes always
158 go to table main (or otherwise they cannot be used by linux as
159 nexthops)
160 * zserv.c: (zread_ipv4_add) send route to the correct routing table
161 * zebra_rib.c (static_install_ipv4) set routing table
162
Paul Jakma27b47252006-07-02 16:38:54 +00001632006-07-02 Paul Jakma <paul.jakma@sun.com>
164
165 * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not
166 proceed if addr is NULL.
167 * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check
168 required arguments are supplied for the given nexthop type.
169
Paul Jakma630c97c2006-06-15 12:48:17 +00001702006-06-15 Paul Jakma <paul.jakma@sun.com>
171
172 * interface.c: (if_flag_dump_vty) redundant code, remove.
173 (if_dump_vty) use libzebra if_flag_dump.
Paul Jakma74ecdc92006-06-15 18:10:47 +0000174 (ip_address_uninstall) Unset the configured flag.
175 * connected.c: (connected_same) new helper, check whether
176 two connected are same.
177 (connected_implicit_withdraw) new helper, consolidation of
178 existing code in connected_add_ipv{4,6}.
179 Try filter out unneeded Zserv address delete/adds when
180 address is exact same.
181 Where old address is implicitely removed, be sure to preserve
182 the IFC_CONFIGURED flag if set, fixes bug where configured
183 addresses were being lost on FreeBSD (Andrew Schorr).
Paul Jakma630c97c2006-06-15 12:48:17 +0000184
Andrew J. Schorr9c378512006-05-21 04:04:49 +00001852006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
186
187 * connected.c: (connected_withdraw) Do not delete the connected
188 address if the ZEBRA_IFC_CONFIGURED flag is set.
189 (connected_add_ipv4,connected_add_ipv6) Before calling
190 connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag
191 on the superseded connected structure.
192
Andrew J. Schorr0f38dc42006-05-19 13:53:23 +00001932006-05-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
194
195 * connected.c: (connected_add_ipv4,connected_add_ipv6) If the
196 new struct connected matches an already existing one
197 (that will consequently be removed by connected_withdraw),
198 then be sure to preserve the ZEBRA_IFC_CONFIGURED flag.
199
Andrew J. Schorr55196042006-05-17 15:04:59 +00002002006-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
201
202 * kernel_socket.c: (ifam_read_mesg) Improve debug message
203 to show the IP address.
204
Paul Jakma66859782006-05-15 17:00:37 +00002052006-05-15 Paul Jakma <paul.jakma@sun.com>
206
207 * zserv.c: (general) Remove the private zebra_command_str
208 in favour of newly added libzebra zserv_command_string.
209
Paul Jakmabeb56332006-05-11 13:28:05 +00002102006-05-11 Paul Jakma <paul.jakma@sun.com>
211
212 * interface.c: (if_delete_update) route_node_lookup may return
213 NULL, should fix Coverity CID #31.
214
Paul Jakmae6d7d052006-03-30 13:32:09 +00002152006-02-09 Paul Jakma <paul.jakma@sun.com>
216
217 * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid
218 needless padding.
219 (struct rib) Remove the indirect pointer, not used anywhere!
220
paul3a570c82006-02-02 17:27:13 +00002212006-02-02 Paul Jakma <paul.jakma@sun.com>
222
223 * interface.c: (if_dump_vty) move flags to their line, neater.
224
paula1038a12006-01-30 14:08:51 +00002252006-01-30 Paul Jakma <paul.jakma@sun.com>
226
227 * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
228 commit, last commit had a hole that could allow connected
229 route selection to escape beyond the connected route logic.
230 This time I cross-checked with Gunnar first. ;)
231
paula8d9c1f2006-01-25 06:31:04 +00002322006-01-25 Gunnar Stigen <gunnar.stigen@axxessit.no>
233
234 * zebra_rib.c: (rib_process) Application of Gunnar's earlier
235 metric selection RIB change included incorrect tidy-ups made
236 by commiter. Fix. (NB: any errors here are again due to paul).
237
paul5c78b3d2006-01-25 04:31:40 +00002382006-01-25 Paul Jakma <paul.jakma@sun.com>
239
240 * (general) More solaris PF_ROUTE hacks. The IFF_UP mangling
241 for solaris was incomplete on the PF_ROUTE side. fix it.
242 This changeset generally uglifies things. For some future
243 work I'd like to see the state changes seperated out from
244 the details of the code. Differences between systems might
245 then be slightly easier to implement without convoluted
246 hacks.
247 Changes should be specific to Solaris mostly, however
248 also tested on FreeBSD 6.
249 * if_ioctl_solaris.c: (interface_list_ioctl) ignore ~IFF_UP
250 interfaces, we'll hear about them when/if interface goes up
251 through NEWADDR.
252 Update flags explicitely at end of it to kick mangling.
253 * ioctl_solaris.c: (if_mangle_up) removed to interface.c, in
254 kind.
255 (lifreq_set_name) more convenient to take the string, than
256 the ifp.
257 (if_get_flags_direct) new convenience function, returns
258 the actual flags. Used during bootstrap in if_ioctl_solaris.c
259 to peek at flags of logical interfaces to see whether or
260 not to ignore them.
261 (if_get_flags) ENXIO means it's gone, poke out IFF_UP and
262 kick flags update.
263 (if_{un,}set_flags) flags argument should be 64bit.
264 * ioctl.{c,h}: flags argument should be 64bit.
265 * interface.h: Add a 'primary_state' flag to struct zebra_if on
266 SUNOS_5.
267 Export if_flags_update.
268 * interface.c: (if_flags_mangle) moved over in kind from
269 ioctl_solaris.c. Nasty kludge to try get IFF_UP right, as
270 much as is possible. Also keep track of the actual IFF_UP
271 value for the primary interface, so we can know when the ifp
272 must be deleted.
273 (if_flags_update) Take a new interface flags value, apply it
274 to the interface, and take whatever actions are required due
275 to flag transitions.
276 (if_refresh) flag state change logic is moved out to
277 previous. Just call if_get_flags, which will end up using
278 previous to effect the update of flags.
279 (if_flag_dump_vty) IFF_IPV{4,6} aren't interesting, VIRTUAL
280 and NOXMIT are though.
281 * kernel_socket.c: (ifm_read) Down->Down transitions shouldn't
282 create ifp, for non-IFANNOUNCE systems.
283 Use if_flags_update to update flags.
284 flag transition logic is now handled automatically through
285 if_flags_update.
286 (ifam_read) Better to call if_refresh *after* adding
287 connected addresses, as connected count affects IFF_UP on
288 IFF_UP-mangled systems.
289 On Solaris, Up->Down due to DELADDR means we need to delete
290 the ifp - the IFINFO might already have been and gone.
291 * rt.h: include other dependent headers.
292
paule8e19462006-01-19 20:16:55 +00002932006-01-19 Paul Jakma <paul.jakma@sun.com>
294
295 * (general) various miscellaneous compiler warning fixes.
296 Remove redundant break statements from switch clauses
297 which return.
298 Remove stray semi-colons which cause empty-statement
299 warnings.
300 * main.c: (sighup) remove private declaration of external
301 function.
302 (main) return from main, not exit, cause it annoys SOS.
303
paulaf887b52006-01-18 14:52:52 +00003042006-01-18 Gunnar Stigen <gunnar.stigen@axxessit.no>
305
306 * zebra_rib.c: Take interface metric into account.
307
pauld34b8992006-01-17 18:03:04 +00003082006-01-17 Paul Jakma <paul.jakma@sun.com>
309
310 * kernel_socket.c: (ifam_read) Read metric from RTM_NEWADDR.
311 If interface is an alias, pass the alias as a label for
312 connected_add_ipv{4,6}.
313 * rt_netlink.c: (netlink_interface_addr) print out
314 IFA_CACHEINFO info, if present, when debugging kernel
315 messages.
316
paulc7133002006-01-17 17:56:18 +00003172006-01-17 Gunnar Stigen <gunnar.stigen@axxessit.no>
318
319 * connected.c: (connected_up_ipv{4,6}) Include interface metric on
320 connected routes.
paul61f42ae2006-01-17 17:59:11 +0000321 * if_ioctl.c: (if_getaddrs) Be defensive about assuming
322 that struct ifaddrs will have ifa_addr filled in.
paulc7133002006-01-17 17:56:18 +0000323
paulc1b98002006-01-16 01:54:02 +00003242006-01-16 Paul Jakma <paul.jakma@sun.com>
325
326 * zserv.c: Read/write updated Zserv header.
327
paulc77d4542006-01-11 01:59:04 +00003282006-01-11 Paul Jakma <paul.jakma@sun.com>
329
330 * zserv.c: (zsend_interface_{add,delete,update}) if flags are
331 8 bytes now, update to write out with stream_putq.
332
gdt6083e1f2005-12-29 15:59:57 +00003332005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
334
gdte14b7fc2005-12-29 16:04:53 +0000335 * kernel_socket.c: remove dead code (from David Young).
336
gdt6083e1f2005-12-29 15:59:57 +0000337 * rt_socket.c (kernel_rtm_ipv4): Use AF_INET rather than AF_UNSPEC
338 for mask. From David Young.
339
paul89368d92005-11-26 09:14:07 +00003402005-11-26 Paul Jakma <paul.jakma@sun.com>
341
342 * connected.{c,h}: (connected_add_ipv6) label should have
343 const qualifier, fix declarations.
344
paulec1a4282005-11-24 15:15:17 +00003452005-11-24 Paul Jakma <paul.jakma@sun.com>
346
347 * kernel_socket.h: New header for functions exported to sysctl
348 methods.
349 * kernel_socket.c: include previous.
350 Remove static qualifier from couple of functions which are
351 used by sysctl methods.
352 Add a workaround for a bogus gcc warning to the RTA_ macros.
353 * Makefile.am: Add kernel_socket.h to noinst_HEADERS
354 * if_sysctl.c: include rt.h and kernel_socket.h and remove
355 redundant prototypes.
356 * rtread_sysctl.c: ditto.
357 (route_read) fix mismatch of return values.
358 * {rt,zserv,rib}.h: Include lib headers depended on.
359
paul6621ca82005-11-23 13:02:08 +00003602005-11-23 Paul Jakma <paul.jakma@sun.com>
361
362 * (general) fix some small compile errors, and mark several
363 functions as static.
364 * kernel_socket.c: (ifan_read) should be static.
365 fix missing brackets.
366 (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static
367 (ifam_read_mesg) make static. fix incorrect variable name.
368 (rtm_read) make static. Fix call to rib_delete_ipv4 which
369 should be rib_delete_ipv6.
370 (routing_socket,kernel_init) should be static. Void argument
371 should be specified as such, not left incomplete.
372 * rt_netlink.c: rt.h should be included, contains prototypes of
373 exported functions.
374 (kernel_delete_ipv6_old) fix sign of index argument.
375 * rt_socket.c: Exact same as previous. Also, make various
376 functions static.
377 * rtread_getmsg.c: Include zserv.h, which prototypes
378 route_read. Make static.
379 * rtread_sysctl.c: zserv.h and rt.h should be included.
380 fix definition of route_read.
381
paul0fb58d52005-11-14 14:31:49 +00003822005-11-14 Paul Jakma <paul.jakma@sun.com>
383
384 * zebra_rib.c: (rib_process) convert to new workqueue specs and
385 shut up gcc, which complains about cast from void via
386 function parameters, for some dumb reason. Do the cast
387 inside the function instead.
388 (rib_queue_qnode_del) ditto.
389 (rib_queue_init) no need for the casts anymore.
390
paul6fe70d12005-11-12 22:55:10 +00003912005-11-12 Alexander Gall <gall@switch.ch>
392
393 * See [quagga-dev 1815]
394 * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN
395 is not available.
396 * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to
397 AF_INET6 on ipv6 routes.
398
3992005-11-12 Paul Jakma <paul.jakma@sun.com>
400
401 * kernel_socket.c: Add RTA_NAME_GET macro to extract name from
402 sockaddr_dl. Add some more RTF_ flags.
403 * (ifan_read) Add some debug messages.
404 * (ifm_read) Add more debug messages. More robust cross-checks
405 of index against name.
406 Fall back to by-name lookup if the index lookup fails, future
407 proofing more than anything else.
408 (ifam_read_mesg) Read RTA_IFP. Add debug messages.
409 (ifam_read) More debug. If there's an RTA_IFP and it isn't
410 the name of the interface, save it as the label.
411 (rtm_read_mesg) Read RTA_IFP.
412 (rtm_read) allow name to be retrieved.
413 (rtmsg_debug) expand on the debug message.
414
paul0994c3a2005-11-11 09:52:40 +00004152005-11-11 Paul Jakma <paul.jakma@sun.com>
416
417 * kernel_socket.c: (ifm_read) arithmetic on void pointer
418 warning.
419 (ifam_read) Fix error from connected-with-label merge,
420 something crept in from the pending Solaris kernel_socket.c
421 patch which shouldn't have.
422
paul0752ef02005-11-03 12:35:21 +00004232005-11-03 Paul Jakma <paul.jakma@sun.com>
424
425 * connected.{c,h}: Include memory.h
426 (connected_add_ipv4) Use MTYPE for ifc label.
427 (connected_add_ipv6) Also should accept label. Store it in ifp.
428 (connected_del_ipv4) Taking label as argument is pointless.
429 * rt_netlink.c: (netlink_interface_addr) update label usage
430 for connected_{add,delete} functions.
431 * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
432 * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
433 so we also find out about NOXMIT interfaces like VNI.
434 Bit of hackery to turn interface names into the primary
435 interface name, later with routing socket messages we only
436 will about primary interfaces anyway, so we must normalise
437 the name.
438 (if_get_addr) take label as argument, so it can
439 be passed to connected_add.
440 If label is provided, then it is interface name to issue the
441 ioctl for address information on, not the ifp name.
442 (interface_list) List AF_UNSPEC too, just in case.
443 * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
444 * interface.c: (if_addr_wakeup) Some very bogus code - sets
445 IFF_RUNNING - add comment.
446 (if_refresh)
447 (ip_address_install) Use MTYPE for ifc label.
448 * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
449 IFF_UP reflect whether any addresses are left on the
450 interface, as we get signalled for IFF_UP flags change on the
451 primary interface only. Logical interfaces dont generate
452 IFINFO, but we do get an RTM_DELADDR.
453 (if_get_flags) Call if_mangle_up before return.
454 * kernel_socket.c: (ifam_read) Fixup calls to
455 connected_{add,delete} to match above changes. Rename gate
456 variable to brd, less confusing.
457 Pass the interface name as a label, if it is not same name
458 as ifp->name.
459
pauld06b2a62005-10-11 03:53:54 +00004602005-10-11 Paul Jakma <paul.jakma@sun.com>
461
462 * connected.{c,h}: (connected_{add,delete}_ipv4) label should
463 be const qualified.
464
ajsc05612b2005-10-01 16:36:54 +00004652005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
466
ajsf52d13c2005-10-01 17:38:06 +0000467 * zebra_vty.c: (route_type_str) Remove obsolete function: use new
468 library function zebra_route_string() instead. Note that there
469 are a few differences: for IPv6 routes, we now get "ripng" and
470 "ospf6" instead of the old behavior ("rip" and "ospf").
471 (route_type_char) Remove obsolete function: ues new library function
472 zebra_route_char() instead. Note that there is one difference:
473 the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
474 whereas the new one returns 'X'.
475 (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
476 route_type_str() with zebra_route_string().
477 (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
478 with zebra_route_char().
479
4802005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
481
ajsc05612b2005-10-01 16:36:54 +0000482 * rt_netlink.c: (netlink_request) Use memset to clear structure
483 before calling sendto (eliminates a valgrind error message about
484 uninitialized data).
vincentaa2e32b2005-09-28 13:42:11 +0000485
4862005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
487
vincentfbf5d032005-09-29 11:25:50 +0000488 * zserv.c: Always provied distance for route add
489
4902005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
491
vincentaa2e32b2005-09-28 13:42:11 +0000492 * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
493 usage with HAVE_IPV6
494
hassod24af182005-09-24 14:00:26 +00004952005-09-24 Hasso Tepper <hasso at quagga.net>
496
497 * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
498 add is treated as implicit withdraw.
499
hassoebf1ead2005-09-21 14:58:20 +00005002005-09-21 David Young <dyoung@ojctech.com>
501
502 * zebra_rib.c: Reduce the height of some staircases. Fix
503 rib_delete_ipv6() to match routes in the RIB by their gateway as
504 well as by destination.
505
paul319572c2005-09-21 12:30:08 +00005062005-09-21 Paul Jakma <paul.jakma@sun.com>
507
508 * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
509 removal of static routes with multiple-hops introduced with
510 the workqueue conversion. We should free the relevant
511 nexthop and then get rib_process to run, otherwise we just
512 get same static route back again (with no way to unconfigure
513 it, because its already deleted from configuration).
514
paulca162182005-09-12 16:58:52 +00005152005-09-12 Paul Jakma <paul.jakma@sun.com>
516
517 * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR
518 support.
519 * connected.c: (connected_withdraw) new function. withdraw a
520 connected subnet address set from zebra, and pass information
521 along to clients.
522 (connected_announce) similar, but to announce a new connected
523 subnet address set.
524 (connected_check_ipv4) renamed to connected_check, as its
525 AFI independent.
526 (connected_add_ipv{4,6}) Remove the connected address announce
527 stuff, use connected_announce instead.
528 If connected_check indicates address is already present,
529 treat it as an implicit withdraw of the existing address, ie
530 remove the old address details and replace with the new
531 details.
532 (connected_delete_ipv{4,6}) Use connected_withdraw.
533 (connected_check_ipv6) deleted in favour of connected_check.
534 * connected.h: Rename connected_check_ipv4 to connected_check.
535 delete connected_check_ipv6.
536 * interface.c: Use connected_check rather than the AFI specific
537 symbols.
538 * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a
539 rib delete event for the existing route, before adding route
540 again.
541 (kernel_read) we can handle RTM_CHANGE now.
542
hassobe61c4e2005-08-27 06:05:47 +00005432005-08-27 Hasso Tepper <hasso at quagga.net>
544
545 * zebra_rib.c, rib.h: Add distance and metric arguments to the
546 rib_add_ipv6() function so that IPv6 routes in RIB can have correct
547 metric. No IPv6 routing daemon uses distance yet though.
548 * zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
549 rtread_proc.c,zserv.c: Pass metric and distance info to the
550 rib_add_ipv6().
551
paul6eb88272005-07-29 14:36:00 +00005522005-07-29 Paul Jakma <paul.jakma@sun.com>
553
554 * interface.c: (if_delete_update) should always be available, not
555 just on RTM_IFANNOUNCE/NETLINK systems.
556 * kernel_socket.c: (ifan_read) only call if_delete_update when
557 interface departs, dont if_delete, because we wish to retain
558 interface configuration state even when interfaces are removed.
559 (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning
560 to down state is only chance we have to clean up interface in case
561 it is deleted (eg Solaris down -> unplumb -> plumb up).
562 * redistribute.c: (zebra_interface_delete_update) should always be
563 available, we /will/ call it now on all systems, via
564 if_delete_update.
565 * zserv.c: (zsend_interface_delete) ditto
566 (zsend_interface_address) Update the call-flow diagramme, to
567 reflect that if_delete_update /is/ now called on all systems,
568 potentially.
569 * zserv.h: (zsend_interface_delete) unconditionally exported, as
570 above.
571
paula1ac18c2005-06-28 17:17:12 +00005722005-06-28 Paul Jakma <paul.jakma@sun.com>
573
574 * (global) Extern and static'ification, with related fixups
575 of declarations, ensuring files include their own headers, etc.
paulea6f82b2005-06-28 17:20:26 +0000576 * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in
paula1ac18c2005-06-28 17:17:12 +0000577 list loop
paulea6f82b2005-06-28 17:20:26 +0000578 * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
579 should be on DEST argument
paula1ac18c2005-06-28 17:17:12 +0000580
paul62debbb2005-06-14 14:07:07 +00005812005-06-14 Paul Jakma <paul.jakma@sun.com>
582
583 * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and
584 RTM{ADDR,MASK}GET macros into generic rta_addrs macros,
585 RTA_{ADDR,ATTR}_GET.
586 (af_check) could use 'inline' attribute
587 (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to
588 generic macro.
589 (rtm_read_mesg) similar
590
hasso1ada8192005-06-12 11:28:18 +00005912005-06-12 Hasso Tepper <hasso at quagga.net>
592
593 * rt_netlink.c: Remove netlink-addr socket declaration, it's not used.
594 * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is
595 unsigned and one zlog call had swapped arguments.
596 * rt_netlink.c (netlink_route_multipath): Fix compile with disabled
597 IPv6 support.
598
paul1dcb5172005-05-31 08:38:50 +00005992005-05-31 Paul Jakma <paul.jakma@sun.com>
600
601 * zserv.c: (zsend_route_multipath) Fix bug if route is sent
602 with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX
603 and ZAPI_MESSAGE_NEXTHOP are always set, clients would try
604 read non-existent nexthop information and hit stream assert.
605 Zserv is still broken for multi-nexthop messages, but it always was.
606
paul69e10ad2005-05-06 21:27:33 +00006072005-05-06 Paul Jakma <paul.jakma@sun.com>
608
609 * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
610
paul4d38fdb2005-04-28 17:35:14 +00006112005-04-28 Paul Jakma <paul.jakma@sun.com>
612
613 * rib.h: (struct rib) Add lock field for refcounting.
614 * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
615 'master' struct.
616 * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
617 * zebra_rib.c: Clean up refcounting of route_node, make struct rib
618 refcounted and convert rib_process to work-queue. In general,
619 rib's should be rib_addnode'd and delnode'd to route_nodes, and
620 these symmetrical functions will manage the locking of referenced
621 route_node and freeing of struct rib - rather than having users
622 manage each seperately - with much scope for bugs..
623 (newrib_free) removed and replaced with rib_lock
624 (rib_lock) new function, check state of lock and increment.
625 (rib_unlock) new function, check lock state and decrement. Free
626 struct rib if refcount hits 0, freeing struct nexthop's, as
627 newrib_free did.
628 (rib_addnode) Add RIB to route_node, locking both.
629 (rib_delnode) Delete RIB from route_node, unlocking each.
630 (rib_process) Converted to a work-queue work function.
631 Functional changes are minimal, just arguments, comments and
632 whitespace.
633 (rib_queue_add_qnode) Helper function to setup a ribq item.
634 (rib_queue_add) Helper function, same arguments as old
635 rib_process, to replace in callers of rib_process.
636 (rib_queue_qnode_del) ribq deconstructor.
637 (rib_queue_init) Create the ribq.
638 (rib_init) call rib_queue_init.
639 (remainder) Sanitise refcounting of route_node's. Convert to
640 rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
641 to XCALLOC. Remove calls to nexthop_delete and nexthop_free.
642
paulcf460ef2005-04-10 16:54:26 +00006432005-04-10 Paul Jakma <paul@dishone.st>
644
645 * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
646 in ALL_LIST_ELEMENTS_RO macro.
647
ajs57a14772005-04-10 15:01:56 +00006482005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
649
650 * zserv.c (zebra_client_read): Fix bug: first read attempt should
651 read ZEBRA_HEADER_SIZE minus the number of bytes already read.
652 Improve efficiency by maintaining a calculation of the number
653 of bytes read instead of calling stream_get_endp multiple times.
654 If message length is too small, issue a warning message (not debug)
655 before closing the connection. And also check that message length
656 is not too big.
657
hasso206d8052005-04-09 16:38:51 +00006582005-04-09 Hasso Tepper <hasso at quagga.net>
659
hassofa599802005-04-09 16:59:28 +0000660 * rt_netlink.c: One tiny missing comma caused pointless debug messages
661 about IPv6 nexthops.
662
6632005-04-09 Hasso Tepper <hasso at quagga.net>
664
hasso206d8052005-04-09 16:38:51 +0000665 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
666 status to unsigned here, because we already checked that it isn't
667 negative or 0.
668 * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
669 address, not to the interface.
670 * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
671 is printed out now and IPv6 info is handeled.
672
paul3d1dc852005-04-05 00:45:23 +00006732005-04-05 Paul Jakma <paul@dishone.st>
674
675 * zserv.c: print more helpful errors when we fail to successfully
676 bind and listen on zserv socket. Closes bugzilla #163.
677
ajsd2fc8892005-04-02 18:38:43 +00006782005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
679
ajs08dbfb62005-04-03 03:40:52 +0000680 * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
681 * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
682 avoid overflow.
683 * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
684
6852005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
686
ajsa3491982005-04-02 22:50:38 +0000687 * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
688 to save a memcpy.
689 * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
690 if_get_by_name_len function.
691
6922005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
693
ajsd2fc8892005-04-02 18:38:43 +0000694 * interface.c: (if_new_intern_ifindex) Remove obsolete function.
695 (if_delete_update) After distributing the interface deletion message,
696 set ifp->ifindex to IFINDEX_INTERNAL.
697 (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
698 IFINDEX_INTERNAL.
699 (zebra_interface) Check return code from interface_cmd.func.
700 Do not set internal ifindex values to if_new_intern_ifindex(),
701 since we now use IFINDEX_INTERNAL for all pseudo interfaces.
702 * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
703 all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
704 * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
705 Detects interface rename events by checking if that ifindex is already
706 being used. If it is, delete the old interface before assigning
707 the ifindex to the new interface.
708 (netlink_interface, netlink_link_change) Call set_ifindex to update
709 the ifindex.
710
hassob7ed1ec2005-03-31 20:13:49 +00007112005-03-31 Hasso Tepper <hasso at quagga.net>
712
713 * rt_netlink.c (netlink_talk_filter): Show always warning message,
714 it's not for debug.
715 * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
716 although we do now actually.
717 * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
718 netlink_cmd to send messages to the kernel.
719
ajs2da40f42005-03-30 16:33:13 +00007202005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
721
722 * irdp.h: Add prototype for irdp_sock_init, and fix protos for
723 other irdp_* functions.
724 * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
725 call irdp_sock_init to create the IRDP socket.
726 (irdp_if_init) Rename to irdp_init().
727 (get_iflist_ifp) Remove function that is a duplicate of
728 if_lookup_by_index.
729 (*) Make many functions static. And remove superfluous "\n" from
730 several zlog messages.
731 * irdp_main.c: (irdp_init) Remove function that used to call
732 irdp_if_init() and irdp_sock_init(), since we will now create
733 the socket only upon first use.
734 (irdp_sock_init) Do not update global irdp_sock variable, just
735 return the fd and assume that the caller will do so. If setsockopt
736 calls fail, close the socket before returning -1.
737 (*) Make many functions static.
738 * irdp_packet.c: Initialize irdp_sock to -1.
739 (irdp_read_raw) Call standard library function if_lookup_by_index
740 instead of get_iflist_ifp.
741 (irdp_recvmsg) Should be static, not global.
742
ajsa608bbf2005-03-29 17:03:49 +00007432005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
744
745 * rt_netlink.c: (netlink_link_change) If the status of an
746 operative interface changes (e.g. MTU changes), the client
747 daemons should be notified by calling zebra_interface_up_update.
748 Previously, the information was being updated in zebra's
749 interface structure, but the clients were not notified of
750 changes to an operative interface.
751
vincent7cee1bb2005-03-25 13:08:53 +00007522005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
753 * interface.c, interface.h, rtadv.c, rtadv.h: modifications to
754 IPv6 Neighbor Discovery according to RFC3775, section 7:
755 o 1-bit Home Agent flag management in Router Advertisement (7.1).
756 o 1-bit Router Address flag management in Prefix Information
757 Option (7.2).
758 o Advertisement Interval Option (7.3)
759 o Home Agent Information Option (7.4)
760 o Changes to Sending Router Advertisements more frequently (7.5)
761
hassoed9bb6d2005-03-13 19:17:21 +00007622005-03-13 Hasso Tepper <hasso at quagga.net>
763
764 * zebra/interaface.c: "show interface description" command
765 implemented.
766
paulc1f01f32005-03-12 06:33:14 +00007672005-03-12 Paul Jakma <paul@dishone.st>
768
769 * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
770 No stock Linux kernel has ever supported it, and even if it had
771 it's not generally a good idea.
772
hasso42a66d72005-03-07 08:19:44 +00007732005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
774
775 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
776
hasso3452d472005-03-06 13:42:05 +00007772005-03-06 Hasso Tepper <hasso at quagga.net>
778
779 * interface.c: Fix CRC and frame errors statistics in Linux.
780
ajs719e9742005-02-28 20:52:15 +00007812005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
782
783 * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
784 Remove global message_queue and t_write (need separate buffering for
785 each client).
786 (zebra_server_dequeue,zebra_server_enqueue) Remove functions
787 related to old buggy buffering code.
788 (zserv_delayed_close) New thread callback function to delete a client.
789 (zserv_flush_data) New thread callback function to flush buffered
790 data to client.
791 (zebra_server_send_message) Rewritten to use buffer_write (so
792 buffering of writes and non-blocking I/O work properly).
793 (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
794 zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
795 (this is not really an error). Return value from
796 zebra_server_send_message.
797 (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
798 zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
799 (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
800 from zebra_server_send_message.
801 (zsend_router_id_update) Must use zebra_server_send_message instead
802 of deprecated writen function. Return 0 instead of -1 if this client
803 is not subscribed to router-id updates (since this is not really
804 an error).
805 (zread_interface_add) Change type to static int. If
806 zsend_interface_add fails or zsend_interface_address fails, return -1
807 immediately (since the client has had an I/O error).
808 (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
809 zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
810 to indicate success.
811 (zread_ipv4_nexthop_lookup) Return value from
812 zsend_ipv4_nexthop_lookup.
813 (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
814 (zebra_read_ipv6) Remove unused function.
815 (zread_ipv6_nexthop_lookup) Return value from
816 zsend_ipv6_nexthop_lookup.
817 (zread_router_id_add) Return value from zsend_router_id_update.
818 (zebra_client_close) Call buffer_free(client->wb) and
819 thread_cancel(client->t_suicide).
820 (zebra_client_create) Allocate client->wb using buffer_new.
821 (zebra_client_read) Support non-blocking I/O by using stream_read_try.
822 Use ZEBRA_HEADER_SIZE instead of 3.
823 (zebra_accept) Fix bug: reset accept thread at top. Make client
824 socket non-blocking using the set_nonblocking function.
825 (config_write_forwarding) Fix scope to static.
826 (zebra_init) Remove initialization code for old buggy write buffering.
827 * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
828 (to enable buffered writes with non-blocking I/), and
829 struct thread *t_suicide to support delayed close on I/O
830 errors.
831 * router-id.h: Remove prototypes for zread_router_id_add and
832 zread_router_id_delete (their scope should be static to zserv.c).
833
ajs27da3982005-02-24 16:06:33 +00008342005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
835
836 * redistribute.c: (zebra_check_addr,is_default,
837 zebra_redistribute_default,zebra_redistribute) Fix scope to be static.
838
hassoe8274dc2005-02-20 19:09:23 +00008392005-02-20 Hasso Tepper <hasso at quagga.net>
840
841 * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
842 if we are not debugging.
843
paule31f2292005-02-19 02:00:26 +00008442005-02-19 Paul Jakma <paul@dishone.st>
845
846 * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
847 STREAM_READABLE.
848
paul1e193152005-02-14 23:53:05 +00008492005-02-14 Paul Jakma <paul@dishone.st>
850
851 * Not all Linux netlink systems have IFLA_WIRELESS
852
ajs6a52d0d2005-01-30 18:49:28 +00008532005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
854
855 * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
856 zlog_err.
857 * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
858 zlog_err.
859
ajs4be019d2005-01-29 16:12:41 +00008602005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
861
ajs4460e7a2005-01-29 17:07:40 +0000862 * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
863 zserv_privs.change.
864 * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
865 zserv_privs.change.
866 * ipforward_solaris.c: (solaris_nd) Save errno before calling
867 zserv_privs.change.
868 * irdp_main.c: (irdp_sock_init) Save errno before calling
869 zserv_privs.change.
870
8712005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
872
ajs4be019d2005-01-29 16:12:41 +0000873 * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
874 netlink_talk) Save errno before calling zserv_privs.change.
875
paulc15cb242005-01-24 09:05:27 +00008762005-01-24 Martin Pot <mpot at martybugs.net>
877
878 * zebra/rt_netlink.c: ignore wireless newlink netlink messages.
879
hasso6f2c27a2005-01-18 13:44:35 +00008802005-01-18 Hasso Tepper <hasso at quagga.net>
881
882 * interface.c: Better statistics output in "show interface" command in
883 case of /proc being used.
884
hasso583d8002005-01-16 23:34:02 +00008852005-01-17 Hasso Tepper <hasso at quagga.net>
886
887 * main.c: With --nl-bufsize argument is required.
888
paul865b8522005-01-05 08:30:35 +00008892005-01-05 Paul Jakma <paul@dishone.st>
890
891 * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
892 for now, as we dont actually deal with with resending.... See
893 bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
894 * kernel_socket.c: (routing_socket) ditto.
895
ajsb99760a2005-01-04 16:24:43 +00008962005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
897
898 * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
899 instead of CMSG_FIRSTHDR.
900
ajs341a8f12004-12-22 16:32:16 +00009012004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
902
903 * connected.c: (connected_add_ipv4) Limit warning about /32 addresses
904 with no peer specified to PtP interfaces only.
905
hassob8adec12004-12-18 16:03:28 +00009062004-12-18 Hasso Tepper <hasso at quagga.net>
907
908 * zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it
909 work for isis routes.
910
gdt6a250b02004-12-09 14:48:12 +00009112004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
912
913 * kernel_socket.c (rtmsg_debug): char * => const char *
914
ajs274a4a42004-12-07 15:39:31 +00009152004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
916
ajsb6178002004-12-07 21:12:56 +0000917 * *.c: Change level of debug messages to LOG_DEBUG.
918
9192004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
920
ajs274a4a42004-12-07 15:39:31 +0000921 * main.c: (main) The 2nd argument to openzlog has been removed.
922 So stdout logging will no longer be enabled by default.
923 * irdp_main.c: (irdp_finish) Reduce severity of shutdown message
924 from LOG_WARNING to LOG_INFO.
925
ajs887c44a2004-12-03 16:36:46 +00009262004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
927
928 * main.c: (sigint) Use zlog_notice for termination message.
929 (main) Add a startup announcement using zlog_notice.
930
hassoaccb1562004-11-25 19:21:07 +00009312004-11-25 Hasso Tepper <hasso at quagga.net>
932
933 * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because
934 it confuses extract.pl.
hassoc0652302004-11-25 19:33:48 +0000935 * main.c: Make group to run as configurable.
hassoaccb1562004-11-25 19:21:07 +0000936
hasso6bd7c6a2004-10-28 17:32:27 +00009372004-10-28 Hasso Tepper <hasso at quagga.net>
938
939 * interface.c: Remove dead "ip tunnel" command.
940
paul06f953f2004-10-22 17:00:38 +00009412004-10-22 Paul Jakma <paul@dishone.st>
942
943 * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex
944
hasso3fb9cd62004-10-19 19:44:43 +00009452004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
946
947 * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore
948 tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL].
949 * interface.c: (ip_address_install) Use new ipv4_broadcast_addr
950 function.
951 * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST
952 macro.
953 (connected_down_ipv4) ditto.
954 (connected_add_ipv4) Validate destination address, print warnings
955 if it does not make sense.
956
hassoc1eaa442004-10-19 06:26:01 +00009572004-10-19 Hasso Tepper <hasso at quagga.net>
958
959 * zserv.c: Fix regression introduced with zserv cleanup.
960
hassoc75105a2004-10-13 10:33:26 +00009612004-10-13 Hasso Tepper <hasso at quagga.net>
962
963 * zebra_snmp.c: Remove defaults used to initialize smux connection to
964 snmpd. Connection is initialized only if smux peer is configured.
hassob71f00f2004-10-13 12:20:35 +0000965 * zserv.c: Remove useless warnings "forwarding is already on".
hassoc75105a2004-10-13 10:33:26 +0000966
hasso39ff11d2004-10-12 15:55:19 +00009672004-10-12 Hasso Tepper <hasso at quagga.net>
968
969 * zebra_vty.c: Unbreak "show ip route" command help and make it work
970 for isis routes.
hasso39db97e2004-10-12 20:50:58 +0000971 * interface.c(if_dump_vty): Show IPv6 addresses in "show interface"
972 output. Fixes Bugzilla #119.
973 * *.c: Make some strings const and some (unsigned) casts to fix
974 compiler warnings.
hasso39ff11d2004-10-12 15:55:19 +0000975
hassofce954f2004-10-07 20:29:24 +00009762004-10-07 Hasso Tepper <hasso at quagga.net>
977
978 * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c:
979 Fix warnings: make strings const, signed -> unsigned.
980
paul72164662004-10-05 14:39:43 +00009812004-10-05 Paul Jakma <paul@dishone.st>
982
983 * irdp_packet.c: (parse_irdp_packet) style issues.
984 Use sockopt_iphdrincl_swab_systoh.
985 Try unbork the code. Checksum the ICMP data and actually
986 compare it to received checksum. Check data length against
987 claimed length in header.
988 Always use ntoh.. when accessing addresses, even when the
989 comparison happens to be endian-safe.
990 (send_packet) minor style isues. Use
991 sockopt_iphdrincl_swab_htosys.
992 (irdp_iph_hton/ntoh) IP header to/from network/host order.
993
hassoeef1fe12004-10-03 18:46:08 +00009942004-10-03 Gilad Arnold <gilad.arnold at terayon.com>
995
996 * interface.c, interface.h: A new prefix tree of connected subnets is
997 associated with each interface structure in zebra, in which each
998 live (ie, non-synthetic) node holds a list of installed addresses
999 that belong to that prefix. Remove secondary address logic from cli.
1000 See [quagga-dev 872] for detailed explanation.
1001 * connected.c: Use if_subnet_add() and if_subnet_delete().
1002
hasso18a6dce2004-10-03 18:18:34 +000010032004-10-03 James R. Leu <jleu at mindspring.com>
1004
1005 * router-id.c, router-id.h: New files. Router id selection process. If
1006 there is non 127.x.x.x address in loopack interface, lowest of them
1007 is chosen. If there isn't, lowest from other interfaces addresses
1008 are chosen. "router-id x.x.x.x" vty command to manual override.
1009 * Makefile.am: Compile new files.
1010 * main.c: Initialize router id.
1011 * redistribute.c: Add interface addresses into router id selection
1012 lists as they (dis)appear.
1013 * zserv.c, zserv.h: Sending router id related messages to daemons.
1014
hassoc9e52be2004-09-26 16:09:34 +000010152004-09-26 Hasso Tepper <hasso at quagga.net>
1016
1017 * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
1018 rtadv.c, zebra_vty.c: Fix compiler warnings.
1019
paul0c0f9112004-09-24 08:24:42 +000010202004-09-24 Paul Jakma <paul@dishone.st>
1021
paul26f7a242004-09-24 08:45:10 +00001022 * irdp_interface.c: (no_ip_irdp_address_preference_cmd)
1023 add missing listnode declaration.
1024
10252004-09-24 Paul Jakma <paul@dishone.st>
1026
paul0c0f9112004-09-24 08:24:42 +00001027 * irdp_{interface,main}.c: lists typedef removal cleanup.
1028 update some list loops to LIST_LOOP. some miscellaneous style
1029 and indent fixups.
1030 (no_ip_irdp_address_preference_cmd) Fix delete of referenced node
paul26f7a242004-09-24 08:45:10 +00001031 in loop.
paul0c0f9112004-09-24 08:24:42 +00001032 * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer
1033 to pointer.
1034 * if_ioctl{,_solaris}.c: lists typedef removal cleanup.
1035 update some list loops to LIST_LOOP.
1036
hasso52dc7ee2004-09-23 19:18:23 +000010372004-09-23 Hasso Tepper <hasso at quagga.net>
1038
1039 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1040
paul44983cf2004-09-22 13:15:58 +000010412004-09-22 Paul Jakma <paul.jakma@sun.com>
1042
1043 * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
1044 in_addr to sizeof(struct in6_addr), causing odd and hard to debug
1045 crash.
1046
hassoc34b6b52004-08-31 13:41:49 +000010472004-08-31 Hasso Tepper <hasso at quagga.net>
1048
1049 * main.c, rt_netlink.c: Added -s command line switch for tuning
1050 netlink receive buffer size in Linux to avoid buffer overruns.
1051
gdta5ea6872004-08-26 13:24:00 +000010522004-08-26 Miles Nordin <carton@Ivy.NET>
1053
1054 * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
1055 sysctl(3), rather than int. (Needed on NetBSD/alpha to display
1056 forwarding status correctly.)
1057
paul3e0b3a52004-08-23 18:58:32 +000010582004-08-23 Paul Jakma <paul@dishone.st>
1059
1060 * zserv.c: (zebra_init) remove implicit ip forward enabling
1061
paul0de1cde2004-08-19 04:45:33 +000010622004-08-19 Paul Jakma <paul@dishone.st>
1063
1064 * irdp_main.c: update to match sockopt renames.
1065 * irdp_packet.c: include sockopt.h and update to match sockopt
1066 renames.
1067
gdt57492d52004-08-11 18:06:38 +000010682004-08-11 Greg Troxel <gdt@fnord.ir.bbn.com>
1069
1070 * rtadv.c (rtadv_send_packet): Allocate space for control messages
1071 more carefully; it was wrong on NetBSD/sparc where CMSG alignment
1072 is to 8 bytes instead of 4, and overwriting the address. Use the
1073 provided macros for determining lengths.
1074
paul5b73a672004-07-23 15:26:14 +000010752004-07-23 Sowmini Varadhan <Sowmini.Varadhan@Sun.COM>
1076
1077 * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups
1078 * zserv.c: ditto
1079 * ioctl_solaris.c: ditto.
1080 * interface.c: cast for LLADDR
1081 * interface.h: Add guards, include redistribute.h and remove
1082 extraneous definitions of zebra_interface_{up,down}_update
1083 * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6
1084 * redistribute.h: include dependent header, zserv.h
1085 * zserv.h: include dependent header, rib.h
1086
paul1470baf2004-07-23 15:25:01 +000010872004-07-23 Paul Jakma <paul@dishone.st>
1088
1089 * irdp_main.c: use setsockopt_pktinfo_ipv4
1090 * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and
1091 getsockopt_pktinfo_ifindex()
1092
gdtcced60d2004-07-13 16:45:54 +000010932004-07-13 David Wiggins <dwiggins@bbn.com
1094
1095 * kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'.
1096
hasso25dac852004-07-13 03:06:51 +000010972004-07-13 Hasso Tepper <hasso@estpak.ee>
1098
1099 * irdp_main.c: Add privilege change.
1100
hasso996933f2004-07-12 16:32:56 +000011012004-07-12 Hasso Tepper <hasso@estpak.ee>
1102
1103 * irdp_interface.c: follow common style while naming vty command
1104 functions. Avoids confusion in extract.pl.
1105
gdt87efd642004-06-30 17:36:11 +000011062004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1107
1108 * main.c: define thread_master variable so that linking with
1109 libzebra.so doesn't fail. Arguably zclient.o should be in a
1110 separate library, but this is far less disruptive.
1111
hassoca776982004-06-12 14:33:05 +000011122004-06-12 Robert Olsson <Robert.Olsson at data.slu.se>
1113
1114 * Added IRDP support.
1115
hasso3e31cde2004-05-18 11:58:59 +000011162004-05-18 Hasso Tepper <hasso@estpak.ee>
1117
1118 * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd
1119 prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of
1120 "ipv6 nd prefix" command to allow various combinations of parameters
1121 and flags. No defaults in configuration. Replaced on-link and
1122 autoconfig with off-link and no-autoconfig flags in command syntax.
1123 Cosmetic fixes in all commands. Documentation to reflect all changes.
1124
paul19877dd2004-05-11 10:49:35 +000011252004-05-11 Paul Jakma <paul@dishone.st>
1126
1127 * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
paul48a46fa2004-05-11 10:55:22 +00001128 * if_ioctl_solaris.c: Fixup some erroneous privilege changes and
1129 add privs.h header.
1130 * ioctl_solaris.c: ditto
paulc50ae8b2004-05-11 11:31:07 +00001131 * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6
1132 * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while
1133 RHS in assignments :)
1134 * redistribute.c: (zebra_interface_delete_update) only used
1135 if RTM_IFANNOUNCE and NETLINK is available.
1136
paulb9df2d22004-05-09 09:09:59 +000011372004-05-09 Paul Jakma <paul@dishone.st>
1138
1139 * zserv.c: (zsend_route_multipath) Set the nexthop_num
1140 field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6.
1141 Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds.
1142 (zsend_ipv4_add) cruft, deleted.
1143 (zsend_ipv4_delete) ditto.
1144 (zsend_ipv6_add) ditto.
1145 (zsend_ipv6_delete) ditto.
paul44145db2004-05-09 11:00:23 +00001146 * ioctl.c: (if_get_mtu) set mtu6 to mtu
1147 * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
1148 * rt_netlink.c: (netlink_interface) set mtu6 to mtu
1149 (netlink_link_change) ditto
paul66e94882004-05-09 17:19:24 +00001150 * ipforward_solaris.c: fix typo of ND variable.
paul88424682004-05-09 18:21:35 +00001151 * if_ioctl_solaris.c: Add zprivs support.
1152 * ioctl_solaris.c: ditto.
paul66e94882004-05-09 17:19:24 +00001153
paulb9df2d22004-05-09 09:09:59 +000011542004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
1155
1156 * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed
1157 into single zsend_route_multipath function.
1158 (zsend_interface_{up,down}) collapsed into zsend_interface_update.
1159 (zsend_interface_address_{add,delete}) collapsed into
1160 zsend_interface_address.
1161 (zsend_interface_add) send mtu6.
1162 (zsend_interface_delete) ditto.
1163 (zebra_write) remove unused function.
1164 (various) Apply static qualifier. Add comments.
1165 * zserv.h: Definitions changed as per above.
1166 * redistribute.c: Changes as per zserv.c.
paul44145db2004-05-09 11:00:23 +00001167 * interface.c: (if_delete_update) only used with HAVE_NETLINK
1168 and RTM_IFANNOUNCE.
1169 (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
1170 (if_dump_vty) print mtu6 if not same as mtu
paul88424682004-05-09 18:21:35 +00001171 * if_ioctl_solaris.c: New file, Solaris interface ioctl methods.
1172 * ioctl_solaris.c: New file, Common solaris ioctl methods.
1173
hasso34195bf2004-04-06 12:07:06 +000011742004-04-06 Krzysztof Oledzki <oleq@ans.pl>
1175
1176 * rt_netlink.c: Do not ignore metric when reading kernel routing
1177 table on Linux with rt_netlink interface.
1178
11792004-03-18 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001180
1181 * interface.c: Temporary fix for handling secondary addresses
1182 with label.
1183
hasso55906722004-02-11 22:42:16 +000011842004-02-12 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001185
hasso55906722004-02-11 22:42:16 +00001186 * zserv.c: Added "ipv6 forwarding" command.
1187
gdtb27900b2004-01-08 15:44:29 +000011882004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
1189
1190 * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
1191 for reading kernel messages to ensure enough space (necessary on
1192 Solaris due to sockaddr_dl being large). Thanks to Sowmini
1193 Varadhan for help with this change.
1194
gdt9ccabd12004-01-06 18:23:02 +000011952004-01-06 Greg Troxel <gdt@t1.ir.bbn.com>
1196
1197 * rtadv.c (rtadv_send_packet): Change perror to zlog_err.
1198
gdtdbee01f2004-01-06 00:36:51 +000011992004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdt4bfbea82004-01-06 01:13:05 +00001200 * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
1201 to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
1202 to just the accomodation of broken kernels. Check sockaddr_dl
1203 carefully up front, and later assume any non-NULL sdl pointer is
1204 valid. Clean up types and variable declarations, and rename
1205 WRAPUP to SAROUNDUP to make the name fit the behavior.
1206
12072004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdtdbee01f2004-01-06 00:36:51 +00001208
1209 * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
1210 structure, because on Solaris sockaddr_dl is far larger than the
1211 base sockaddr structure. (The code had previously been failing to
1212 read all the data.)
gdt4bfbea82004-01-06 01:13:05 +00001213
gdtda26e3b2004-01-05 17:20:59 +000012142004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
1215
1216 * kernel_socket.c (kernel_read): Look up interfaces by index
1217 first, so that state changes which do not include a sockaddr_dl
1218 now work. Add many sanity checks. In
1219 particular, do not assume that a sockaddr_dl follows a message
1220 without checking the ifm_addrs flags, and do not trust the length
1221 in a sockaddr_dl. Add/clarify many comments.
1222
gdt4b5e1352003-12-03 17:54:34 +000012232003-12-03 Greg Troxel <gdt@poblano.ir.bbn.com>
1224
1225 * rtadv.c: reorder includes to avoid compiler warning (define
1226 structs before using them in prototypes)
1227
hasso647e4f12003-05-25 11:43:52 +000012282003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>
1229
1230 * zserv.c: Add "ip forwarding" command.
1231
paul445f1432003-05-16 19:00:31 +000012322003-05-16 Gilad Arnold <gilad.arnold@terayon.com>
1233
1234 * zebra_rib.c: Fix memory leaks for ifname nexthops
1235
12362003-04-19 Israel Keys <ikeys@agile.tv>
1237
1238 * rt_netlink.c: BLOCK on netlink while initialising
1239
12402003-02-06 Francois Deppierraz <francois@ctrlaltdel.ch>
1241
1242 * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
1243 it exists.
1244
paul718e3742002-12-13 20:15:29 +000012452002-09-28 Akihiro Mizutani <mizutani@net-chef.net>
1246
1247 * zebra_rib.c (static_add_ipv4): Null0 static route is added.
1248
12492002-09-10 Jochen Friedrich <chris+zebra@scram.de>
1250
1251 * rt_netlink.c: Add check for EAGAIN.
1252 * kernel_socket.c: Likewise
1253
12542002-06-12 Israel Keys <ikeys@oz.agile.tv>
1255
1256 * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
1257 message so that we get an ACK for successful netlink commands.
1258 Change the netlink socket to BLOCKING while we wait for a
1259 response; be it an ACK or an NLMSG_ERROR. Change
1260 netlink_parse_info to deal with ACK messages.
1261
12622001-11-01 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1263
1264 * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
1265 work for ICMPv6 socket.
1266
12672001-10-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1268
1269 * rib.c (rib_process): Select connected route any case.
1270
12712001-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1272
1273 * interface.c (no_ip_address_secondary): Add "no" to command.
1274
12752001-10-18 NOGUCHI Kay <kay@v6.access.co.jp>
1276
1277 * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
1278 to infinity as the freebsd4.4 workaroud.
1279
12802001-08-26 mihail.balikov@interbgc.com
1281
1282 * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
1283 A.B.C.255.
1284
12852001-08-22 NOGUCHI Kay <kay@v6.access.co.jp>
1286
1287 * rtadv.c: Do not send RA to loopback interface.
1288
12892001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1290
1291 * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
1292 route treatment.
1293
12942001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1295
1296 * zebra-0.92a released.
1297
12982001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1299
1300 * rib.c: Kernel route is treated as EGP routes in nexthop active
1301 check.
1302
13032001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1304
1305 * zebra-0.92 released.
1306
13072001-08-08 "Akihiro Mizutani" <mizutani@dml.com>
1308
1309 * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
1310 show route commands.
1311
13122001-07-29 Yon Uriarte <havanna_moon@gmx.net>
1313
1314 * zserv.c (zsend_ipv4_add_multipath): Add
1315 NEXTHOP_TYPE_IPV4_IFINDEX check.
1316
13172001-07-29 NOGUCHI Kay <kay@v6.access.co.jp>
1318
1319 * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
1320 autonomous address-configuration flag patch.
1321 (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
1322 suppress-ra".
1323
13242001-07-24 NOGUCHI Kay <kay@v6.access.co.jp>
1325
1326 * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
1327 command.
1328
13292001-07-24 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1330
1331 * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
1332 multicast FIB support both IPv4 and IPv6.
1333
13342001-07-24 Hal Snyder <hal@vailsys.com>
1335
1336 * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
1337 full list of interfaces on some configurations of OpenBSD.
1338
13392001-07-23 NOGUCHI Kay <kay@v6.access.co.jp>
1340
1341 * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
1342 send-ra" bug.
1343 (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
1344 availability.
1345 (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
1346 added.
1347 (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
1348
13492001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1350
1351 * ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
1352
1353 * rt_ioctl.c: Likewise.
1354
13552001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1356
1357 * kernel_socket.c (rtm_write): Only set RTF_CLONING when the
1358 interface is not p2p.
1359
13602001-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1361
1362 * ioctl.c (if_prefix_add_ipv6): Fix argument type.
1363
13642001-04-06 Toshiaki Takada <takada@zebra.org>
1365
1366 * zserv.c (zsend_interface_delete): Use client->obuf instead of
1367 allocating new stream.
1368
13692001-03-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1370
1371 * rt_netlink.c: Revert RTPROT_BOOT change.
1372
13732001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1374
1375 * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
1376 (netlink_routing_table): Likewise.
1377
13782001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1379
1380 * zserv.c (zsend_ipv4_add_multipath): Send metric value to
1381 protocol daemons.
1382
13832001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1384
1385 * rt_netlink.c (netlink_routing_table): Do not return
1386 tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe"
1387 <mokeefe@qualcomm.com>.
1388
13892001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1390
1391 * if_ioctl.c (interface_list_ioctl): Call if_add_update().
1392 Suggested by: Chris Dunlop <chris@onthe.net.au>.
1393
13942001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1395
1396 * rib.c (nexthop_active_ipv4): When nexthop type is
1397 NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
1398
1399 * zserv.c: Initialize rtm_table_default with 0.
1400
1401 * zebra-0.91 is released.
1402
14032001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1404
1405 * kernel_socket.c (rtm_read): Filter cloned route. Suggested by:
1406 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1407
14082001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1409
1410 * connected.c (connected_up_ipv6): When point-to-point destination
1411 address is ::, use local address for connected network.
1412 (connected_down_ipv6): Likewise.
1413
14142001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1415
1416 * zserv.c (zebra_serv): Add missing close() call. Reported by:
1417 David Waitzman <djw@vineyard.net>.
1418
14192001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1420
1421 * rib.c (rib_lookup_ipv4): New function for checking exact match
1422 IGP route.
1423
14242001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1425
1426 * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
1427 route-type".
1428
14292001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1430
1431 * interface.c (zebra_interface): Do not call
1432 zebra_interface_add_update for inactive interface.
1433
1434 * zserv.c (zsend_interface_address_add): Send interface address
1435 flag.
1436 (zsend_interface_address_delete): Likewise.
1437
14382001-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1439
1440 * interface.c (if_addr_add): Add flags.
1441
1442 * connected.c (ifa_add_ipv4): Add new function for interface
1443 address handling.
1444 (ifa_delete_ipv4): Likewise.
1445
14462001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1447
1448 * rib.c (rib_update): Update IPv6 RIB.
1449
1450 * kernel_socket.c (ifam_read): Call if_refresh() for update
1451 interface flag status. This is for implicit interface up on *BSD.
1452
1453 * interface.c (if_refresh): Add interface flag refresh function.
1454
1455 * kernel_socket.c (rtm_read): Fetch link-local address interface
1456 index.
1457 (ifan_read): We need to fetch interface information. Suggested
1458 by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
1459
1460 * rib.c (static_ipv6_nexthop_same): Add check for
1461 NEXTHOP_TYPE_IPV6_IFNAME.
1462
14632001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1464
1465 * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are
1466 taken into place.
1467
14682001-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1469
1470 * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
1471 configuration.
1472 (rib_delete_ipv6): Handle same route conter for IPv6 connected
1473 route.
1474 (show_ipv6_route_protocol): New command.
1475 (show_ipv6_route_addr): Likewise.
1476 (show_ipv6_route_prefix): Likewise.
1477 (rib_update): Sweep kernel route when it is cleaned up.
1478
1479 * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
1480 treatmenet.
1481
1482 * rt_netlink.c (kernel_init): Likewise.
1483
1484 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
1485
1486 * rib.c (rib_add_ipv4): Cope with same connected route on a
1487 interface. Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
1488 (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
1489
1490 * rib.h (struct new_rib): Add refcnt to keep track on the
1491 reference of same connected route.
1492
1493 * ioctl.c (if_set_prefix): Add check for GNU_LINUX.
1494
14952001-01-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1496
1497 * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
1498 (rtm_type_str): Add RTM_IFANNOUNCE check.
1499 (ifan_read): New function.
1500 (kernel_read): Add case for RTM_IFANNOUNCE.
1501
15022001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1503
1504 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
1505
1506 * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
1507 treatment.
1508
1509 * connected.c (connected_up_ipv6): Add dest value check.
1510
1511 * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
1512 ifindex.
1513 (rib_add_ipv4): Import rib_add_ipv6() same route check code.
1514 (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
1515 checked by ifindex.
1516
1517 * rt_socket.c (kernel_rtm_ipv6_multipath): New function.
1518
1519 * redistribute.c (redistribute_add): Use
1520 zsend_ipv6_add_multipath().
1521 (redistribute_delete_multipath): Use
1522 zsend_ipv6_delete_multipath().
1523
1524 * interface.c (ip_address): Check current IP address to avoid
1525 duplicate.
1526
1527 * rib.c (rib_delete_ipv4): When deleted route is connected route,
1528 check ifindex.
1529 (rib_add_ipv4): When connected route is added do not perform
1530 implicit withdraw.
1531 (rib_delete_ipv4): Check ifindex for connected route.
1532
1533 * kernel_socket.c (rtm_read): When route has RTF_STATIC, set
1534 ZEBRA_FLAG_STATIC for indicate as persistent route.
1535 (ifam_read): Unset interface index from link-local address when
1536 IPv6 stack is KAME.
1537
1538 * rib.c (rib_update): Do not delete persistent kernel route.
1539
1540 * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
1541
1542 * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
1543 (kernel_delete_ipv6_multipath): Likewise.
1544
1545 * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
1546
15472001-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1548
1549 * rib.c (rib_update): Revert Matthew Grant's patch
1550 zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel
1551 interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
1552 that. Add support for address deletion situation.
1553
15542001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1555
1556 * interface.c: Remove HAVE_IF_PSEUDO part.
1557
1558 * rib.h: Likewise.
1559
1560 * rt_netlink.c (netlink_link_change): Likewise.
1561
15622001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1563
1564 * zserv.c: Remove OLD_RIB codes.
1565
15662001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1567
1568 * zebra-0.90 is released.
1569
15702001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1571
1572 * interface.c (if_new_intern_ifindex): Allocate a new internal
1573 interface index.
1574 (if_addr_refresh): Fix up ip addresses configured via zebra.
1575 (if_add_update): Handle an interface addition.
1576 (if_delete_update): Handle an interface delete event.
1577
1578 * rib.c (nexthop_ipv4_add): Add kernel route deletion process when
1579 interface goes down.
1580
15812001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1582
1583 * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
1584 NetBSD also use this function. Suggested by Jasper Wallace
1585 <jasper@ivision.co.uk>.
1586
15872001-01-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1588
1589 * rib.c (nexthop_active_ipv4): Move back to set methodo to old
1590 one.
1591
15922001-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1593
1594 * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
1595 flag, so treat it.
1596
15972001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1598
1599 * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
1600 sent from netlink_cmd, the same message comes from netlink. To
1601 avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
1602 instead of netlink_cmd.sock.
1603
16042001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1605
1606 * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
1607 Change "/tmp/zserv" to "/tmp/.zserv".
1608
16092000-12-29 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1610
1611 * rt_netlink.c (struct nlsock): Divide kernel message into listen
1612 socket and command socket.
1613 (netlink_talk): Remove socket listen code. Use netlink_parse_info
1614 for read kernel response.
1615
16162000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1617
1618 * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
1619 routes.
1620
16212000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1622
1623 * rt_netlink.c (netlink_route_multipath): Metric value is
1624 reflected to kernel routing table.
1625
1626 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
1627
1628 * kernel_socket.c (rtm_write): Likewise.
1629
1630 * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
1631 nexthop lookup.
1632
1633 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
1634 new RIB implementation.
1635
16362000-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1637
1638 * rib.h: Remove MULTIPATH_NUM. It is defined by configure script.
1639
16402000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1641
1642 * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
1643 proper redistribution.
1644
16452000-12-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1646
1647 * rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
1648 (show_ip_route_protocol): Support new RIB.
1649
1650 * rt_netlink.c (netlink_route_change): Do not return when gate is
1651 NULL.
1652
16532000-12-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1654
1655 * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
1656 updated.
1657 (rib_add_ipv4): Free implicit withdraw route's RIB.
1658
16592000-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1660
1661 * rib.c (nexthop_active_ipv4): Check indirect nexthop.
1662
1663 * redistribute.c (redistribute_add_multipath): Redistribution
1664 works with new rib code.
1665
16662000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1667
1668 * rt_netlink.c (netlink_route_multipath): Check useful nexthop
1669 number.
1670 (netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
1671
1672 * rib.c (nexthop_active_update): Set flag for the rib's nexthop
1673 activity is changed.
1674 (nexthop_active_check): Before checking interface is up, make it
1675 sure the interface exist.
1676
16772000-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1678
1679 * rib.c (ip_route): New RIB prototype.
1680
16812000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1682
1683 * zserv.c (zsend_interface_add): Send hardware address when
1684 hw_addr_len is greater than 0.
1685
16862000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1687
1688 * connected.c (connected_up_ipv4): Fix ptop bug. The destination
1689 network should be installed into routing table.
1690 (connected_down_ipv4): Likewise.
1691 (connected_add_ipv4): Change to use connected_up_ipv4.
1692 (connected_delete_ipv4): Likewise.
1693
16942000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1695
1696 * rt_netlink.c (netlink_interface_addr): Revert Harald Welte
1697 <laforge@gnumonks.org>'s ptop patch then back to original code to
1698 avoid duplicated connected route problem. Suggested by Frank van
1699 Maarseveen <F.vanMaarseveen@inter.NL.net>.
1700
1701 * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
1702 DEBUG is defined. Reported by Jun-ichiro itojun Hagino
1703 <itojun@iijlab.net>.
1704
17052000-10-23 Jochen Friedrich <jochen@scram.de>
1706
1707 * main.c (main): Call zebra_snmp_init() when it is enabled.
1708
17092000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1710
1711 * zserv.c (zebra_serv_un): UNIX domain socket server of zebra
1712 protocol.
1713
17142000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1715
1716 * rib.c (rib_add_ipv4): Same check bug is fixed.
1717
17182000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1719
1720 * rib.c (rib_if_down): Remove kernel route when the interface goes
1721 down.
1722
1723 * debug.c: New command "debug zebra kernel" is added.
1724
17252000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1726
1727 * zebra-0.89 is released.
1728
17292000-09-24 Harald Welte <laforge@gnumonks.org>
1730
1731 * rt_netlink.c (netlink_interface_addr): Fix point-to-point address
1732 treatment in netlink interface.
1733
17342000-09-21 David Lipovkov <dlipovkov@OpticalAccess.com>
1735
1736 * rib.c (rib_if_down): Pull static route only. Protocol daemon
1737 must withdraw routes when interface goes down.
1738 (rib_add_ipv4): Check nexthop when replace route.
1739
17402000-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1741
1742 * if_ioctl.c (if_getaddrs): New function for looking up
1743 interface's address by getifaddrs().
1744
17452000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1746
1747 * connected.c (connected_delete_ipv4): Add check for connected
1748 address is found or not.
1749 (connected_add_ipv6): Reflect IPv6 connected address change to
1750 protocol daemons.
1751 (connected_delete_ipv6): Likewise.
1752
17532000-09-07 David Lipovkov <davidl@nbase.co.il>
1754
1755 * rib.c (rib_delete_ipv4): Reverted the change from pseudo
1756 interface patch to original. Because ospfd deletes routes using
1757 zero ifindex.
1758
17592000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1760
1761 * zebra-0.88 is released.
1762
17632000-08-15 "Akihiro Mizutani" <mizutani@dml.com>
1764
1765 * rib.c (show_ip_route_protocol): Help string correction.
1766 (show_ip_route_prefix): Check prefix mask.
1767 (show_ip_route_vty_detail): Display distance and metric.
1768
17692000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1770
1771 * zserv.c (zsend_interface_add): Change ifindex store size from
1772 two octet to four.
1773 (zsend_interface_delete): Likewise.
1774 (zsend_interface_address_add): Likewise.
1775 (zsend_interface_address_delete): Likewise.
1776 (zsend_interface_up): Likewise.
1777 (zsend_interface_down): Likewise.
1778
17792000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1780
1781 * rib.c (rib_add_ipv4): Do not install distance 255 route.
1782
17832000-08-10 Toshiaki Takada <takada@zebra.org>
1784
1785 * interface.c (bandwidth_if), (no_bandwidth_if): Call
1786 zebra_interface_up_update () instead of using if_up() and if_down().
1787
17882000-08-07 "Akihiro Mizutani" <mizutani@dml.com>
1789
1790 * interface.c (bandwidth_if): Fix help string.
1791
17922000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1793
1794 * interface.c (if_dump_vty): Display bandwidth value.
1795 (bandwidth_if): New command "bandwidth <1-10000000>" is added.
1796 When interface is up, force protocol daemons to recalculate routes
1797 due to cost change.
1798 (no_bandwidth_if): Likewise.
1799 (if_config_write): Output bandwidth configuration.
1800
1801 * zserv.c (zsend_interface_add): Send bandwidth value.
1802 (zsend_interface_up): Likewise.
1803 (zsend_interface_down): Likewise.
1804
1805
18062000-08-07 Michael Rozhavsky <mike@nbase.co.il>
1807
1808 * rib.c (show_ip_route_protocol): "show ip route
1809 (bgp|connected|kernel|ospf|rip|static)" is added.
1810
18112000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1812
1813 * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
1814 nexthop is found.
1815 (rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
1816
18172000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1818
1819 * redistribute.c (redistribute_delete): Fix bug of default route
1820 redistribute treatment.
1821
18222000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1823
1824 * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
1825 Change default distance value.
1826
1827 Old New
1828 ------------------------------------------
1829 system 10 0
1830 kernel 20 0
1831 connected 30 0
1832 static 40 1
1833 rip 50 120
1834 ripng 50 120
1835 ospf 60 110
1836 ospf6 49 110
1837 bgp 70 200(iBGP) 20(eBGP)
1838 ------------------------------------------
1839
1840 * zserv.c (client_lookup): Function removed.
1841 (zsend_interface_add): Use client's output buffer. Check ifinfo
1842 flag.
1843 (zsend_interface_delete): Likewise.
1844 Delete ipv4_static_radix and ipv6_static_radix.
1845
18462000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1847
1848 * zserv.h (struct zebra_client): When client request interface
1849 information, ifinfo is set.
1850
1851 * rib.c: Temporary Revert changes for pseudo interface.
1852
1853 * rib.h: Likewise.
1854
1855 * zserv.c: Likewise.
1856
1857 * interface.c: Likewise.
1858
18592000-08-02 David Lipovkov <davidl@nbase.co.il>
1860
1861 * interface.c (zebra_if_init): Install interface "pseudo"
1862 commands.
1863
1864 * rib.c (rib_create): ifname argument is added.
1865 (rib_add_ipv4_pseudo): New function is added.
1866 (rib_delete_ipv4_pseudo): Likewise.
1867
1868 * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for
1869 pseudo interface functions.
1870
1871 * rt_netlink.c (netlink_link_change): Check for pseudo interface.
1872
1873 * zserv.c (ip_route): When destination is pseudo interface, call
1874 rib_add_ipv4_pseudo().
1875
1876 * zserv.c (no_ip_route): Trim "unknown" argument.
1877
18782000-07-26 kunitake@dti.ad.jp
1879
1880 * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
1881 to 6.
1882
1883 * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
1884
18852000-07-24 Akihiro Mizutani <mizutani@dml.com>
1886
1887 * interface.c: Use install_default() for common VTY commands.
1888
18892000-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1890
1891 * if_ioctl.c (interface_list_ioctl): A interface list size is
1892 calculated from ifreq->if_addr.sa_len. This is for OpenBSD.
1893
1894 * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
1895
18962000-07-09 Chris Dunlop <chris@onthe.net.au>
1897
1898 * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
1899
19002000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1901
1902 * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
1903 message handling.
1904
19052000-07-02 David Lipovkov <davidl@nbase.co.il>
1906
1907 * zserv.c: "ip route A.B.C.D/M unknown" command is added.
1908
19092000-06-28 Michael Rozhavsky <mike@nbase.co.il>
1910
1911 * rib.c: Remove old kernel route when new route comes in.
1912
19132000-06-13 David Lipovkov <davidl@nbase.co.il>
1914
1915 * rib.c (rib_if_up): Add check for unknown interface.
1916
19172000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1918
1919 * rib.h: Define INTERFACE_UNKNOWN.
1920
19212000-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1922
1923 * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
1924 finished.
1925
19262000-06-05 David Lipovkov <davidl@nbase.co.il>
1927
1928 * interface.c (if_zebra_delete_hook): Call rib_if_delete().
1929
1930 * redistribute.c (zebra_interface_delete_update): New function.
1931
1932 * redistribute.h (zebra_interface_delete_update): New function
1933 prototype.
1934
1935 * rib.c (rib_if_delete): New function. Walk down all routes and
1936 delete all on the interface.
1937
1938 * rib.h: New function prototype.
1939
1940 * rt_netlink.c (netlink_link_change): Call
1941 zebra_interface_delete_update ().
1942
19432000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1944
1945 * if_ioctl.c (interface_info_ioctl): Check interface's flag before
1946 checking interface's address.
1947
19482000-04-26 Jochen Friedrich <jochen@nwe.de>
1949
1950 * GNOME-PRODUCT-ZEBRA-MIB: New file.
1951
1952 * GNOME-SMI: New file.
1953
19542000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1955
1956 * irdp.c: New file from 1997 development code.
1957 * irdp.h: Likewise.
1958
19592000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1960
1961 * rtadv.c (rtadv_send_packet): Enclose router advertisement
1962 logging with IS_ZEBRA_DEBUG_PACKET.
1963
19642000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1965
1966 * zserv.c (zebra_client_close): Remove client structure from
1967 client_list when connection is terminated.
1968
19692000-03-21 David Lipovkov <davidl@nbase.co.il>
1970
1971 * connected.c (connected_add_ipv4): Allows all necessary structure
1972 updates for connected route, but doesn't insert it into rib if
1973 it's interface is down.
1974
19752000-01-21 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1976
1977 * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
1978 2.5.1.
1979
19802000-01-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1981
1982 * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
1983 from str2prefix_ipv6().
1984
19852000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1986
1987 * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
1988 IPv6 with /128 routes.
1989 (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
1990 should have mask for cloning.
1991
19921999-12-26 Jochen.Friedrich@genorz.de
1993
1994 * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
1995
19961999-12-23 Alex Zinin <zinin@amt.ru>
1997 * interface.*: dynamic int up/down support
1998
19991999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2000
2001 * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
2002
2003 * rtread_proc.c (proc_route_read): Don't use dropline().
2004
20051999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2006
2007 * kernel_socket.c (rtm_read): When message is RTM_GET, it has own
2008 process's pid.
2009
20101999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2011
2012 * main.c (main): Change to default log output to ZLOG_STDOUT.
2013
2014 * zserv.c (zebra_serv): More detailed error print.
2015
20161999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2017
2018 * kernel_socket.c (rtm_read): Check old pid for static route
2019 insertion check.
2020
20211999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2022
2023 * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
2024 statistics counter.
2025
2026 * mtu_kvm.c: New file added.
2027
20281999-11-27 Vladimir B. Grebenschikov <vova@express.ru>
2029
2030 * kernel_socket.c (rtm_write): Set RTF_CLONING flag for
2031 route to the directly connected interface.
2032
20331999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2034
2035 * rt_socket.c: Delete USE_HOST_BIT definition.
2036
20371999-11-21 Michael Handler <handler@sub-rosa.com>
2038
2039 * rtread_getmsg.c: Undef some definition to resolve conflict.
2040
20411999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2042
2043 * kernel_socket.c (rtm_write): Change to use pre stored struct_dl
2044 value for gateway specification.
2045
20461999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2047
2048 * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
2049 128 under IPv6, don't use RTF_HOST.
2050
20511999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2052
2053 * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
2054
20551999-11-21 Michael Handler <handler@sub-rosa.com>
2056
2057 * rtread_getmsg.c: Added for Solaris 2.6 support.
2058
20591999-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2060
2061 * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
2062
2063 * rt_socket.c (kernel_read): Better BSD routing socket support.
2064
20651999-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2066
2067 * client_main.c: Disable making obsolete zebra test `client'
2068 command.
2069
20701999-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2071
2072 * zebra.c: Renamed to zserv.c.
2073
2074 * zebra.h: Global definitions are moved to lib/zebra.h. Then
2075 renamed to zserv.h.
2076
20771999-10-15 Jordan Mendelson <jordy@wserv.com>
2078
2079 * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
2080 interface. Remove ugly MAX_INTERFACE handling codes.
2081
20821999-09-17 Satosi KOBAYASI <kobayasi@north.ad.jp>
2083
2084 * Fix serious bug of IPv6 route deletion.
2085
20861999-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2087
2088 * ioctl.c (if_set_prefix): Properly set broadcast address.
2089
20901999-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2091
2092 * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
2093 can install connected route to kernel via zebra
2094
20951999-08-24 VOP <vop@unity.net>
2096
2097 * rib.c: Include "sockunion.h"
2098
20991999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2100
2101 * ipforward.h: New file.
2102
2103 * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
2104 ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
2105
21061999-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2107
2108 * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
2109 ZEBRA_INTERFACE_{ADD,DELETE} added.
2110
21111999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2112
2113 * rib.c: show ip route A.B.C.D works.
2114
2115 * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
2116
21171999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2118
2119 * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
2120
21211999-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2122
2123 * interface.h: New file.
2124 * Makefile.am: Add interface.h
2125
21261999-08-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2127
2128 * redistribute.c (zebra_redistribute): give ifindex to client.
2129
21301999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2131
2132 * main.c (longopts): -k, --keep_kernel option added.
2133
21341999-07-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2135
2136 * rt_socket.c (rtm_write): forgot closing socket bug fixed.
2137
21381999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2139
2140 * rib.c (show_ipv6_cmd): if rib is link show interface name.
2141
21421999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2143
2144 * rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
2145
21461999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2147
2148 * rt_socket.c (rtm_write): ipv6 route table bug fixed.
2149
21501999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2151
2152 * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
2153
21541999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2155
2156 * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
2157
21581999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2159
2160 * if_sysctl.c (ifm_read): Clear sockunion argument before fetching
2161 data. Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
2162
21631999-07-08 HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
2164
2165 * interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
2166
21671999-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2168
2169 * zebra.c (zebra_serv): Only accept loopback address connection.
2170
21711999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2172
2173 * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
2174
21751999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2176
2177 * ipforward_proc.c: ipforward_on () and ipforward_off () added.
2178
21791999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2180
2181 * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
2182 using /proc file system is added.
2183
21841999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2185
2186 * if_ioctl.c (if_get_index): Interface index set bug is fixed by
2187 adding #else at the middle of function. Suggested by David Luyer
2188 <luyer@ucs.uwa.edu.au>.
2189
21901999-05-29 <kunihiro@zebra.org>
2191
2192 * rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
2193
21941999-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2195
2196 * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
2197 the sort of routes.
2198
21991999-05-25 Patrick Koppen <koppen@rhrk.uni-kl.de>
2200
2201 * rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
2202 (netlink_parse_info): If errno is EWOULDBLOCK then continue to
2203 parse the message.
2204 (netlink_talk): Likewise
2205
22061999-05-17 <kunihiro@zebra.org>
2207
2208 * redistribute.c (zebra_check_addr): Added for loopback address
2209 check.
2210
22111999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2212
2213 * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
2214 change treatment.
2215
2216 * Makefile.am (noinst_HEADERS): redistribute.h added.
2217
2218 * redistribute.h: New file.
2219
22201999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2221
2222 * zebra.c (show_table): Show all table configuration DEFUN.
2223 (config_table): Config table number DEFUN.
2224
2225 * rt_netlink.c: Add support for multiple routing table.
2226
2227 * rib.c (rib_weed_table): New function added for delete all
2228 routes from specified routing table.
2229
2230 * main.c (signal_init): SIGTERM call sigint.
2231 (sigint): Loggging more better message.
2232
22331999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2234
2235 * rt_netlink.c: Change log () to zlog ().
2236
22371999-05-07 <kunihiro@zebra.org>
2238
2239 * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
2240
22411999-04-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2242
2243 * interface.c: Add `no ip address' command.
2244
22451999-04-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2246
2247 * rt_netlink.c (kernel_read): Function added for asynchronous
2248 zebra between kernel communication.
2249
22501999-03-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2251
2252 * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
2253 Reported by Achim Patzner <ap@bnc.net>.
2254
22551999-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2256
2257 * Makefile.am: Install configuration sample with 600 permission.
2258
22591999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2260
2261 * Makefile.am: Add -I.. to INCLUDES.
2262
22631999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2264
2265 * syslog support added
2266
22671999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
2268
2269 * if_sysctl.c (interface_list): allocated memory free when unknown
2270 ifm_type is returned.
2271
2272 * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
2273
22741998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2275
2276 * interface.c: Header include added.
2277
22781998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2279
2280 * rt.h (kernel_delete_ipv6): change int index to unsigned int index.
2281
22821998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2283
2284 * if_ioctl.c (interface_list_ioctl): interface flag must be
2285 checked before check addresses of the interface.
2286
22871998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2288
2289 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
2290
22911998-10-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2292
2293 * ioctl.c: Linux version before 2.1.0 need interface route setup.
2294
22951998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
2296
2297 * change HYDRANGEA to KAME
2298
22991998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2300
2301 * if_ioctl.c (if_addr_ioctl): set address family for getting
2302 interface's address.
2303 (if_get_index): silently return when can't get interface's index.
2304
23051998-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2306
2307 * main.c (main): batch mode option '-b' added.
2308
23091998-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2310
2311 * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
2312 * interface.c (shutdown_if): add interface shutdown and no
2313 shutdown command.
2314
23151998-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2316
2317 * rib.c (rib_add_ipv6): delete rib_add_in6.
2318
23191998-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2320
2321 * main.c: retain flag is added.
2322
23231998-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2324
2325 * rtable.[ch]: merged with rib.[ch]
2326
23271998-07-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2328
2329 * connected.h: renamed from ifa.h.
2330
23311998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2332
2333 * rename if.c to interface.c
2334 * rename ifa.c to connected.c
2335
2336 * Porting to Debian GNU/Linux 2.0 (hamm).
2337
23381998-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2339
2340 * rt_netlink.c: renamed from krt_netlink.c
2341
2342 * fib.c: deleted.
2343 * rt_kvm.c: deleted.
2344 * rtread_getmsg.c: deleted.
2345
23461998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2347
2348 * if.c (multicast): add multicast flag [un]set fucntion.
2349
23501998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2351
2352 * rt_socket.c: Modify for compile on Solaris, but dont't work it.
2353 rt_socket.c have some undefined function, so add directive "IMPLEMENT"
2354
23551998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2356
2357 * zebra.c: Modify for compile on Solaris.
2358
23591998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2360
2361 * main.c: change CONFDIR to SYSCONFDIR.
2362
23631998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2364
2365 * .cvsignore: added.
2366
23671998-04-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2368
2369 * client.c: moves to ../lib.
2370
23711998-03-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2372
2373 * if_ioctl.c (if_get_addr): Change address copy from memcopy() to
2374 structure assignment.
2375
23761998-03-30 URA Hiroshi <ura@yamato.ibm.co.jp>
2377
2378 * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
2379
23801998-02-23 "Hannes R. Boehm" <hannes@boehm.org>
2381
2382 * if.c (if_init): add config_exit_cmd and config_help_cmd.
2383
23841998-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2385
2386 * rt_ioctl.c (route_ioctl): EPERM treatment added.
2387
23881998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2389
2390 * rt_socket.c (kernel_read): communication port zebra between
2391 kernel is now handled by kernel_read.
2392
23931998-01-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2394
2395 * main.c (main): zebra [-P port] can specify vty port number.
2396
23971997-12-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2398
2399 * zebra.c: change select will be block.
2400
24011997-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2402
2403 * add static route treatment.
2404
24051997-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2406
2407 * rt_netlink.c: add netlink support over GNU/Linux system.
2408
24091997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2410
2411 * all inet_addr is changed to inet_aton.
2412
2413 * zebra.c (ip_route): add ip route command for static routes.
2414
24151997-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2416
2417 * if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
2418
24191997-11-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2420
2421 * if.c: add interface command.
2422
24231997-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2424
2425 * ipforward_proc.c : Now works on Linux.
2426
24271997-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2428
2429 * command.c : add completion feature.
2430
24311997-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2432
2433 * vty.c (vty_command): add vty interface.
2434
24351997-10-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2436
2437 * zebra.c: add verbose mode.
2438
24391997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
2440
2441 * Hydrangea for FreeBSD supported
2442 * in.h: add some prototype.
2443
24441997-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2445
2446 * rt_socket.c and rtread.c completely rewritten.
2447
24481997-10-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2449
2450 * rt_socket.c: rename kernel_sock to routing_socket
2451
24521997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2453
2454 * if.c (if_new): interface structure change from linklist to vector.
2455
24561997-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2457
2458 * vector.c (vector_init): create vector related function
2459
24601997-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2461
2462 * Makefile.in: add tags target
2463
2464 * start IPv6 support for INRIA FreeBSD.
2465