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