blob: 7bdec921820c765873b96966e5793716d5a4cf59 [file] [log] [blame]
Paul Jakmaff1dd552007-02-26 17:11:45 +000012007-02-26 Robert Olsson <Robert.Olsson@data.slu.se>
2
3 * irdp_main.c: (irdp_send_thread) Skip non-AF_INET addresses,
4 i.e. do not try interpret IPv6 addresses as IPv4 addresses
5 to broadcast in IRDP announcements..
6
Andrew J. Schorrfb6724a2006-12-13 15:44:15 +000072006-12-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
8
9 * if_ioctl_solaris.c: (if_get_addr) For IPv6, stop assuming
10 that all IFF_POINTOPOINT have prefixlen of IPV6_MAX_BITLEN.
11 Instead, always try the SIOCGLIFSUBNET ioctl; if that fails,
12 then we fall back to IPV6_MAX_BITLEN for PtP interfaces.
13
Andrew J. Schorre4529632006-12-12 19:18:21 +0000142006-12-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
15
16 * connected.c: (connected_up_ipv4, connected_down_ipv4,
17 connected_up_ipv6, connected_down_ipv6) Simplify logic using the
18 new CONNECTED_PREFIX macro.
19 (connected_add_ipv4) Set prefixlen in destination addresses (required
20 by the CONNECTED_PREFIX macro). Use CONNECTED_PEER macro instead
21 of testing for IFF_POINTOPOINT. Delete invalid warning message.
22 Warn about cases where the ZEBRA_IFA_PEER is set but no
23 destination address has been supplied (and turn off the flag).
24 (connected_add_ipv6) Add new flags argument so callers may set
25 the ZEBRA_IFA_PEER flag. If peer/broadcast address satisfies
26 IN6_IS_ADDR_UNSPECIFIED, then reject it with a warning.
27 Set prefixlen in destination address so CONNECTED_PREFIX will work.
28 * connected.h: (connected_add_ipv6) Add new flags argument so
29 callers may set the ZEBRA_IFA_PEER flag.
30 * interface.c: (connected_dump_vty) Use CONNECTED_PEER macro
31 to decide whether the destination address is a peer or broadcast
32 address (instead of checking IFF_BROADCAST and IFF_POINTOPOINT).
33 * if_ioctl.c: (if_getaddrs) Instead of setting a peer address
34 only when the IFF_POINTOPOINT is set, we now accept a peer
35 address whenever it is available and not the same as the local
36 address. Otherwise (no peer address assigned), we check
37 for a broadcast address (regardless of the IFF_BROADCAST flag).
38 And must now pass a flags value of ZEBRA_IFA_PEER to
39 connected_add_ipv4 when a peer address is assigned.
40 The same new logic is used with the IPv6 code as well (and we
41 pass the new flags argument to connected_add_ipv6).
42 (if_get_addr) Do not bother to check IFF_POINTOPOINT: just
43 issue the SIOCGIFDSTADDR ioctl and see if we get back
44 a peer address not matching the local address (and set
45 the ZEBRA_IFA_PEER in that case). If there's no peer address,
46 try to grab SIOCGIFBRDADDR regardless of whether IFF_BROADCAST is set.
47 * if_ioctl_solaris.c: (if_get_addr) Just try the SIOCGLIFDSTADDR ioctl
48 without bothering to check the IFF_POINTOPOINT flag. And if
49 no peer address was found, just try the SIOCGLIFBRDADDR ioctl
50 without checking the IFF_BROADCAST flag. Call connected_add_ipv4
51 and connected_add_ipv6 with appropriate flags.
52 * if_proc.c: (ifaddr_proc_ipv6) Must pass new flags argument to
53 connected_add_ipv6.
54 * kernel_socket.c: (ifam_read) Must pass new flags argument to
55 connected_add_ipv6.
56 * rt_netlink.c: (netlink_interface_addr) Copy logic from iproute2
57 to determine local and possible peer address (so there's no longer
58 a test for IFF_POINTOPOINT). Set ZEBRA_IFA_PEER flag appropriately.
59 Pass new flags argument to connected_add_ipv6.
60 (netlink_address) Test !CONNECTED_PEER instead of if_is_broadcast
61 to determine whether the connected destination address is a
62 broadcast address.
63
Paul Jakma3c0755d2006-12-08 00:53:14 +0000642006-12-08 Piotr Chytla <pch@packetconsulting.pl>
65
66 * zebra_rib.c: (static_install_ipv{4,6}) Case where existing
67 RIB is updated must explicitely rib_addqueue the route_node,
68 to ensure the update actually takes effect.
69
Greg Troxel9458b812006-09-13 12:13:08 +0000702006-09-13 Tom Everett <tom@khubla.com>
71
72 * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to
73 compile on systems that no longer define them.
74
Paul Jakmaf28b0e52006-08-06 15:57:59 +0000752006-08-06 Paul Jakma <paul.jakma@sun.com>
76
77 * interface.h: (ifstat_update_proc) declaration should match
78 ifstat_update_sysctl really, which is to not return status, as
79 such status is not used anywhere.
80 * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values
81 consistent with each other and their declarations, ie:
82 (void) (*) (void).
Paul Jakma66c454f2006-08-06 16:02:43 +000083 * rtadv.h: depends on interface.h, so should include it.
Paul Jakmaf28b0e52006-08-06 15:57:59 +000084
Paul Jakma7e4bcdc2006-08-04 06:14:13 +0000852006-08-04 Paul Jakma <paul.jakma@sun.com>
86
87 * misc_null.c: Add ifstat_update_sysctl, add another required
88 header.
89
Andrew J. Schorra6974fe2006-08-02 16:47:03 +0000902006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
91
92 * misc_null.c: Must include header files to get older versions of gcc
93 to process the #pragma statements properly.
94
Paul Jakma36943742006-08-04 06:18:04 +0000952006-08-01 Paul Jakma <paul.jakma@sun.com>
96
97 * irdp_main.c: (irdp_advertisement) free the stream here, when done,
98 right under where it was allocated so it's blindingly obvious
99 it's correct. This possibly fixes a very slow leak of streams in
100 zebra.
101 * irdp_packet.c: (send_packet) don't free the stream here as
102 it's hard to tell if right, plus an error case seemed to
103 returning before free anyway.
104
Paul Jakma457eb9a2006-07-27 19:59:58 +00001052006-07-27 Paul Jakma <paul.jakma@sun.com>
106
107 * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations,
108 useful for testing zebra code that calls such methods.
109 * {redistribute,misc}_null.c: Dummy/Null methods, as above. But
110 for zclient, and for various misc functions.
111 * test_main.c: Test harness for zebra, currently just to test the
112 RIB.
113 * Makefile.am: Build testzebra using above.
Paul Jakma6d691122006-07-27 21:49:00 +0000114 * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'.
115 * rib.h: (struct rib) Add a route_node rn_status flag field,
116 this has to be copied every time head RIB of a route_node
117 changes.
118 Remove the rib lock field, not needed - see below.
119 Add a status field for RIB-private flags.
Paul Jakma457eb9a2006-07-27 19:59:58 +0000120 * zebra_rib.c: Add a global for the workqueue hold time, useful
121 for testing.
Paul Jakma6d691122006-07-27 21:49:00 +0000122 (general) Fix for bug #268. Problem originally detailed by
123 Simon Bryden in [quagga-dev 4001].
124 Essentially, add/delete of a RIB must happen /before/ the
125 queue. Best-path selection (ie rib_process) and reaping of
126 freed RIBs can then be done after queueing. Only the route_node
127 is queued - no important RIB state (i.e. whether a RIB is to be
128 deleted) is queued.
129 (struct zebra_queue_node_t) Disappears, no longer need to
130 track multiple things on the queue, only the route_node.
131 (rib_{lock,unlock}) removed, RIBs no longer need to be
132 refcounted, no longer queued.
133 (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted
134 via the queue.
135 (rib_queue_add_qnode) deleted
136 (rib_queue_add) Only the route_node is queued for best-path
137 selection, we can check whether it is already queued or
138 not and avoid queueing same node twice - struct rib * argument
139 is not needed.
140 (rib_link/unlink) (un)link RIB from route_node.
141 (rib_{add,del}node) Front-end to updates of a RIB.
142 (rib_process) Reap any deleted RIBs via rib_unlink.
143 Unset the route_node 'QUEUED' flag.
144 (General) Remove calls to rib_queue_add where add/del node was
145 called - not needed, update calls where not.
146 Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes
Paul Jakma457eb9a2006-07-27 19:59:58 +0000147
Paul Jakma171eee32006-07-27 16:11:02 +00001482006-07-27 Rumen Svobodnikov <rumen@telecoms.bg>
149
150 * connected.c: (connected_up_ipv4) interface connected routes always
151 go to table main (or otherwise they cannot be used by linux as
152 nexthops)
153 * zserv.c: (zread_ipv4_add) send route to the correct routing table
154 * zebra_rib.c (static_install_ipv4) set routing table
155
Paul Jakma27b47252006-07-02 16:38:54 +00001562006-07-02 Paul Jakma <paul.jakma@sun.com>
157
158 * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not
159 proceed if addr is NULL.
160 * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check
161 required arguments are supplied for the given nexthop type.
162
Paul Jakma630c97c2006-06-15 12:48:17 +00001632006-06-15 Paul Jakma <paul.jakma@sun.com>
164
165 * interface.c: (if_flag_dump_vty) redundant code, remove.
166 (if_dump_vty) use libzebra if_flag_dump.
Paul Jakma74ecdc92006-06-15 18:10:47 +0000167 (ip_address_uninstall) Unset the configured flag.
168 * connected.c: (connected_same) new helper, check whether
169 two connected are same.
170 (connected_implicit_withdraw) new helper, consolidation of
171 existing code in connected_add_ipv{4,6}.
172 Try filter out unneeded Zserv address delete/adds when
173 address is exact same.
174 Where old address is implicitely removed, be sure to preserve
175 the IFC_CONFIGURED flag if set, fixes bug where configured
176 addresses were being lost on FreeBSD (Andrew Schorr).
Paul Jakma630c97c2006-06-15 12:48:17 +0000177
Andrew J. Schorr9c378512006-05-21 04:04:49 +00001782006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
179
180 * connected.c: (connected_withdraw) Do not delete the connected
181 address if the ZEBRA_IFC_CONFIGURED flag is set.
182 (connected_add_ipv4,connected_add_ipv6) Before calling
183 connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag
184 on the superseded connected structure.
185
Andrew J. Schorr0f38dc42006-05-19 13:53:23 +00001862006-05-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
187
188 * connected.c: (connected_add_ipv4,connected_add_ipv6) If the
189 new struct connected matches an already existing one
190 (that will consequently be removed by connected_withdraw),
191 then be sure to preserve the ZEBRA_IFC_CONFIGURED flag.
192
Andrew J. Schorr55196042006-05-17 15:04:59 +00001932006-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
194
195 * kernel_socket.c: (ifam_read_mesg) Improve debug message
196 to show the IP address.
197
Paul Jakma66859782006-05-15 17:00:37 +00001982006-05-15 Paul Jakma <paul.jakma@sun.com>
199
200 * zserv.c: (general) Remove the private zebra_command_str
201 in favour of newly added libzebra zserv_command_string.
202
Paul Jakmabeb56332006-05-11 13:28:05 +00002032006-05-11 Paul Jakma <paul.jakma@sun.com>
204
205 * interface.c: (if_delete_update) route_node_lookup may return
206 NULL, should fix Coverity CID #31.
207
Paul Jakmae6d7d052006-03-30 13:32:09 +00002082006-02-09 Paul Jakma <paul.jakma@sun.com>
209
210 * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid
211 needless padding.
212 (struct rib) Remove the indirect pointer, not used anywhere!
213
paul3a570c82006-02-02 17:27:13 +00002142006-02-02 Paul Jakma <paul.jakma@sun.com>
215
216 * interface.c: (if_dump_vty) move flags to their line, neater.
217
paula1038a12006-01-30 14:08:51 +00002182006-01-30 Paul Jakma <paul.jakma@sun.com>
219
220 * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
221 commit, last commit had a hole that could allow connected
222 route selection to escape beyond the connected route logic.
223 This time I cross-checked with Gunnar first. ;)
224
paula8d9c1f2006-01-25 06:31:04 +00002252006-01-25 Gunnar Stigen <gunnar.stigen@axxessit.no>
226
227 * zebra_rib.c: (rib_process) Application of Gunnar's earlier
228 metric selection RIB change included incorrect tidy-ups made
229 by commiter. Fix. (NB: any errors here are again due to paul).
230
paul5c78b3d2006-01-25 04:31:40 +00002312006-01-25 Paul Jakma <paul.jakma@sun.com>
232
233 * (general) More solaris PF_ROUTE hacks. The IFF_UP mangling
234 for solaris was incomplete on the PF_ROUTE side. fix it.
235 This changeset generally uglifies things. For some future
236 work I'd like to see the state changes seperated out from
237 the details of the code. Differences between systems might
238 then be slightly easier to implement without convoluted
239 hacks.
240 Changes should be specific to Solaris mostly, however
241 also tested on FreeBSD 6.
242 * if_ioctl_solaris.c: (interface_list_ioctl) ignore ~IFF_UP
243 interfaces, we'll hear about them when/if interface goes up
244 through NEWADDR.
245 Update flags explicitely at end of it to kick mangling.
246 * ioctl_solaris.c: (if_mangle_up) removed to interface.c, in
247 kind.
248 (lifreq_set_name) more convenient to take the string, than
249 the ifp.
250 (if_get_flags_direct) new convenience function, returns
251 the actual flags. Used during bootstrap in if_ioctl_solaris.c
252 to peek at flags of logical interfaces to see whether or
253 not to ignore them.
254 (if_get_flags) ENXIO means it's gone, poke out IFF_UP and
255 kick flags update.
256 (if_{un,}set_flags) flags argument should be 64bit.
257 * ioctl.{c,h}: flags argument should be 64bit.
258 * interface.h: Add a 'primary_state' flag to struct zebra_if on
259 SUNOS_5.
260 Export if_flags_update.
261 * interface.c: (if_flags_mangle) moved over in kind from
262 ioctl_solaris.c. Nasty kludge to try get IFF_UP right, as
263 much as is possible. Also keep track of the actual IFF_UP
264 value for the primary interface, so we can know when the ifp
265 must be deleted.
266 (if_flags_update) Take a new interface flags value, apply it
267 to the interface, and take whatever actions are required due
268 to flag transitions.
269 (if_refresh) flag state change logic is moved out to
270 previous. Just call if_get_flags, which will end up using
271 previous to effect the update of flags.
272 (if_flag_dump_vty) IFF_IPV{4,6} aren't interesting, VIRTUAL
273 and NOXMIT are though.
274 * kernel_socket.c: (ifm_read) Down->Down transitions shouldn't
275 create ifp, for non-IFANNOUNCE systems.
276 Use if_flags_update to update flags.
277 flag transition logic is now handled automatically through
278 if_flags_update.
279 (ifam_read) Better to call if_refresh *after* adding
280 connected addresses, as connected count affects IFF_UP on
281 IFF_UP-mangled systems.
282 On Solaris, Up->Down due to DELADDR means we need to delete
283 the ifp - the IFINFO might already have been and gone.
284 * rt.h: include other dependent headers.
285
paule8e19462006-01-19 20:16:55 +00002862006-01-19 Paul Jakma <paul.jakma@sun.com>
287
288 * (general) various miscellaneous compiler warning fixes.
289 Remove redundant break statements from switch clauses
290 which return.
291 Remove stray semi-colons which cause empty-statement
292 warnings.
293 * main.c: (sighup) remove private declaration of external
294 function.
295 (main) return from main, not exit, cause it annoys SOS.
296
paulaf887b52006-01-18 14:52:52 +00002972006-01-18 Gunnar Stigen <gunnar.stigen@axxessit.no>
298
299 * zebra_rib.c: Take interface metric into account.
300
pauld34b8992006-01-17 18:03:04 +00003012006-01-17 Paul Jakma <paul.jakma@sun.com>
302
303 * kernel_socket.c: (ifam_read) Read metric from RTM_NEWADDR.
304 If interface is an alias, pass the alias as a label for
305 connected_add_ipv{4,6}.
306 * rt_netlink.c: (netlink_interface_addr) print out
307 IFA_CACHEINFO info, if present, when debugging kernel
308 messages.
309
paulc7133002006-01-17 17:56:18 +00003102006-01-17 Gunnar Stigen <gunnar.stigen@axxessit.no>
311
312 * connected.c: (connected_up_ipv{4,6}) Include interface metric on
313 connected routes.
paul61f42ae2006-01-17 17:59:11 +0000314 * if_ioctl.c: (if_getaddrs) Be defensive about assuming
315 that struct ifaddrs will have ifa_addr filled in.
paulc7133002006-01-17 17:56:18 +0000316
paulc1b98002006-01-16 01:54:02 +00003172006-01-16 Paul Jakma <paul.jakma@sun.com>
318
319 * zserv.c: Read/write updated Zserv header.
320
paulc77d4542006-01-11 01:59:04 +00003212006-01-11 Paul Jakma <paul.jakma@sun.com>
322
323 * zserv.c: (zsend_interface_{add,delete,update}) if flags are
324 8 bytes now, update to write out with stream_putq.
325
gdt6083e1f2005-12-29 15:59:57 +00003262005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
327
gdte14b7fc2005-12-29 16:04:53 +0000328 * kernel_socket.c: remove dead code (from David Young).
329
gdt6083e1f2005-12-29 15:59:57 +0000330 * rt_socket.c (kernel_rtm_ipv4): Use AF_INET rather than AF_UNSPEC
331 for mask. From David Young.
332
paul89368d92005-11-26 09:14:07 +00003332005-11-26 Paul Jakma <paul.jakma@sun.com>
334
335 * connected.{c,h}: (connected_add_ipv6) label should have
336 const qualifier, fix declarations.
337
paulec1a4282005-11-24 15:15:17 +00003382005-11-24 Paul Jakma <paul.jakma@sun.com>
339
340 * kernel_socket.h: New header for functions exported to sysctl
341 methods.
342 * kernel_socket.c: include previous.
343 Remove static qualifier from couple of functions which are
344 used by sysctl methods.
345 Add a workaround for a bogus gcc warning to the RTA_ macros.
346 * Makefile.am: Add kernel_socket.h to noinst_HEADERS
347 * if_sysctl.c: include rt.h and kernel_socket.h and remove
348 redundant prototypes.
349 * rtread_sysctl.c: ditto.
350 (route_read) fix mismatch of return values.
351 * {rt,zserv,rib}.h: Include lib headers depended on.
352
paul6621ca82005-11-23 13:02:08 +00003532005-11-23 Paul Jakma <paul.jakma@sun.com>
354
355 * (general) fix some small compile errors, and mark several
356 functions as static.
357 * kernel_socket.c: (ifan_read) should be static.
358 fix missing brackets.
359 (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static
360 (ifam_read_mesg) make static. fix incorrect variable name.
361 (rtm_read) make static. Fix call to rib_delete_ipv4 which
362 should be rib_delete_ipv6.
363 (routing_socket,kernel_init) should be static. Void argument
364 should be specified as such, not left incomplete.
365 * rt_netlink.c: rt.h should be included, contains prototypes of
366 exported functions.
367 (kernel_delete_ipv6_old) fix sign of index argument.
368 * rt_socket.c: Exact same as previous. Also, make various
369 functions static.
370 * rtread_getmsg.c: Include zserv.h, which prototypes
371 route_read. Make static.
372 * rtread_sysctl.c: zserv.h and rt.h should be included.
373 fix definition of route_read.
374
paul0fb58d52005-11-14 14:31:49 +00003752005-11-14 Paul Jakma <paul.jakma@sun.com>
376
377 * zebra_rib.c: (rib_process) convert to new workqueue specs and
378 shut up gcc, which complains about cast from void via
379 function parameters, for some dumb reason. Do the cast
380 inside the function instead.
381 (rib_queue_qnode_del) ditto.
382 (rib_queue_init) no need for the casts anymore.
383
paul6fe70d12005-11-12 22:55:10 +00003842005-11-12 Alexander Gall <gall@switch.ch>
385
386 * See [quagga-dev 1815]
387 * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN
388 is not available.
389 * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to
390 AF_INET6 on ipv6 routes.
391
3922005-11-12 Paul Jakma <paul.jakma@sun.com>
393
394 * kernel_socket.c: Add RTA_NAME_GET macro to extract name from
395 sockaddr_dl. Add some more RTF_ flags.
396 * (ifan_read) Add some debug messages.
397 * (ifm_read) Add more debug messages. More robust cross-checks
398 of index against name.
399 Fall back to by-name lookup if the index lookup fails, future
400 proofing more than anything else.
401 (ifam_read_mesg) Read RTA_IFP. Add debug messages.
402 (ifam_read) More debug. If there's an RTA_IFP and it isn't
403 the name of the interface, save it as the label.
404 (rtm_read_mesg) Read RTA_IFP.
405 (rtm_read) allow name to be retrieved.
406 (rtmsg_debug) expand on the debug message.
407
paul0994c3a2005-11-11 09:52:40 +00004082005-11-11 Paul Jakma <paul.jakma@sun.com>
409
410 * kernel_socket.c: (ifm_read) arithmetic on void pointer
411 warning.
412 (ifam_read) Fix error from connected-with-label merge,
413 something crept in from the pending Solaris kernel_socket.c
414 patch which shouldn't have.
415
paul0752ef02005-11-03 12:35:21 +00004162005-11-03 Paul Jakma <paul.jakma@sun.com>
417
418 * connected.{c,h}: Include memory.h
419 (connected_add_ipv4) Use MTYPE for ifc label.
420 (connected_add_ipv6) Also should accept label. Store it in ifp.
421 (connected_del_ipv4) Taking label as argument is pointless.
422 * rt_netlink.c: (netlink_interface_addr) update label usage
423 for connected_{add,delete} functions.
424 * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
425 * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
426 so we also find out about NOXMIT interfaces like VNI.
427 Bit of hackery to turn interface names into the primary
428 interface name, later with routing socket messages we only
429 will about primary interfaces anyway, so we must normalise
430 the name.
431 (if_get_addr) take label as argument, so it can
432 be passed to connected_add.
433 If label is provided, then it is interface name to issue the
434 ioctl for address information on, not the ifp name.
435 (interface_list) List AF_UNSPEC too, just in case.
436 * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
437 * interface.c: (if_addr_wakeup) Some very bogus code - sets
438 IFF_RUNNING - add comment.
439 (if_refresh)
440 (ip_address_install) Use MTYPE for ifc label.
441 * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
442 IFF_UP reflect whether any addresses are left on the
443 interface, as we get signalled for IFF_UP flags change on the
444 primary interface only. Logical interfaces dont generate
445 IFINFO, but we do get an RTM_DELADDR.
446 (if_get_flags) Call if_mangle_up before return.
447 * kernel_socket.c: (ifam_read) Fixup calls to
448 connected_{add,delete} to match above changes. Rename gate
449 variable to brd, less confusing.
450 Pass the interface name as a label, if it is not same name
451 as ifp->name.
452
pauld06b2a62005-10-11 03:53:54 +00004532005-10-11 Paul Jakma <paul.jakma@sun.com>
454
455 * connected.{c,h}: (connected_{add,delete}_ipv4) label should
456 be const qualified.
457
ajsc05612b2005-10-01 16:36:54 +00004582005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
459
ajsf52d13c2005-10-01 17:38:06 +0000460 * zebra_vty.c: (route_type_str) Remove obsolete function: use new
461 library function zebra_route_string() instead. Note that there
462 are a few differences: for IPv6 routes, we now get "ripng" and
463 "ospf6" instead of the old behavior ("rip" and "ospf").
464 (route_type_char) Remove obsolete function: ues new library function
465 zebra_route_char() instead. Note that there is one difference:
466 the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
467 whereas the new one returns 'X'.
468 (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
469 route_type_str() with zebra_route_string().
470 (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
471 with zebra_route_char().
472
4732005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
474
ajsc05612b2005-10-01 16:36:54 +0000475 * rt_netlink.c: (netlink_request) Use memset to clear structure
476 before calling sendto (eliminates a valgrind error message about
477 uninitialized data).
vincentaa2e32b2005-09-28 13:42:11 +0000478
4792005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
480
vincentfbf5d032005-09-29 11:25:50 +0000481 * zserv.c: Always provied distance for route add
482
4832005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
484
vincentaa2e32b2005-09-28 13:42:11 +0000485 * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
486 usage with HAVE_IPV6
487
hassod24af182005-09-24 14:00:26 +00004882005-09-24 Hasso Tepper <hasso at quagga.net>
489
490 * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
491 add is treated as implicit withdraw.
492
hassoebf1ead2005-09-21 14:58:20 +00004932005-09-21 David Young <dyoung@ojctech.com>
494
495 * zebra_rib.c: Reduce the height of some staircases. Fix
496 rib_delete_ipv6() to match routes in the RIB by their gateway as
497 well as by destination.
498
paul319572c2005-09-21 12:30:08 +00004992005-09-21 Paul Jakma <paul.jakma@sun.com>
500
501 * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
502 removal of static routes with multiple-hops introduced with
503 the workqueue conversion. We should free the relevant
504 nexthop and then get rib_process to run, otherwise we just
505 get same static route back again (with no way to unconfigure
506 it, because its already deleted from configuration).
507
paulca162182005-09-12 16:58:52 +00005082005-09-12 Paul Jakma <paul.jakma@sun.com>
509
510 * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR
511 support.
512 * connected.c: (connected_withdraw) new function. withdraw a
513 connected subnet address set from zebra, and pass information
514 along to clients.
515 (connected_announce) similar, but to announce a new connected
516 subnet address set.
517 (connected_check_ipv4) renamed to connected_check, as its
518 AFI independent.
519 (connected_add_ipv{4,6}) Remove the connected address announce
520 stuff, use connected_announce instead.
521 If connected_check indicates address is already present,
522 treat it as an implicit withdraw of the existing address, ie
523 remove the old address details and replace with the new
524 details.
525 (connected_delete_ipv{4,6}) Use connected_withdraw.
526 (connected_check_ipv6) deleted in favour of connected_check.
527 * connected.h: Rename connected_check_ipv4 to connected_check.
528 delete connected_check_ipv6.
529 * interface.c: Use connected_check rather than the AFI specific
530 symbols.
531 * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a
532 rib delete event for the existing route, before adding route
533 again.
534 (kernel_read) we can handle RTM_CHANGE now.
535
hassobe61c4e2005-08-27 06:05:47 +00005362005-08-27 Hasso Tepper <hasso at quagga.net>
537
538 * zebra_rib.c, rib.h: Add distance and metric arguments to the
539 rib_add_ipv6() function so that IPv6 routes in RIB can have correct
540 metric. No IPv6 routing daemon uses distance yet though.
541 * zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
542 rtread_proc.c,zserv.c: Pass metric and distance info to the
543 rib_add_ipv6().
544
paul6eb88272005-07-29 14:36:00 +00005452005-07-29 Paul Jakma <paul.jakma@sun.com>
546
547 * interface.c: (if_delete_update) should always be available, not
548 just on RTM_IFANNOUNCE/NETLINK systems.
549 * kernel_socket.c: (ifan_read) only call if_delete_update when
550 interface departs, dont if_delete, because we wish to retain
551 interface configuration state even when interfaces are removed.
552 (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning
553 to down state is only chance we have to clean up interface in case
554 it is deleted (eg Solaris down -> unplumb -> plumb up).
555 * redistribute.c: (zebra_interface_delete_update) should always be
556 available, we /will/ call it now on all systems, via
557 if_delete_update.
558 * zserv.c: (zsend_interface_delete) ditto
559 (zsend_interface_address) Update the call-flow diagramme, to
560 reflect that if_delete_update /is/ now called on all systems,
561 potentially.
562 * zserv.h: (zsend_interface_delete) unconditionally exported, as
563 above.
564
paula1ac18c2005-06-28 17:17:12 +00005652005-06-28 Paul Jakma <paul.jakma@sun.com>
566
567 * (global) Extern and static'ification, with related fixups
568 of declarations, ensuring files include their own headers, etc.
paulea6f82b2005-06-28 17:20:26 +0000569 * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in
paula1ac18c2005-06-28 17:17:12 +0000570 list loop
paulea6f82b2005-06-28 17:20:26 +0000571 * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
572 should be on DEST argument
paula1ac18c2005-06-28 17:17:12 +0000573
paul62debbb2005-06-14 14:07:07 +00005742005-06-14 Paul Jakma <paul.jakma@sun.com>
575
576 * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and
577 RTM{ADDR,MASK}GET macros into generic rta_addrs macros,
578 RTA_{ADDR,ATTR}_GET.
579 (af_check) could use 'inline' attribute
580 (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to
581 generic macro.
582 (rtm_read_mesg) similar
583
hasso1ada8192005-06-12 11:28:18 +00005842005-06-12 Hasso Tepper <hasso at quagga.net>
585
586 * rt_netlink.c: Remove netlink-addr socket declaration, it's not used.
587 * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is
588 unsigned and one zlog call had swapped arguments.
589 * rt_netlink.c (netlink_route_multipath): Fix compile with disabled
590 IPv6 support.
591
paul1dcb5172005-05-31 08:38:50 +00005922005-05-31 Paul Jakma <paul.jakma@sun.com>
593
594 * zserv.c: (zsend_route_multipath) Fix bug if route is sent
595 with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX
596 and ZAPI_MESSAGE_NEXTHOP are always set, clients would try
597 read non-existent nexthop information and hit stream assert.
598 Zserv is still broken for multi-nexthop messages, but it always was.
599
paul69e10ad2005-05-06 21:27:33 +00006002005-05-06 Paul Jakma <paul.jakma@sun.com>
601
602 * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
603
paul4d38fdb2005-04-28 17:35:14 +00006042005-04-28 Paul Jakma <paul.jakma@sun.com>
605
606 * rib.h: (struct rib) Add lock field for refcounting.
607 * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
608 'master' struct.
609 * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
610 * zebra_rib.c: Clean up refcounting of route_node, make struct rib
611 refcounted and convert rib_process to work-queue. In general,
612 rib's should be rib_addnode'd and delnode'd to route_nodes, and
613 these symmetrical functions will manage the locking of referenced
614 route_node and freeing of struct rib - rather than having users
615 manage each seperately - with much scope for bugs..
616 (newrib_free) removed and replaced with rib_lock
617 (rib_lock) new function, check state of lock and increment.
618 (rib_unlock) new function, check lock state and decrement. Free
619 struct rib if refcount hits 0, freeing struct nexthop's, as
620 newrib_free did.
621 (rib_addnode) Add RIB to route_node, locking both.
622 (rib_delnode) Delete RIB from route_node, unlocking each.
623 (rib_process) Converted to a work-queue work function.
624 Functional changes are minimal, just arguments, comments and
625 whitespace.
626 (rib_queue_add_qnode) Helper function to setup a ribq item.
627 (rib_queue_add) Helper function, same arguments as old
628 rib_process, to replace in callers of rib_process.
629 (rib_queue_qnode_del) ribq deconstructor.
630 (rib_queue_init) Create the ribq.
631 (rib_init) call rib_queue_init.
632 (remainder) Sanitise refcounting of route_node's. Convert to
633 rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
634 to XCALLOC. Remove calls to nexthop_delete and nexthop_free.
635
paulcf460ef2005-04-10 16:54:26 +00006362005-04-10 Paul Jakma <paul@dishone.st>
637
638 * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
639 in ALL_LIST_ELEMENTS_RO macro.
640
ajs57a14772005-04-10 15:01:56 +00006412005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
642
643 * zserv.c (zebra_client_read): Fix bug: first read attempt should
644 read ZEBRA_HEADER_SIZE minus the number of bytes already read.
645 Improve efficiency by maintaining a calculation of the number
646 of bytes read instead of calling stream_get_endp multiple times.
647 If message length is too small, issue a warning message (not debug)
648 before closing the connection. And also check that message length
649 is not too big.
650
hasso206d8052005-04-09 16:38:51 +00006512005-04-09 Hasso Tepper <hasso at quagga.net>
652
hassofa599802005-04-09 16:59:28 +0000653 * rt_netlink.c: One tiny missing comma caused pointless debug messages
654 about IPv6 nexthops.
655
6562005-04-09 Hasso Tepper <hasso at quagga.net>
657
hasso206d8052005-04-09 16:38:51 +0000658 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
659 status to unsigned here, because we already checked that it isn't
660 negative or 0.
661 * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
662 address, not to the interface.
663 * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
664 is printed out now and IPv6 info is handeled.
665
paul3d1dc852005-04-05 00:45:23 +00006662005-04-05 Paul Jakma <paul@dishone.st>
667
668 * zserv.c: print more helpful errors when we fail to successfully
669 bind and listen on zserv socket. Closes bugzilla #163.
670
ajsd2fc8892005-04-02 18:38:43 +00006712005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
672
ajs08dbfb62005-04-03 03:40:52 +0000673 * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
674 * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
675 avoid overflow.
676 * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
677
6782005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
679
ajsa3491982005-04-02 22:50:38 +0000680 * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
681 to save a memcpy.
682 * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
683 if_get_by_name_len function.
684
6852005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
686
ajsd2fc8892005-04-02 18:38:43 +0000687 * interface.c: (if_new_intern_ifindex) Remove obsolete function.
688 (if_delete_update) After distributing the interface deletion message,
689 set ifp->ifindex to IFINDEX_INTERNAL.
690 (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
691 IFINDEX_INTERNAL.
692 (zebra_interface) Check return code from interface_cmd.func.
693 Do not set internal ifindex values to if_new_intern_ifindex(),
694 since we now use IFINDEX_INTERNAL for all pseudo interfaces.
695 * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
696 all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
697 * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
698 Detects interface rename events by checking if that ifindex is already
699 being used. If it is, delete the old interface before assigning
700 the ifindex to the new interface.
701 (netlink_interface, netlink_link_change) Call set_ifindex to update
702 the ifindex.
703
hassob7ed1ec2005-03-31 20:13:49 +00007042005-03-31 Hasso Tepper <hasso at quagga.net>
705
706 * rt_netlink.c (netlink_talk_filter): Show always warning message,
707 it's not for debug.
708 * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
709 although we do now actually.
710 * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
711 netlink_cmd to send messages to the kernel.
712
ajs2da40f42005-03-30 16:33:13 +00007132005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
714
715 * irdp.h: Add prototype for irdp_sock_init, and fix protos for
716 other irdp_* functions.
717 * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
718 call irdp_sock_init to create the IRDP socket.
719 (irdp_if_init) Rename to irdp_init().
720 (get_iflist_ifp) Remove function that is a duplicate of
721 if_lookup_by_index.
722 (*) Make many functions static. And remove superfluous "\n" from
723 several zlog messages.
724 * irdp_main.c: (irdp_init) Remove function that used to call
725 irdp_if_init() and irdp_sock_init(), since we will now create
726 the socket only upon first use.
727 (irdp_sock_init) Do not update global irdp_sock variable, just
728 return the fd and assume that the caller will do so. If setsockopt
729 calls fail, close the socket before returning -1.
730 (*) Make many functions static.
731 * irdp_packet.c: Initialize irdp_sock to -1.
732 (irdp_read_raw) Call standard library function if_lookup_by_index
733 instead of get_iflist_ifp.
734 (irdp_recvmsg) Should be static, not global.
735
ajsa608bbf2005-03-29 17:03:49 +00007362005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
737
738 * rt_netlink.c: (netlink_link_change) If the status of an
739 operative interface changes (e.g. MTU changes), the client
740 daemons should be notified by calling zebra_interface_up_update.
741 Previously, the information was being updated in zebra's
742 interface structure, but the clients were not notified of
743 changes to an operative interface.
744
vincent7cee1bb2005-03-25 13:08:53 +00007452005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
746 * interface.c, interface.h, rtadv.c, rtadv.h: modifications to
747 IPv6 Neighbor Discovery according to RFC3775, section 7:
748 o 1-bit Home Agent flag management in Router Advertisement (7.1).
749 o 1-bit Router Address flag management in Prefix Information
750 Option (7.2).
751 o Advertisement Interval Option (7.3)
752 o Home Agent Information Option (7.4)
753 o Changes to Sending Router Advertisements more frequently (7.5)
754
hassoed9bb6d2005-03-13 19:17:21 +00007552005-03-13 Hasso Tepper <hasso at quagga.net>
756
757 * zebra/interaface.c: "show interface description" command
758 implemented.
759
paulc1f01f32005-03-12 06:33:14 +00007602005-03-12 Paul Jakma <paul@dishone.st>
761
762 * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
763 No stock Linux kernel has ever supported it, and even if it had
764 it's not generally a good idea.
765
hasso42a66d72005-03-07 08:19:44 +00007662005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
767
768 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
769
hasso3452d472005-03-06 13:42:05 +00007702005-03-06 Hasso Tepper <hasso at quagga.net>
771
772 * interface.c: Fix CRC and frame errors statistics in Linux.
773
ajs719e9742005-02-28 20:52:15 +00007742005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
775
776 * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
777 Remove global message_queue and t_write (need separate buffering for
778 each client).
779 (zebra_server_dequeue,zebra_server_enqueue) Remove functions
780 related to old buggy buffering code.
781 (zserv_delayed_close) New thread callback function to delete a client.
782 (zserv_flush_data) New thread callback function to flush buffered
783 data to client.
784 (zebra_server_send_message) Rewritten to use buffer_write (so
785 buffering of writes and non-blocking I/O work properly).
786 (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
787 zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
788 (this is not really an error). Return value from
789 zebra_server_send_message.
790 (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
791 zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
792 (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
793 from zebra_server_send_message.
794 (zsend_router_id_update) Must use zebra_server_send_message instead
795 of deprecated writen function. Return 0 instead of -1 if this client
796 is not subscribed to router-id updates (since this is not really
797 an error).
798 (zread_interface_add) Change type to static int. If
799 zsend_interface_add fails or zsend_interface_address fails, return -1
800 immediately (since the client has had an I/O error).
801 (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
802 zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
803 to indicate success.
804 (zread_ipv4_nexthop_lookup) Return value from
805 zsend_ipv4_nexthop_lookup.
806 (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
807 (zebra_read_ipv6) Remove unused function.
808 (zread_ipv6_nexthop_lookup) Return value from
809 zsend_ipv6_nexthop_lookup.
810 (zread_router_id_add) Return value from zsend_router_id_update.
811 (zebra_client_close) Call buffer_free(client->wb) and
812 thread_cancel(client->t_suicide).
813 (zebra_client_create) Allocate client->wb using buffer_new.
814 (zebra_client_read) Support non-blocking I/O by using stream_read_try.
815 Use ZEBRA_HEADER_SIZE instead of 3.
816 (zebra_accept) Fix bug: reset accept thread at top. Make client
817 socket non-blocking using the set_nonblocking function.
818 (config_write_forwarding) Fix scope to static.
819 (zebra_init) Remove initialization code for old buggy write buffering.
820 * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
821 (to enable buffered writes with non-blocking I/), and
822 struct thread *t_suicide to support delayed close on I/O
823 errors.
824 * router-id.h: Remove prototypes for zread_router_id_add and
825 zread_router_id_delete (their scope should be static to zserv.c).
826
ajs27da3982005-02-24 16:06:33 +00008272005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
828
829 * redistribute.c: (zebra_check_addr,is_default,
830 zebra_redistribute_default,zebra_redistribute) Fix scope to be static.
831
hassoe8274dc2005-02-20 19:09:23 +00008322005-02-20 Hasso Tepper <hasso at quagga.net>
833
834 * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
835 if we are not debugging.
836
paule31f2292005-02-19 02:00:26 +00008372005-02-19 Paul Jakma <paul@dishone.st>
838
839 * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
840 STREAM_READABLE.
841
paul1e193152005-02-14 23:53:05 +00008422005-02-14 Paul Jakma <paul@dishone.st>
843
844 * Not all Linux netlink systems have IFLA_WIRELESS
845
ajs6a52d0d2005-01-30 18:49:28 +00008462005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
847
848 * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
849 zlog_err.
850 * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
851 zlog_err.
852
ajs4be019d2005-01-29 16:12:41 +00008532005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
854
ajs4460e7a2005-01-29 17:07:40 +0000855 * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
856 zserv_privs.change.
857 * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
858 zserv_privs.change.
859 * ipforward_solaris.c: (solaris_nd) Save errno before calling
860 zserv_privs.change.
861 * irdp_main.c: (irdp_sock_init) Save errno before calling
862 zserv_privs.change.
863
8642005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
865
ajs4be019d2005-01-29 16:12:41 +0000866 * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
867 netlink_talk) Save errno before calling zserv_privs.change.
868
paulc15cb242005-01-24 09:05:27 +00008692005-01-24 Martin Pot <mpot at martybugs.net>
870
871 * zebra/rt_netlink.c: ignore wireless newlink netlink messages.
872
hasso6f2c27a2005-01-18 13:44:35 +00008732005-01-18 Hasso Tepper <hasso at quagga.net>
874
875 * interface.c: Better statistics output in "show interface" command in
876 case of /proc being used.
877
hasso583d8002005-01-16 23:34:02 +00008782005-01-17 Hasso Tepper <hasso at quagga.net>
879
880 * main.c: With --nl-bufsize argument is required.
881
paul865b8522005-01-05 08:30:35 +00008822005-01-05 Paul Jakma <paul@dishone.st>
883
884 * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
885 for now, as we dont actually deal with with resending.... See
886 bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
887 * kernel_socket.c: (routing_socket) ditto.
888
ajsb99760a2005-01-04 16:24:43 +00008892005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
890
891 * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
892 instead of CMSG_FIRSTHDR.
893
ajs341a8f12004-12-22 16:32:16 +00008942004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
895
896 * connected.c: (connected_add_ipv4) Limit warning about /32 addresses
897 with no peer specified to PtP interfaces only.
898
hassob8adec12004-12-18 16:03:28 +00008992004-12-18 Hasso Tepper <hasso at quagga.net>
900
901 * zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it
902 work for isis routes.
903
gdt6a250b02004-12-09 14:48:12 +00009042004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
905
906 * kernel_socket.c (rtmsg_debug): char * => const char *
907
ajs274a4a42004-12-07 15:39:31 +00009082004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
909
ajsb6178002004-12-07 21:12:56 +0000910 * *.c: Change level of debug messages to LOG_DEBUG.
911
9122004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
913
ajs274a4a42004-12-07 15:39:31 +0000914 * main.c: (main) The 2nd argument to openzlog has been removed.
915 So stdout logging will no longer be enabled by default.
916 * irdp_main.c: (irdp_finish) Reduce severity of shutdown message
917 from LOG_WARNING to LOG_INFO.
918
ajs887c44a2004-12-03 16:36:46 +00009192004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
920
921 * main.c: (sigint) Use zlog_notice for termination message.
922 (main) Add a startup announcement using zlog_notice.
923
hassoaccb1562004-11-25 19:21:07 +00009242004-11-25 Hasso Tepper <hasso at quagga.net>
925
926 * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because
927 it confuses extract.pl.
hassoc0652302004-11-25 19:33:48 +0000928 * main.c: Make group to run as configurable.
hassoaccb1562004-11-25 19:21:07 +0000929
hasso6bd7c6a2004-10-28 17:32:27 +00009302004-10-28 Hasso Tepper <hasso at quagga.net>
931
932 * interface.c: Remove dead "ip tunnel" command.
933
paul06f953f2004-10-22 17:00:38 +00009342004-10-22 Paul Jakma <paul@dishone.st>
935
936 * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex
937
hasso3fb9cd62004-10-19 19:44:43 +00009382004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
939
940 * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore
941 tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL].
942 * interface.c: (ip_address_install) Use new ipv4_broadcast_addr
943 function.
944 * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST
945 macro.
946 (connected_down_ipv4) ditto.
947 (connected_add_ipv4) Validate destination address, print warnings
948 if it does not make sense.
949
hassoc1eaa442004-10-19 06:26:01 +00009502004-10-19 Hasso Tepper <hasso at quagga.net>
951
952 * zserv.c: Fix regression introduced with zserv cleanup.
953
hassoc75105a2004-10-13 10:33:26 +00009542004-10-13 Hasso Tepper <hasso at quagga.net>
955
956 * zebra_snmp.c: Remove defaults used to initialize smux connection to
957 snmpd. Connection is initialized only if smux peer is configured.
hassob71f00f2004-10-13 12:20:35 +0000958 * zserv.c: Remove useless warnings "forwarding is already on".
hassoc75105a2004-10-13 10:33:26 +0000959
hasso39ff11d2004-10-12 15:55:19 +00009602004-10-12 Hasso Tepper <hasso at quagga.net>
961
962 * zebra_vty.c: Unbreak "show ip route" command help and make it work
963 for isis routes.
hasso39db97e2004-10-12 20:50:58 +0000964 * interface.c(if_dump_vty): Show IPv6 addresses in "show interface"
965 output. Fixes Bugzilla #119.
966 * *.c: Make some strings const and some (unsigned) casts to fix
967 compiler warnings.
hasso39ff11d2004-10-12 15:55:19 +0000968
hassofce954f2004-10-07 20:29:24 +00009692004-10-07 Hasso Tepper <hasso at quagga.net>
970
971 * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c:
972 Fix warnings: make strings const, signed -> unsigned.
973
paul72164662004-10-05 14:39:43 +00009742004-10-05 Paul Jakma <paul@dishone.st>
975
976 * irdp_packet.c: (parse_irdp_packet) style issues.
977 Use sockopt_iphdrincl_swab_systoh.
978 Try unbork the code. Checksum the ICMP data and actually
979 compare it to received checksum. Check data length against
980 claimed length in header.
981 Always use ntoh.. when accessing addresses, even when the
982 comparison happens to be endian-safe.
983 (send_packet) minor style isues. Use
984 sockopt_iphdrincl_swab_htosys.
985 (irdp_iph_hton/ntoh) IP header to/from network/host order.
986
hassoeef1fe12004-10-03 18:46:08 +00009872004-10-03 Gilad Arnold <gilad.arnold at terayon.com>
988
989 * interface.c, interface.h: A new prefix tree of connected subnets is
990 associated with each interface structure in zebra, in which each
991 live (ie, non-synthetic) node holds a list of installed addresses
992 that belong to that prefix. Remove secondary address logic from cli.
993 See [quagga-dev 872] for detailed explanation.
994 * connected.c: Use if_subnet_add() and if_subnet_delete().
995
hasso18a6dce2004-10-03 18:18:34 +00009962004-10-03 James R. Leu <jleu at mindspring.com>
997
998 * router-id.c, router-id.h: New files. Router id selection process. If
999 there is non 127.x.x.x address in loopack interface, lowest of them
1000 is chosen. If there isn't, lowest from other interfaces addresses
1001 are chosen. "router-id x.x.x.x" vty command to manual override.
1002 * Makefile.am: Compile new files.
1003 * main.c: Initialize router id.
1004 * redistribute.c: Add interface addresses into router id selection
1005 lists as they (dis)appear.
1006 * zserv.c, zserv.h: Sending router id related messages to daemons.
1007
hassoc9e52be2004-09-26 16:09:34 +000010082004-09-26 Hasso Tepper <hasso at quagga.net>
1009
1010 * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
1011 rtadv.c, zebra_vty.c: Fix compiler warnings.
1012
paul0c0f9112004-09-24 08:24:42 +000010132004-09-24 Paul Jakma <paul@dishone.st>
1014
paul26f7a242004-09-24 08:45:10 +00001015 * irdp_interface.c: (no_ip_irdp_address_preference_cmd)
1016 add missing listnode declaration.
1017
10182004-09-24 Paul Jakma <paul@dishone.st>
1019
paul0c0f9112004-09-24 08:24:42 +00001020 * irdp_{interface,main}.c: lists typedef removal cleanup.
1021 update some list loops to LIST_LOOP. some miscellaneous style
1022 and indent fixups.
1023 (no_ip_irdp_address_preference_cmd) Fix delete of referenced node
paul26f7a242004-09-24 08:45:10 +00001024 in loop.
paul0c0f9112004-09-24 08:24:42 +00001025 * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer
1026 to pointer.
1027 * if_ioctl{,_solaris}.c: lists typedef removal cleanup.
1028 update some list loops to LIST_LOOP.
1029
hasso52dc7ee2004-09-23 19:18:23 +000010302004-09-23 Hasso Tepper <hasso at quagga.net>
1031
1032 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1033
paul44983cf2004-09-22 13:15:58 +000010342004-09-22 Paul Jakma <paul.jakma@sun.com>
1035
1036 * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
1037 in_addr to sizeof(struct in6_addr), causing odd and hard to debug
1038 crash.
1039
hassoc34b6b52004-08-31 13:41:49 +000010402004-08-31 Hasso Tepper <hasso at quagga.net>
1041
1042 * main.c, rt_netlink.c: Added -s command line switch for tuning
1043 netlink receive buffer size in Linux to avoid buffer overruns.
1044
gdta5ea6872004-08-26 13:24:00 +000010452004-08-26 Miles Nordin <carton@Ivy.NET>
1046
1047 * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
1048 sysctl(3), rather than int. (Needed on NetBSD/alpha to display
1049 forwarding status correctly.)
1050
paul3e0b3a52004-08-23 18:58:32 +000010512004-08-23 Paul Jakma <paul@dishone.st>
1052
1053 * zserv.c: (zebra_init) remove implicit ip forward enabling
1054
paul0de1cde2004-08-19 04:45:33 +000010552004-08-19 Paul Jakma <paul@dishone.st>
1056
1057 * irdp_main.c: update to match sockopt renames.
1058 * irdp_packet.c: include sockopt.h and update to match sockopt
1059 renames.
1060
gdt57492d52004-08-11 18:06:38 +000010612004-08-11 Greg Troxel <gdt@fnord.ir.bbn.com>
1062
1063 * rtadv.c (rtadv_send_packet): Allocate space for control messages
1064 more carefully; it was wrong on NetBSD/sparc where CMSG alignment
1065 is to 8 bytes instead of 4, and overwriting the address. Use the
1066 provided macros for determining lengths.
1067
paul5b73a672004-07-23 15:26:14 +000010682004-07-23 Sowmini Varadhan <Sowmini.Varadhan@Sun.COM>
1069
1070 * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups
1071 * zserv.c: ditto
1072 * ioctl_solaris.c: ditto.
1073 * interface.c: cast for LLADDR
1074 * interface.h: Add guards, include redistribute.h and remove
1075 extraneous definitions of zebra_interface_{up,down}_update
1076 * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6
1077 * redistribute.h: include dependent header, zserv.h
1078 * zserv.h: include dependent header, rib.h
1079
paul1470baf2004-07-23 15:25:01 +000010802004-07-23 Paul Jakma <paul@dishone.st>
1081
1082 * irdp_main.c: use setsockopt_pktinfo_ipv4
1083 * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and
1084 getsockopt_pktinfo_ifindex()
1085
gdtcced60d2004-07-13 16:45:54 +000010862004-07-13 David Wiggins <dwiggins@bbn.com
1087
1088 * kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'.
1089
hasso25dac852004-07-13 03:06:51 +000010902004-07-13 Hasso Tepper <hasso@estpak.ee>
1091
1092 * irdp_main.c: Add privilege change.
1093
hasso996933f2004-07-12 16:32:56 +000010942004-07-12 Hasso Tepper <hasso@estpak.ee>
1095
1096 * irdp_interface.c: follow common style while naming vty command
1097 functions. Avoids confusion in extract.pl.
1098
gdt87efd642004-06-30 17:36:11 +000010992004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1100
1101 * main.c: define thread_master variable so that linking with
1102 libzebra.so doesn't fail. Arguably zclient.o should be in a
1103 separate library, but this is far less disruptive.
1104
hassoca776982004-06-12 14:33:05 +000011052004-06-12 Robert Olsson <Robert.Olsson at data.slu.se>
1106
1107 * Added IRDP support.
1108
hasso3e31cde2004-05-18 11:58:59 +000011092004-05-18 Hasso Tepper <hasso@estpak.ee>
1110
1111 * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd
1112 prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of
1113 "ipv6 nd prefix" command to allow various combinations of parameters
1114 and flags. No defaults in configuration. Replaced on-link and
1115 autoconfig with off-link and no-autoconfig flags in command syntax.
1116 Cosmetic fixes in all commands. Documentation to reflect all changes.
1117
paul19877dd2004-05-11 10:49:35 +000011182004-05-11 Paul Jakma <paul@dishone.st>
1119
1120 * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
paul48a46fa2004-05-11 10:55:22 +00001121 * if_ioctl_solaris.c: Fixup some erroneous privilege changes and
1122 add privs.h header.
1123 * ioctl_solaris.c: ditto
paulc50ae8b2004-05-11 11:31:07 +00001124 * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6
1125 * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while
1126 RHS in assignments :)
1127 * redistribute.c: (zebra_interface_delete_update) only used
1128 if RTM_IFANNOUNCE and NETLINK is available.
1129
paulb9df2d22004-05-09 09:09:59 +000011302004-05-09 Paul Jakma <paul@dishone.st>
1131
1132 * zserv.c: (zsend_route_multipath) Set the nexthop_num
1133 field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6.
1134 Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds.
1135 (zsend_ipv4_add) cruft, deleted.
1136 (zsend_ipv4_delete) ditto.
1137 (zsend_ipv6_add) ditto.
1138 (zsend_ipv6_delete) ditto.
paul44145db2004-05-09 11:00:23 +00001139 * ioctl.c: (if_get_mtu) set mtu6 to mtu
1140 * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
1141 * rt_netlink.c: (netlink_interface) set mtu6 to mtu
1142 (netlink_link_change) ditto
paul66e94882004-05-09 17:19:24 +00001143 * ipforward_solaris.c: fix typo of ND variable.
paul88424682004-05-09 18:21:35 +00001144 * if_ioctl_solaris.c: Add zprivs support.
1145 * ioctl_solaris.c: ditto.
paul66e94882004-05-09 17:19:24 +00001146
paulb9df2d22004-05-09 09:09:59 +000011472004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
1148
1149 * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed
1150 into single zsend_route_multipath function.
1151 (zsend_interface_{up,down}) collapsed into zsend_interface_update.
1152 (zsend_interface_address_{add,delete}) collapsed into
1153 zsend_interface_address.
1154 (zsend_interface_add) send mtu6.
1155 (zsend_interface_delete) ditto.
1156 (zebra_write) remove unused function.
1157 (various) Apply static qualifier. Add comments.
1158 * zserv.h: Definitions changed as per above.
1159 * redistribute.c: Changes as per zserv.c.
paul44145db2004-05-09 11:00:23 +00001160 * interface.c: (if_delete_update) only used with HAVE_NETLINK
1161 and RTM_IFANNOUNCE.
1162 (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
1163 (if_dump_vty) print mtu6 if not same as mtu
paul88424682004-05-09 18:21:35 +00001164 * if_ioctl_solaris.c: New file, Solaris interface ioctl methods.
1165 * ioctl_solaris.c: New file, Common solaris ioctl methods.
1166
hasso34195bf2004-04-06 12:07:06 +000011672004-04-06 Krzysztof Oledzki <oleq@ans.pl>
1168
1169 * rt_netlink.c: Do not ignore metric when reading kernel routing
1170 table on Linux with rt_netlink interface.
1171
11722004-03-18 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001173
1174 * interface.c: Temporary fix for handling secondary addresses
1175 with label.
1176
hasso55906722004-02-11 22:42:16 +000011772004-02-12 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +00001178
hasso55906722004-02-11 22:42:16 +00001179 * zserv.c: Added "ipv6 forwarding" command.
1180
gdtb27900b2004-01-08 15:44:29 +000011812004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
1182
1183 * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
1184 for reading kernel messages to ensure enough space (necessary on
1185 Solaris due to sockaddr_dl being large). Thanks to Sowmini
1186 Varadhan for help with this change.
1187
gdt9ccabd12004-01-06 18:23:02 +000011882004-01-06 Greg Troxel <gdt@t1.ir.bbn.com>
1189
1190 * rtadv.c (rtadv_send_packet): Change perror to zlog_err.
1191
gdtdbee01f2004-01-06 00:36:51 +000011922004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdt4bfbea82004-01-06 01:13:05 +00001193 * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
1194 to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
1195 to just the accomodation of broken kernels. Check sockaddr_dl
1196 carefully up front, and later assume any non-NULL sdl pointer is
1197 valid. Clean up types and variable declarations, and rename
1198 WRAPUP to SAROUNDUP to make the name fit the behavior.
1199
12002004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdtdbee01f2004-01-06 00:36:51 +00001201
1202 * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
1203 structure, because on Solaris sockaddr_dl is far larger than the
1204 base sockaddr structure. (The code had previously been failing to
1205 read all the data.)
gdt4bfbea82004-01-06 01:13:05 +00001206
gdtda26e3b2004-01-05 17:20:59 +000012072004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
1208
1209 * kernel_socket.c (kernel_read): Look up interfaces by index
1210 first, so that state changes which do not include a sockaddr_dl
1211 now work. Add many sanity checks. In
1212 particular, do not assume that a sockaddr_dl follows a message
1213 without checking the ifm_addrs flags, and do not trust the length
1214 in a sockaddr_dl. Add/clarify many comments.
1215
gdt4b5e1352003-12-03 17:54:34 +000012162003-12-03 Greg Troxel <gdt@poblano.ir.bbn.com>
1217
1218 * rtadv.c: reorder includes to avoid compiler warning (define
1219 structs before using them in prototypes)
1220
hasso647e4f12003-05-25 11:43:52 +000012212003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>
1222
1223 * zserv.c: Add "ip forwarding" command.
1224
paul445f1432003-05-16 19:00:31 +000012252003-05-16 Gilad Arnold <gilad.arnold@terayon.com>
1226
1227 * zebra_rib.c: Fix memory leaks for ifname nexthops
1228
12292003-04-19 Israel Keys <ikeys@agile.tv>
1230
1231 * rt_netlink.c: BLOCK on netlink while initialising
1232
12332003-02-06 Francois Deppierraz <francois@ctrlaltdel.ch>
1234
1235 * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
1236 it exists.
1237
paul718e3742002-12-13 20:15:29 +000012382002-09-28 Akihiro Mizutani <mizutani@net-chef.net>
1239
1240 * zebra_rib.c (static_add_ipv4): Null0 static route is added.
1241
12422002-09-10 Jochen Friedrich <chris+zebra@scram.de>
1243
1244 * rt_netlink.c: Add check for EAGAIN.
1245 * kernel_socket.c: Likewise
1246
12472002-06-12 Israel Keys <ikeys@oz.agile.tv>
1248
1249 * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
1250 message so that we get an ACK for successful netlink commands.
1251 Change the netlink socket to BLOCKING while we wait for a
1252 response; be it an ACK or an NLMSG_ERROR. Change
1253 netlink_parse_info to deal with ACK messages.
1254
12552001-11-01 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1256
1257 * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
1258 work for ICMPv6 socket.
1259
12602001-10-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1261
1262 * rib.c (rib_process): Select connected route any case.
1263
12642001-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1265
1266 * interface.c (no_ip_address_secondary): Add "no" to command.
1267
12682001-10-18 NOGUCHI Kay <kay@v6.access.co.jp>
1269
1270 * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
1271 to infinity as the freebsd4.4 workaroud.
1272
12732001-08-26 mihail.balikov@interbgc.com
1274
1275 * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
1276 A.B.C.255.
1277
12782001-08-22 NOGUCHI Kay <kay@v6.access.co.jp>
1279
1280 * rtadv.c: Do not send RA to loopback interface.
1281
12822001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1283
1284 * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
1285 route treatment.
1286
12872001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1288
1289 * zebra-0.92a released.
1290
12912001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1292
1293 * rib.c: Kernel route is treated as EGP routes in nexthop active
1294 check.
1295
12962001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1297
1298 * zebra-0.92 released.
1299
13002001-08-08 "Akihiro Mizutani" <mizutani@dml.com>
1301
1302 * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
1303 show route commands.
1304
13052001-07-29 Yon Uriarte <havanna_moon@gmx.net>
1306
1307 * zserv.c (zsend_ipv4_add_multipath): Add
1308 NEXTHOP_TYPE_IPV4_IFINDEX check.
1309
13102001-07-29 NOGUCHI Kay <kay@v6.access.co.jp>
1311
1312 * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
1313 autonomous address-configuration flag patch.
1314 (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
1315 suppress-ra".
1316
13172001-07-24 NOGUCHI Kay <kay@v6.access.co.jp>
1318
1319 * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
1320 command.
1321
13222001-07-24 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1323
1324 * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
1325 multicast FIB support both IPv4 and IPv6.
1326
13272001-07-24 Hal Snyder <hal@vailsys.com>
1328
1329 * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
1330 full list of interfaces on some configurations of OpenBSD.
1331
13322001-07-23 NOGUCHI Kay <kay@v6.access.co.jp>
1333
1334 * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
1335 send-ra" bug.
1336 (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
1337 availability.
1338 (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
1339 added.
1340 (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
1341
13422001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1343
1344 * ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
1345
1346 * rt_ioctl.c: Likewise.
1347
13482001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1349
1350 * kernel_socket.c (rtm_write): Only set RTF_CLONING when the
1351 interface is not p2p.
1352
13532001-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1354
1355 * ioctl.c (if_prefix_add_ipv6): Fix argument type.
1356
13572001-04-06 Toshiaki Takada <takada@zebra.org>
1358
1359 * zserv.c (zsend_interface_delete): Use client->obuf instead of
1360 allocating new stream.
1361
13622001-03-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1363
1364 * rt_netlink.c: Revert RTPROT_BOOT change.
1365
13662001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1367
1368 * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
1369 (netlink_routing_table): Likewise.
1370
13712001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1372
1373 * zserv.c (zsend_ipv4_add_multipath): Send metric value to
1374 protocol daemons.
1375
13762001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1377
1378 * rt_netlink.c (netlink_routing_table): Do not return
1379 tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe"
1380 <mokeefe@qualcomm.com>.
1381
13822001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1383
1384 * if_ioctl.c (interface_list_ioctl): Call if_add_update().
1385 Suggested by: Chris Dunlop <chris@onthe.net.au>.
1386
13872001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1388
1389 * rib.c (nexthop_active_ipv4): When nexthop type is
1390 NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
1391
1392 * zserv.c: Initialize rtm_table_default with 0.
1393
1394 * zebra-0.91 is released.
1395
13962001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1397
1398 * kernel_socket.c (rtm_read): Filter cloned route. Suggested by:
1399 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1400
14012001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1402
1403 * connected.c (connected_up_ipv6): When point-to-point destination
1404 address is ::, use local address for connected network.
1405 (connected_down_ipv6): Likewise.
1406
14072001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1408
1409 * zserv.c (zebra_serv): Add missing close() call. Reported by:
1410 David Waitzman <djw@vineyard.net>.
1411
14122001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1413
1414 * rib.c (rib_lookup_ipv4): New function for checking exact match
1415 IGP route.
1416
14172001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1418
1419 * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
1420 route-type".
1421
14222001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1423
1424 * interface.c (zebra_interface): Do not call
1425 zebra_interface_add_update for inactive interface.
1426
1427 * zserv.c (zsend_interface_address_add): Send interface address
1428 flag.
1429 (zsend_interface_address_delete): Likewise.
1430
14312001-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1432
1433 * interface.c (if_addr_add): Add flags.
1434
1435 * connected.c (ifa_add_ipv4): Add new function for interface
1436 address handling.
1437 (ifa_delete_ipv4): Likewise.
1438
14392001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1440
1441 * rib.c (rib_update): Update IPv6 RIB.
1442
1443 * kernel_socket.c (ifam_read): Call if_refresh() for update
1444 interface flag status. This is for implicit interface up on *BSD.
1445
1446 * interface.c (if_refresh): Add interface flag refresh function.
1447
1448 * kernel_socket.c (rtm_read): Fetch link-local address interface
1449 index.
1450 (ifan_read): We need to fetch interface information. Suggested
1451 by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
1452
1453 * rib.c (static_ipv6_nexthop_same): Add check for
1454 NEXTHOP_TYPE_IPV6_IFNAME.
1455
14562001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1457
1458 * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are
1459 taken into place.
1460
14612001-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1462
1463 * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
1464 configuration.
1465 (rib_delete_ipv6): Handle same route conter for IPv6 connected
1466 route.
1467 (show_ipv6_route_protocol): New command.
1468 (show_ipv6_route_addr): Likewise.
1469 (show_ipv6_route_prefix): Likewise.
1470 (rib_update): Sweep kernel route when it is cleaned up.
1471
1472 * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
1473 treatmenet.
1474
1475 * rt_netlink.c (kernel_init): Likewise.
1476
1477 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
1478
1479 * rib.c (rib_add_ipv4): Cope with same connected route on a
1480 interface. Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
1481 (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
1482
1483 * rib.h (struct new_rib): Add refcnt to keep track on the
1484 reference of same connected route.
1485
1486 * ioctl.c (if_set_prefix): Add check for GNU_LINUX.
1487
14882001-01-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1489
1490 * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
1491 (rtm_type_str): Add RTM_IFANNOUNCE check.
1492 (ifan_read): New function.
1493 (kernel_read): Add case for RTM_IFANNOUNCE.
1494
14952001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1496
1497 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
1498
1499 * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
1500 treatment.
1501
1502 * connected.c (connected_up_ipv6): Add dest value check.
1503
1504 * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
1505 ifindex.
1506 (rib_add_ipv4): Import rib_add_ipv6() same route check code.
1507 (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
1508 checked by ifindex.
1509
1510 * rt_socket.c (kernel_rtm_ipv6_multipath): New function.
1511
1512 * redistribute.c (redistribute_add): Use
1513 zsend_ipv6_add_multipath().
1514 (redistribute_delete_multipath): Use
1515 zsend_ipv6_delete_multipath().
1516
1517 * interface.c (ip_address): Check current IP address to avoid
1518 duplicate.
1519
1520 * rib.c (rib_delete_ipv4): When deleted route is connected route,
1521 check ifindex.
1522 (rib_add_ipv4): When connected route is added do not perform
1523 implicit withdraw.
1524 (rib_delete_ipv4): Check ifindex for connected route.
1525
1526 * kernel_socket.c (rtm_read): When route has RTF_STATIC, set
1527 ZEBRA_FLAG_STATIC for indicate as persistent route.
1528 (ifam_read): Unset interface index from link-local address when
1529 IPv6 stack is KAME.
1530
1531 * rib.c (rib_update): Do not delete persistent kernel route.
1532
1533 * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
1534
1535 * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
1536 (kernel_delete_ipv6_multipath): Likewise.
1537
1538 * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
1539
15402001-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1541
1542 * rib.c (rib_update): Revert Matthew Grant's patch
1543 zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel
1544 interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
1545 that. Add support for address deletion situation.
1546
15472001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1548
1549 * interface.c: Remove HAVE_IF_PSEUDO part.
1550
1551 * rib.h: Likewise.
1552
1553 * rt_netlink.c (netlink_link_change): Likewise.
1554
15552001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1556
1557 * zserv.c: Remove OLD_RIB codes.
1558
15592001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1560
1561 * zebra-0.90 is released.
1562
15632001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1564
1565 * interface.c (if_new_intern_ifindex): Allocate a new internal
1566 interface index.
1567 (if_addr_refresh): Fix up ip addresses configured via zebra.
1568 (if_add_update): Handle an interface addition.
1569 (if_delete_update): Handle an interface delete event.
1570
1571 * rib.c (nexthop_ipv4_add): Add kernel route deletion process when
1572 interface goes down.
1573
15742001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1575
1576 * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
1577 NetBSD also use this function. Suggested by Jasper Wallace
1578 <jasper@ivision.co.uk>.
1579
15802001-01-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1581
1582 * rib.c (nexthop_active_ipv4): Move back to set methodo to old
1583 one.
1584
15852001-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1586
1587 * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
1588 flag, so treat it.
1589
15902001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1591
1592 * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
1593 sent from netlink_cmd, the same message comes from netlink. To
1594 avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
1595 instead of netlink_cmd.sock.
1596
15972001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1598
1599 * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
1600 Change "/tmp/zserv" to "/tmp/.zserv".
1601
16022000-12-29 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1603
1604 * rt_netlink.c (struct nlsock): Divide kernel message into listen
1605 socket and command socket.
1606 (netlink_talk): Remove socket listen code. Use netlink_parse_info
1607 for read kernel response.
1608
16092000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1610
1611 * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
1612 routes.
1613
16142000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1615
1616 * rt_netlink.c (netlink_route_multipath): Metric value is
1617 reflected to kernel routing table.
1618
1619 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
1620
1621 * kernel_socket.c (rtm_write): Likewise.
1622
1623 * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
1624 nexthop lookup.
1625
1626 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
1627 new RIB implementation.
1628
16292000-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1630
1631 * rib.h: Remove MULTIPATH_NUM. It is defined by configure script.
1632
16332000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1634
1635 * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
1636 proper redistribution.
1637
16382000-12-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1639
1640 * rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
1641 (show_ip_route_protocol): Support new RIB.
1642
1643 * rt_netlink.c (netlink_route_change): Do not return when gate is
1644 NULL.
1645
16462000-12-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1647
1648 * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
1649 updated.
1650 (rib_add_ipv4): Free implicit withdraw route's RIB.
1651
16522000-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1653
1654 * rib.c (nexthop_active_ipv4): Check indirect nexthop.
1655
1656 * redistribute.c (redistribute_add_multipath): Redistribution
1657 works with new rib code.
1658
16592000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1660
1661 * rt_netlink.c (netlink_route_multipath): Check useful nexthop
1662 number.
1663 (netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
1664
1665 * rib.c (nexthop_active_update): Set flag for the rib's nexthop
1666 activity is changed.
1667 (nexthop_active_check): Before checking interface is up, make it
1668 sure the interface exist.
1669
16702000-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1671
1672 * rib.c (ip_route): New RIB prototype.
1673
16742000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1675
1676 * zserv.c (zsend_interface_add): Send hardware address when
1677 hw_addr_len is greater than 0.
1678
16792000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1680
1681 * connected.c (connected_up_ipv4): Fix ptop bug. The destination
1682 network should be installed into routing table.
1683 (connected_down_ipv4): Likewise.
1684 (connected_add_ipv4): Change to use connected_up_ipv4.
1685 (connected_delete_ipv4): Likewise.
1686
16872000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1688
1689 * rt_netlink.c (netlink_interface_addr): Revert Harald Welte
1690 <laforge@gnumonks.org>'s ptop patch then back to original code to
1691 avoid duplicated connected route problem. Suggested by Frank van
1692 Maarseveen <F.vanMaarseveen@inter.NL.net>.
1693
1694 * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
1695 DEBUG is defined. Reported by Jun-ichiro itojun Hagino
1696 <itojun@iijlab.net>.
1697
16982000-10-23 Jochen Friedrich <jochen@scram.de>
1699
1700 * main.c (main): Call zebra_snmp_init() when it is enabled.
1701
17022000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1703
1704 * zserv.c (zebra_serv_un): UNIX domain socket server of zebra
1705 protocol.
1706
17072000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1708
1709 * rib.c (rib_add_ipv4): Same check bug is fixed.
1710
17112000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1712
1713 * rib.c (rib_if_down): Remove kernel route when the interface goes
1714 down.
1715
1716 * debug.c: New command "debug zebra kernel" is added.
1717
17182000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1719
1720 * zebra-0.89 is released.
1721
17222000-09-24 Harald Welte <laforge@gnumonks.org>
1723
1724 * rt_netlink.c (netlink_interface_addr): Fix point-to-point address
1725 treatment in netlink interface.
1726
17272000-09-21 David Lipovkov <dlipovkov@OpticalAccess.com>
1728
1729 * rib.c (rib_if_down): Pull static route only. Protocol daemon
1730 must withdraw routes when interface goes down.
1731 (rib_add_ipv4): Check nexthop when replace route.
1732
17332000-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1734
1735 * if_ioctl.c (if_getaddrs): New function for looking up
1736 interface's address by getifaddrs().
1737
17382000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1739
1740 * connected.c (connected_delete_ipv4): Add check for connected
1741 address is found or not.
1742 (connected_add_ipv6): Reflect IPv6 connected address change to
1743 protocol daemons.
1744 (connected_delete_ipv6): Likewise.
1745
17462000-09-07 David Lipovkov <davidl@nbase.co.il>
1747
1748 * rib.c (rib_delete_ipv4): Reverted the change from pseudo
1749 interface patch to original. Because ospfd deletes routes using
1750 zero ifindex.
1751
17522000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1753
1754 * zebra-0.88 is released.
1755
17562000-08-15 "Akihiro Mizutani" <mizutani@dml.com>
1757
1758 * rib.c (show_ip_route_protocol): Help string correction.
1759 (show_ip_route_prefix): Check prefix mask.
1760 (show_ip_route_vty_detail): Display distance and metric.
1761
17622000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1763
1764 * zserv.c (zsend_interface_add): Change ifindex store size from
1765 two octet to four.
1766 (zsend_interface_delete): Likewise.
1767 (zsend_interface_address_add): Likewise.
1768 (zsend_interface_address_delete): Likewise.
1769 (zsend_interface_up): Likewise.
1770 (zsend_interface_down): Likewise.
1771
17722000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1773
1774 * rib.c (rib_add_ipv4): Do not install distance 255 route.
1775
17762000-08-10 Toshiaki Takada <takada@zebra.org>
1777
1778 * interface.c (bandwidth_if), (no_bandwidth_if): Call
1779 zebra_interface_up_update () instead of using if_up() and if_down().
1780
17812000-08-07 "Akihiro Mizutani" <mizutani@dml.com>
1782
1783 * interface.c (bandwidth_if): Fix help string.
1784
17852000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1786
1787 * interface.c (if_dump_vty): Display bandwidth value.
1788 (bandwidth_if): New command "bandwidth <1-10000000>" is added.
1789 When interface is up, force protocol daemons to recalculate routes
1790 due to cost change.
1791 (no_bandwidth_if): Likewise.
1792 (if_config_write): Output bandwidth configuration.
1793
1794 * zserv.c (zsend_interface_add): Send bandwidth value.
1795 (zsend_interface_up): Likewise.
1796 (zsend_interface_down): Likewise.
1797
1798
17992000-08-07 Michael Rozhavsky <mike@nbase.co.il>
1800
1801 * rib.c (show_ip_route_protocol): "show ip route
1802 (bgp|connected|kernel|ospf|rip|static)" is added.
1803
18042000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1805
1806 * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
1807 nexthop is found.
1808 (rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
1809
18102000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1811
1812 * redistribute.c (redistribute_delete): Fix bug of default route
1813 redistribute treatment.
1814
18152000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1816
1817 * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
1818 Change default distance value.
1819
1820 Old New
1821 ------------------------------------------
1822 system 10 0
1823 kernel 20 0
1824 connected 30 0
1825 static 40 1
1826 rip 50 120
1827 ripng 50 120
1828 ospf 60 110
1829 ospf6 49 110
1830 bgp 70 200(iBGP) 20(eBGP)
1831 ------------------------------------------
1832
1833 * zserv.c (client_lookup): Function removed.
1834 (zsend_interface_add): Use client's output buffer. Check ifinfo
1835 flag.
1836 (zsend_interface_delete): Likewise.
1837 Delete ipv4_static_radix and ipv6_static_radix.
1838
18392000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1840
1841 * zserv.h (struct zebra_client): When client request interface
1842 information, ifinfo is set.
1843
1844 * rib.c: Temporary Revert changes for pseudo interface.
1845
1846 * rib.h: Likewise.
1847
1848 * zserv.c: Likewise.
1849
1850 * interface.c: Likewise.
1851
18522000-08-02 David Lipovkov <davidl@nbase.co.il>
1853
1854 * interface.c (zebra_if_init): Install interface "pseudo"
1855 commands.
1856
1857 * rib.c (rib_create): ifname argument is added.
1858 (rib_add_ipv4_pseudo): New function is added.
1859 (rib_delete_ipv4_pseudo): Likewise.
1860
1861 * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for
1862 pseudo interface functions.
1863
1864 * rt_netlink.c (netlink_link_change): Check for pseudo interface.
1865
1866 * zserv.c (ip_route): When destination is pseudo interface, call
1867 rib_add_ipv4_pseudo().
1868
1869 * zserv.c (no_ip_route): Trim "unknown" argument.
1870
18712000-07-26 kunitake@dti.ad.jp
1872
1873 * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
1874 to 6.
1875
1876 * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
1877
18782000-07-24 Akihiro Mizutani <mizutani@dml.com>
1879
1880 * interface.c: Use install_default() for common VTY commands.
1881
18822000-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1883
1884 * if_ioctl.c (interface_list_ioctl): A interface list size is
1885 calculated from ifreq->if_addr.sa_len. This is for OpenBSD.
1886
1887 * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
1888
18892000-07-09 Chris Dunlop <chris@onthe.net.au>
1890
1891 * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
1892
18932000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1894
1895 * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
1896 message handling.
1897
18982000-07-02 David Lipovkov <davidl@nbase.co.il>
1899
1900 * zserv.c: "ip route A.B.C.D/M unknown" command is added.
1901
19022000-06-28 Michael Rozhavsky <mike@nbase.co.il>
1903
1904 * rib.c: Remove old kernel route when new route comes in.
1905
19062000-06-13 David Lipovkov <davidl@nbase.co.il>
1907
1908 * rib.c (rib_if_up): Add check for unknown interface.
1909
19102000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1911
1912 * rib.h: Define INTERFACE_UNKNOWN.
1913
19142000-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1915
1916 * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
1917 finished.
1918
19192000-06-05 David Lipovkov <davidl@nbase.co.il>
1920
1921 * interface.c (if_zebra_delete_hook): Call rib_if_delete().
1922
1923 * redistribute.c (zebra_interface_delete_update): New function.
1924
1925 * redistribute.h (zebra_interface_delete_update): New function
1926 prototype.
1927
1928 * rib.c (rib_if_delete): New function. Walk down all routes and
1929 delete all on the interface.
1930
1931 * rib.h: New function prototype.
1932
1933 * rt_netlink.c (netlink_link_change): Call
1934 zebra_interface_delete_update ().
1935
19362000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1937
1938 * if_ioctl.c (interface_info_ioctl): Check interface's flag before
1939 checking interface's address.
1940
19412000-04-26 Jochen Friedrich <jochen@nwe.de>
1942
1943 * GNOME-PRODUCT-ZEBRA-MIB: New file.
1944
1945 * GNOME-SMI: New file.
1946
19472000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1948
1949 * irdp.c: New file from 1997 development code.
1950 * irdp.h: Likewise.
1951
19522000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1953
1954 * rtadv.c (rtadv_send_packet): Enclose router advertisement
1955 logging with IS_ZEBRA_DEBUG_PACKET.
1956
19572000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1958
1959 * zserv.c (zebra_client_close): Remove client structure from
1960 client_list when connection is terminated.
1961
19622000-03-21 David Lipovkov <davidl@nbase.co.il>
1963
1964 * connected.c (connected_add_ipv4): Allows all necessary structure
1965 updates for connected route, but doesn't insert it into rib if
1966 it's interface is down.
1967
19682000-01-21 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1969
1970 * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
1971 2.5.1.
1972
19732000-01-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1974
1975 * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
1976 from str2prefix_ipv6().
1977
19782000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1979
1980 * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
1981 IPv6 with /128 routes.
1982 (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
1983 should have mask for cloning.
1984
19851999-12-26 Jochen.Friedrich@genorz.de
1986
1987 * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
1988
19891999-12-23 Alex Zinin <zinin@amt.ru>
1990 * interface.*: dynamic int up/down support
1991
19921999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1993
1994 * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
1995
1996 * rtread_proc.c (proc_route_read): Don't use dropline().
1997
19981999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1999
2000 * kernel_socket.c (rtm_read): When message is RTM_GET, it has own
2001 process's pid.
2002
20031999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2004
2005 * main.c (main): Change to default log output to ZLOG_STDOUT.
2006
2007 * zserv.c (zebra_serv): More detailed error print.
2008
20091999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2010
2011 * kernel_socket.c (rtm_read): Check old pid for static route
2012 insertion check.
2013
20141999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2015
2016 * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
2017 statistics counter.
2018
2019 * mtu_kvm.c: New file added.
2020
20211999-11-27 Vladimir B. Grebenschikov <vova@express.ru>
2022
2023 * kernel_socket.c (rtm_write): Set RTF_CLONING flag for
2024 route to the directly connected interface.
2025
20261999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2027
2028 * rt_socket.c: Delete USE_HOST_BIT definition.
2029
20301999-11-21 Michael Handler <handler@sub-rosa.com>
2031
2032 * rtread_getmsg.c: Undef some definition to resolve conflict.
2033
20341999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2035
2036 * kernel_socket.c (rtm_write): Change to use pre stored struct_dl
2037 value for gateway specification.
2038
20391999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2040
2041 * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
2042 128 under IPv6, don't use RTF_HOST.
2043
20441999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2045
2046 * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
2047
20481999-11-21 Michael Handler <handler@sub-rosa.com>
2049
2050 * rtread_getmsg.c: Added for Solaris 2.6 support.
2051
20521999-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2053
2054 * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
2055
2056 * rt_socket.c (kernel_read): Better BSD routing socket support.
2057
20581999-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2059
2060 * client_main.c: Disable making obsolete zebra test `client'
2061 command.
2062
20631999-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2064
2065 * zebra.c: Renamed to zserv.c.
2066
2067 * zebra.h: Global definitions are moved to lib/zebra.h. Then
2068 renamed to zserv.h.
2069
20701999-10-15 Jordan Mendelson <jordy@wserv.com>
2071
2072 * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
2073 interface. Remove ugly MAX_INTERFACE handling codes.
2074
20751999-09-17 Satosi KOBAYASI <kobayasi@north.ad.jp>
2076
2077 * Fix serious bug of IPv6 route deletion.
2078
20791999-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2080
2081 * ioctl.c (if_set_prefix): Properly set broadcast address.
2082
20831999-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2084
2085 * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
2086 can install connected route to kernel via zebra
2087
20881999-08-24 VOP <vop@unity.net>
2089
2090 * rib.c: Include "sockunion.h"
2091
20921999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2093
2094 * ipforward.h: New file.
2095
2096 * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
2097 ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
2098
20991999-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2100
2101 * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
2102 ZEBRA_INTERFACE_{ADD,DELETE} added.
2103
21041999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2105
2106 * rib.c: show ip route A.B.C.D works.
2107
2108 * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
2109
21101999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2111
2112 * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
2113
21141999-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2115
2116 * interface.h: New file.
2117 * Makefile.am: Add interface.h
2118
21191999-08-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2120
2121 * redistribute.c (zebra_redistribute): give ifindex to client.
2122
21231999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2124
2125 * main.c (longopts): -k, --keep_kernel option added.
2126
21271999-07-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2128
2129 * rt_socket.c (rtm_write): forgot closing socket bug fixed.
2130
21311999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2132
2133 * rib.c (show_ipv6_cmd): if rib is link show interface name.
2134
21351999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2136
2137 * rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
2138
21391999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2140
2141 * rt_socket.c (rtm_write): ipv6 route table bug fixed.
2142
21431999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2144
2145 * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
2146
21471999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2148
2149 * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
2150
21511999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2152
2153 * if_sysctl.c (ifm_read): Clear sockunion argument before fetching
2154 data. Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
2155
21561999-07-08 HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
2157
2158 * interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
2159
21601999-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2161
2162 * zebra.c (zebra_serv): Only accept loopback address connection.
2163
21641999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2165
2166 * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
2167
21681999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2169
2170 * ipforward_proc.c: ipforward_on () and ipforward_off () added.
2171
21721999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2173
2174 * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
2175 using /proc file system is added.
2176
21771999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2178
2179 * if_ioctl.c (if_get_index): Interface index set bug is fixed by
2180 adding #else at the middle of function. Suggested by David Luyer
2181 <luyer@ucs.uwa.edu.au>.
2182
21831999-05-29 <kunihiro@zebra.org>
2184
2185 * rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
2186
21871999-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2188
2189 * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
2190 the sort of routes.
2191
21921999-05-25 Patrick Koppen <koppen@rhrk.uni-kl.de>
2193
2194 * rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
2195 (netlink_parse_info): If errno is EWOULDBLOCK then continue to
2196 parse the message.
2197 (netlink_talk): Likewise
2198
21991999-05-17 <kunihiro@zebra.org>
2200
2201 * redistribute.c (zebra_check_addr): Added for loopback address
2202 check.
2203
22041999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2205
2206 * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
2207 change treatment.
2208
2209 * Makefile.am (noinst_HEADERS): redistribute.h added.
2210
2211 * redistribute.h: New file.
2212
22131999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2214
2215 * zebra.c (show_table): Show all table configuration DEFUN.
2216 (config_table): Config table number DEFUN.
2217
2218 * rt_netlink.c: Add support for multiple routing table.
2219
2220 * rib.c (rib_weed_table): New function added for delete all
2221 routes from specified routing table.
2222
2223 * main.c (signal_init): SIGTERM call sigint.
2224 (sigint): Loggging more better message.
2225
22261999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2227
2228 * rt_netlink.c: Change log () to zlog ().
2229
22301999-05-07 <kunihiro@zebra.org>
2231
2232 * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
2233
22341999-04-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2235
2236 * interface.c: Add `no ip address' command.
2237
22381999-04-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2239
2240 * rt_netlink.c (kernel_read): Function added for asynchronous
2241 zebra between kernel communication.
2242
22431999-03-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2244
2245 * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
2246 Reported by Achim Patzner <ap@bnc.net>.
2247
22481999-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2249
2250 * Makefile.am: Install configuration sample with 600 permission.
2251
22521999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2253
2254 * Makefile.am: Add -I.. to INCLUDES.
2255
22561999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2257
2258 * syslog support added
2259
22601999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
2261
2262 * if_sysctl.c (interface_list): allocated memory free when unknown
2263 ifm_type is returned.
2264
2265 * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
2266
22671998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2268
2269 * interface.c: Header include added.
2270
22711998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2272
2273 * rt.h (kernel_delete_ipv6): change int index to unsigned int index.
2274
22751998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2276
2277 * if_ioctl.c (interface_list_ioctl): interface flag must be
2278 checked before check addresses of the interface.
2279
22801998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2281
2282 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
2283
22841998-10-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2285
2286 * ioctl.c: Linux version before 2.1.0 need interface route setup.
2287
22881998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
2289
2290 * change HYDRANGEA to KAME
2291
22921998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2293
2294 * if_ioctl.c (if_addr_ioctl): set address family for getting
2295 interface's address.
2296 (if_get_index): silently return when can't get interface's index.
2297
22981998-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2299
2300 * main.c (main): batch mode option '-b' added.
2301
23021998-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2303
2304 * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
2305 * interface.c (shutdown_if): add interface shutdown and no
2306 shutdown command.
2307
23081998-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2309
2310 * rib.c (rib_add_ipv6): delete rib_add_in6.
2311
23121998-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2313
2314 * main.c: retain flag is added.
2315
23161998-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2317
2318 * rtable.[ch]: merged with rib.[ch]
2319
23201998-07-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2321
2322 * connected.h: renamed from ifa.h.
2323
23241998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2325
2326 * rename if.c to interface.c
2327 * rename ifa.c to connected.c
2328
2329 * Porting to Debian GNU/Linux 2.0 (hamm).
2330
23311998-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2332
2333 * rt_netlink.c: renamed from krt_netlink.c
2334
2335 * fib.c: deleted.
2336 * rt_kvm.c: deleted.
2337 * rtread_getmsg.c: deleted.
2338
23391998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2340
2341 * if.c (multicast): add multicast flag [un]set fucntion.
2342
23431998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2344
2345 * rt_socket.c: Modify for compile on Solaris, but dont't work it.
2346 rt_socket.c have some undefined function, so add directive "IMPLEMENT"
2347
23481998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2349
2350 * zebra.c: Modify for compile on Solaris.
2351
23521998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2353
2354 * main.c: change CONFDIR to SYSCONFDIR.
2355
23561998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2357
2358 * .cvsignore: added.
2359
23601998-04-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2361
2362 * client.c: moves to ../lib.
2363
23641998-03-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2365
2366 * if_ioctl.c (if_get_addr): Change address copy from memcopy() to
2367 structure assignment.
2368
23691998-03-30 URA Hiroshi <ura@yamato.ibm.co.jp>
2370
2371 * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
2372
23731998-02-23 "Hannes R. Boehm" <hannes@boehm.org>
2374
2375 * if.c (if_init): add config_exit_cmd and config_help_cmd.
2376
23771998-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2378
2379 * rt_ioctl.c (route_ioctl): EPERM treatment added.
2380
23811998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2382
2383 * rt_socket.c (kernel_read): communication port zebra between
2384 kernel is now handled by kernel_read.
2385
23861998-01-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2387
2388 * main.c (main): zebra [-P port] can specify vty port number.
2389
23901997-12-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2391
2392 * zebra.c: change select will be block.
2393
23941997-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2395
2396 * add static route treatment.
2397
23981997-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2399
2400 * rt_netlink.c: add netlink support over GNU/Linux system.
2401
24021997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2403
2404 * all inet_addr is changed to inet_aton.
2405
2406 * zebra.c (ip_route): add ip route command for static routes.
2407
24081997-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2409
2410 * if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
2411
24121997-11-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2413
2414 * if.c: add interface command.
2415
24161997-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2417
2418 * ipforward_proc.c : Now works on Linux.
2419
24201997-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2421
2422 * command.c : add completion feature.
2423
24241997-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2425
2426 * vty.c (vty_command): add vty interface.
2427
24281997-10-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2429
2430 * zebra.c: add verbose mode.
2431
24321997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
2433
2434 * Hydrangea for FreeBSD supported
2435 * in.h: add some prototype.
2436
24371997-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2438
2439 * rt_socket.c and rtread.c completely rewritten.
2440
24411997-10-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2442
2443 * rt_socket.c: rename kernel_sock to routing_socket
2444
24451997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2446
2447 * if.c (if_new): interface structure change from linklist to vector.
2448
24491997-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2450
2451 * vector.c (vector_init): create vector related function
2452
24531997-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2454
2455 * Makefile.in: add tags target
2456
2457 * start IPv6 support for INRIA FreeBSD.
2458