blob: dfd1df4c0633391249471779c228da5f3f91f1cb [file] [log] [blame]
paul0994c3a2005-11-11 09:52:40 +000012005-11-11 Paul Jakma <paul.jakma@sun.com>
2
3 * kernel_socket.c: (ifm_read) arithmetic on void pointer
4 warning.
5 (ifam_read) Fix error from connected-with-label merge,
6 something crept in from the pending Solaris kernel_socket.c
7 patch which shouldn't have.
8
paul0752ef02005-11-03 12:35:21 +000092005-11-03 Paul Jakma <paul.jakma@sun.com>
10
11 * connected.{c,h}: Include memory.h
12 (connected_add_ipv4) Use MTYPE for ifc label.
13 (connected_add_ipv6) Also should accept label. Store it in ifp.
14 (connected_del_ipv4) Taking label as argument is pointless.
15 * rt_netlink.c: (netlink_interface_addr) update label usage
16 for connected_{add,delete} functions.
17 * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
18 * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
19 so we also find out about NOXMIT interfaces like VNI.
20 Bit of hackery to turn interface names into the primary
21 interface name, later with routing socket messages we only
22 will about primary interfaces anyway, so we must normalise
23 the name.
24 (if_get_addr) take label as argument, so it can
25 be passed to connected_add.
26 If label is provided, then it is interface name to issue the
27 ioctl for address information on, not the ifp name.
28 (interface_list) List AF_UNSPEC too, just in case.
29 * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
30 * interface.c: (if_addr_wakeup) Some very bogus code - sets
31 IFF_RUNNING - add comment.
32 (if_refresh)
33 (ip_address_install) Use MTYPE for ifc label.
34 * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
35 IFF_UP reflect whether any addresses are left on the
36 interface, as we get signalled for IFF_UP flags change on the
37 primary interface only. Logical interfaces dont generate
38 IFINFO, but we do get an RTM_DELADDR.
39 (if_get_flags) Call if_mangle_up before return.
40 * kernel_socket.c: (ifam_read) Fixup calls to
41 connected_{add,delete} to match above changes. Rename gate
42 variable to brd, less confusing.
43 Pass the interface name as a label, if it is not same name
44 as ifp->name.
45
pauld06b2a62005-10-11 03:53:54 +0000462005-10-11 Paul Jakma <paul.jakma@sun.com>
47
48 * connected.{c,h}: (connected_{add,delete}_ipv4) label should
49 be const qualified.
50
ajsc05612b2005-10-01 16:36:54 +0000512005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
52
ajsf52d13c2005-10-01 17:38:06 +000053 * zebra_vty.c: (route_type_str) Remove obsolete function: use new
54 library function zebra_route_string() instead. Note that there
55 are a few differences: for IPv6 routes, we now get "ripng" and
56 "ospf6" instead of the old behavior ("rip" and "ospf").
57 (route_type_char) Remove obsolete function: ues new library function
58 zebra_route_char() instead. Note that there is one difference:
59 the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
60 whereas the new one returns 'X'.
61 (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
62 route_type_str() with zebra_route_string().
63 (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
64 with zebra_route_char().
65
662005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
67
ajsc05612b2005-10-01 16:36:54 +000068 * rt_netlink.c: (netlink_request) Use memset to clear structure
69 before calling sendto (eliminates a valgrind error message about
70 uninitialized data).
vincentaa2e32b2005-09-28 13:42:11 +000071
722005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
73
vincentfbf5d032005-09-29 11:25:50 +000074 * zserv.c: Always provied distance for route add
75
762005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
77
vincentaa2e32b2005-09-28 13:42:11 +000078 * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
79 usage with HAVE_IPV6
80
hassod24af182005-09-24 14:00:26 +0000812005-09-24 Hasso Tepper <hasso at quagga.net>
82
83 * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
84 add is treated as implicit withdraw.
85
hassoebf1ead2005-09-21 14:58:20 +0000862005-09-21 David Young <dyoung@ojctech.com>
87
88 * zebra_rib.c: Reduce the height of some staircases. Fix
89 rib_delete_ipv6() to match routes in the RIB by their gateway as
90 well as by destination.
91
paul319572c2005-09-21 12:30:08 +0000922005-09-21 Paul Jakma <paul.jakma@sun.com>
93
94 * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
95 removal of static routes with multiple-hops introduced with
96 the workqueue conversion. We should free the relevant
97 nexthop and then get rib_process to run, otherwise we just
98 get same static route back again (with no way to unconfigure
99 it, because its already deleted from configuration).
100
paulca162182005-09-12 16:58:52 +00001012005-09-12 Paul Jakma <paul.jakma@sun.com>
102
103 * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR
104 support.
105 * connected.c: (connected_withdraw) new function. withdraw a
106 connected subnet address set from zebra, and pass information
107 along to clients.
108 (connected_announce) similar, but to announce a new connected
109 subnet address set.
110 (connected_check_ipv4) renamed to connected_check, as its
111 AFI independent.
112 (connected_add_ipv{4,6}) Remove the connected address announce
113 stuff, use connected_announce instead.
114 If connected_check indicates address is already present,
115 treat it as an implicit withdraw of the existing address, ie
116 remove the old address details and replace with the new
117 details.
118 (connected_delete_ipv{4,6}) Use connected_withdraw.
119 (connected_check_ipv6) deleted in favour of connected_check.
120 * connected.h: Rename connected_check_ipv4 to connected_check.
121 delete connected_check_ipv6.
122 * interface.c: Use connected_check rather than the AFI specific
123 symbols.
124 * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a
125 rib delete event for the existing route, before adding route
126 again.
127 (kernel_read) we can handle RTM_CHANGE now.
128
hassobe61c4e2005-08-27 06:05:47 +00001292005-08-27 Hasso Tepper <hasso at quagga.net>
130
131 * zebra_rib.c, rib.h: Add distance and metric arguments to the
132 rib_add_ipv6() function so that IPv6 routes in RIB can have correct
133 metric. No IPv6 routing daemon uses distance yet though.
134 * zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
135 rtread_proc.c,zserv.c: Pass metric and distance info to the
136 rib_add_ipv6().
137
paul6eb88272005-07-29 14:36:00 +00001382005-07-29 Paul Jakma <paul.jakma@sun.com>
139
140 * interface.c: (if_delete_update) should always be available, not
141 just on RTM_IFANNOUNCE/NETLINK systems.
142 * kernel_socket.c: (ifan_read) only call if_delete_update when
143 interface departs, dont if_delete, because we wish to retain
144 interface configuration state even when interfaces are removed.
145 (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning
146 to down state is only chance we have to clean up interface in case
147 it is deleted (eg Solaris down -> unplumb -> plumb up).
148 * redistribute.c: (zebra_interface_delete_update) should always be
149 available, we /will/ call it now on all systems, via
150 if_delete_update.
151 * zserv.c: (zsend_interface_delete) ditto
152 (zsend_interface_address) Update the call-flow diagramme, to
153 reflect that if_delete_update /is/ now called on all systems,
154 potentially.
155 * zserv.h: (zsend_interface_delete) unconditionally exported, as
156 above.
157
paula1ac18c2005-06-28 17:17:12 +00001582005-06-28 Paul Jakma <paul.jakma@sun.com>
159
160 * (global) Extern and static'ification, with related fixups
161 of declarations, ensuring files include their own headers, etc.
paulea6f82b2005-06-28 17:20:26 +0000162 * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in
paula1ac18c2005-06-28 17:17:12 +0000163 list loop
paulea6f82b2005-06-28 17:20:26 +0000164 * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
165 should be on DEST argument
paula1ac18c2005-06-28 17:17:12 +0000166
paul62debbb2005-06-14 14:07:07 +00001672005-06-14 Paul Jakma <paul.jakma@sun.com>
168
169 * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and
170 RTM{ADDR,MASK}GET macros into generic rta_addrs macros,
171 RTA_{ADDR,ATTR}_GET.
172 (af_check) could use 'inline' attribute
173 (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to
174 generic macro.
175 (rtm_read_mesg) similar
176
hasso1ada8192005-06-12 11:28:18 +00001772005-06-12 Hasso Tepper <hasso at quagga.net>
178
179 * rt_netlink.c: Remove netlink-addr socket declaration, it's not used.
180 * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is
181 unsigned and one zlog call had swapped arguments.
182 * rt_netlink.c (netlink_route_multipath): Fix compile with disabled
183 IPv6 support.
184
paul1dcb5172005-05-31 08:38:50 +00001852005-05-31 Paul Jakma <paul.jakma@sun.com>
186
187 * zserv.c: (zsend_route_multipath) Fix bug if route is sent
188 with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX
189 and ZAPI_MESSAGE_NEXTHOP are always set, clients would try
190 read non-existent nexthop information and hit stream assert.
191 Zserv is still broken for multi-nexthop messages, but it always was.
192
paul69e10ad2005-05-06 21:27:33 +00001932005-05-06 Paul Jakma <paul.jakma@sun.com>
194
195 * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
196
paul4d38fdb2005-04-28 17:35:14 +00001972005-04-28 Paul Jakma <paul.jakma@sun.com>
198
199 * rib.h: (struct rib) Add lock field for refcounting.
200 * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
201 'master' struct.
202 * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
203 * zebra_rib.c: Clean up refcounting of route_node, make struct rib
204 refcounted and convert rib_process to work-queue. In general,
205 rib's should be rib_addnode'd and delnode'd to route_nodes, and
206 these symmetrical functions will manage the locking of referenced
207 route_node and freeing of struct rib - rather than having users
208 manage each seperately - with much scope for bugs..
209 (newrib_free) removed and replaced with rib_lock
210 (rib_lock) new function, check state of lock and increment.
211 (rib_unlock) new function, check lock state and decrement. Free
212 struct rib if refcount hits 0, freeing struct nexthop's, as
213 newrib_free did.
214 (rib_addnode) Add RIB to route_node, locking both.
215 (rib_delnode) Delete RIB from route_node, unlocking each.
216 (rib_process) Converted to a work-queue work function.
217 Functional changes are minimal, just arguments, comments and
218 whitespace.
219 (rib_queue_add_qnode) Helper function to setup a ribq item.
220 (rib_queue_add) Helper function, same arguments as old
221 rib_process, to replace in callers of rib_process.
222 (rib_queue_qnode_del) ribq deconstructor.
223 (rib_queue_init) Create the ribq.
224 (rib_init) call rib_queue_init.
225 (remainder) Sanitise refcounting of route_node's. Convert to
226 rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
227 to XCALLOC. Remove calls to nexthop_delete and nexthop_free.
228
paulcf460ef2005-04-10 16:54:26 +00002292005-04-10 Paul Jakma <paul@dishone.st>
230
231 * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
232 in ALL_LIST_ELEMENTS_RO macro.
233
ajs57a14772005-04-10 15:01:56 +00002342005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
235
236 * zserv.c (zebra_client_read): Fix bug: first read attempt should
237 read ZEBRA_HEADER_SIZE minus the number of bytes already read.
238 Improve efficiency by maintaining a calculation of the number
239 of bytes read instead of calling stream_get_endp multiple times.
240 If message length is too small, issue a warning message (not debug)
241 before closing the connection. And also check that message length
242 is not too big.
243
hasso206d8052005-04-09 16:38:51 +00002442005-04-09 Hasso Tepper <hasso at quagga.net>
245
hassofa599802005-04-09 16:59:28 +0000246 * rt_netlink.c: One tiny missing comma caused pointless debug messages
247 about IPv6 nexthops.
248
2492005-04-09 Hasso Tepper <hasso at quagga.net>
250
hasso206d8052005-04-09 16:38:51 +0000251 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
252 status to unsigned here, because we already checked that it isn't
253 negative or 0.
254 * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
255 address, not to the interface.
256 * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
257 is printed out now and IPv6 info is handeled.
258
paul3d1dc852005-04-05 00:45:23 +00002592005-04-05 Paul Jakma <paul@dishone.st>
260
261 * zserv.c: print more helpful errors when we fail to successfully
262 bind and listen on zserv socket. Closes bugzilla #163.
263
ajsd2fc8892005-04-02 18:38:43 +00002642005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
265
ajs08dbfb62005-04-03 03:40:52 +0000266 * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
267 * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
268 avoid overflow.
269 * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
270
2712005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
272
ajsa3491982005-04-02 22:50:38 +0000273 * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
274 to save a memcpy.
275 * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
276 if_get_by_name_len function.
277
2782005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
279
ajsd2fc8892005-04-02 18:38:43 +0000280 * interface.c: (if_new_intern_ifindex) Remove obsolete function.
281 (if_delete_update) After distributing the interface deletion message,
282 set ifp->ifindex to IFINDEX_INTERNAL.
283 (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
284 IFINDEX_INTERNAL.
285 (zebra_interface) Check return code from interface_cmd.func.
286 Do not set internal ifindex values to if_new_intern_ifindex(),
287 since we now use IFINDEX_INTERNAL for all pseudo interfaces.
288 * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
289 all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
290 * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
291 Detects interface rename events by checking if that ifindex is already
292 being used. If it is, delete the old interface before assigning
293 the ifindex to the new interface.
294 (netlink_interface, netlink_link_change) Call set_ifindex to update
295 the ifindex.
296
hassob7ed1ec2005-03-31 20:13:49 +00002972005-03-31 Hasso Tepper <hasso at quagga.net>
298
299 * rt_netlink.c (netlink_talk_filter): Show always warning message,
300 it's not for debug.
301 * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
302 although we do now actually.
303 * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
304 netlink_cmd to send messages to the kernel.
305
ajs2da40f42005-03-30 16:33:13 +00003062005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
307
308 * irdp.h: Add prototype for irdp_sock_init, and fix protos for
309 other irdp_* functions.
310 * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
311 call irdp_sock_init to create the IRDP socket.
312 (irdp_if_init) Rename to irdp_init().
313 (get_iflist_ifp) Remove function that is a duplicate of
314 if_lookup_by_index.
315 (*) Make many functions static. And remove superfluous "\n" from
316 several zlog messages.
317 * irdp_main.c: (irdp_init) Remove function that used to call
318 irdp_if_init() and irdp_sock_init(), since we will now create
319 the socket only upon first use.
320 (irdp_sock_init) Do not update global irdp_sock variable, just
321 return the fd and assume that the caller will do so. If setsockopt
322 calls fail, close the socket before returning -1.
323 (*) Make many functions static.
324 * irdp_packet.c: Initialize irdp_sock to -1.
325 (irdp_read_raw) Call standard library function if_lookup_by_index
326 instead of get_iflist_ifp.
327 (irdp_recvmsg) Should be static, not global.
328
ajsa608bbf2005-03-29 17:03:49 +00003292005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
330
331 * rt_netlink.c: (netlink_link_change) If the status of an
332 operative interface changes (e.g. MTU changes), the client
333 daemons should be notified by calling zebra_interface_up_update.
334 Previously, the information was being updated in zebra's
335 interface structure, but the clients were not notified of
336 changes to an operative interface.
337
vincent7cee1bb2005-03-25 13:08:53 +00003382005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
339 * interface.c, interface.h, rtadv.c, rtadv.h: modifications to
340 IPv6 Neighbor Discovery according to RFC3775, section 7:
341 o 1-bit Home Agent flag management in Router Advertisement (7.1).
342 o 1-bit Router Address flag management in Prefix Information
343 Option (7.2).
344 o Advertisement Interval Option (7.3)
345 o Home Agent Information Option (7.4)
346 o Changes to Sending Router Advertisements more frequently (7.5)
347
hassoed9bb6d2005-03-13 19:17:21 +00003482005-03-13 Hasso Tepper <hasso at quagga.net>
349
350 * zebra/interaface.c: "show interface description" command
351 implemented.
352
paulc1f01f32005-03-12 06:33:14 +00003532005-03-12 Paul Jakma <paul@dishone.st>
354
355 * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
356 No stock Linux kernel has ever supported it, and even if it had
357 it's not generally a good idea.
358
hasso42a66d72005-03-07 08:19:44 +00003592005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
360
361 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
362
hasso3452d472005-03-06 13:42:05 +00003632005-03-06 Hasso Tepper <hasso at quagga.net>
364
365 * interface.c: Fix CRC and frame errors statistics in Linux.
366
ajs719e9742005-02-28 20:52:15 +00003672005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
368
369 * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
370 Remove global message_queue and t_write (need separate buffering for
371 each client).
372 (zebra_server_dequeue,zebra_server_enqueue) Remove functions
373 related to old buggy buffering code.
374 (zserv_delayed_close) New thread callback function to delete a client.
375 (zserv_flush_data) New thread callback function to flush buffered
376 data to client.
377 (zebra_server_send_message) Rewritten to use buffer_write (so
378 buffering of writes and non-blocking I/O work properly).
379 (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
380 zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
381 (this is not really an error). Return value from
382 zebra_server_send_message.
383 (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
384 zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
385 (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
386 from zebra_server_send_message.
387 (zsend_router_id_update) Must use zebra_server_send_message instead
388 of deprecated writen function. Return 0 instead of -1 if this client
389 is not subscribed to router-id updates (since this is not really
390 an error).
391 (zread_interface_add) Change type to static int. If
392 zsend_interface_add fails or zsend_interface_address fails, return -1
393 immediately (since the client has had an I/O error).
394 (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
395 zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
396 to indicate success.
397 (zread_ipv4_nexthop_lookup) Return value from
398 zsend_ipv4_nexthop_lookup.
399 (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
400 (zebra_read_ipv6) Remove unused function.
401 (zread_ipv6_nexthop_lookup) Return value from
402 zsend_ipv6_nexthop_lookup.
403 (zread_router_id_add) Return value from zsend_router_id_update.
404 (zebra_client_close) Call buffer_free(client->wb) and
405 thread_cancel(client->t_suicide).
406 (zebra_client_create) Allocate client->wb using buffer_new.
407 (zebra_client_read) Support non-blocking I/O by using stream_read_try.
408 Use ZEBRA_HEADER_SIZE instead of 3.
409 (zebra_accept) Fix bug: reset accept thread at top. Make client
410 socket non-blocking using the set_nonblocking function.
411 (config_write_forwarding) Fix scope to static.
412 (zebra_init) Remove initialization code for old buggy write buffering.
413 * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
414 (to enable buffered writes with non-blocking I/), and
415 struct thread *t_suicide to support delayed close on I/O
416 errors.
417 * router-id.h: Remove prototypes for zread_router_id_add and
418 zread_router_id_delete (their scope should be static to zserv.c).
419
ajs27da3982005-02-24 16:06:33 +00004202005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
421
422 * redistribute.c: (zebra_check_addr,is_default,
423 zebra_redistribute_default,zebra_redistribute) Fix scope to be static.
424
hassoe8274dc2005-02-20 19:09:23 +00004252005-02-20 Hasso Tepper <hasso at quagga.net>
426
427 * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
428 if we are not debugging.
429
paule31f2292005-02-19 02:00:26 +00004302005-02-19 Paul Jakma <paul@dishone.st>
431
432 * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
433 STREAM_READABLE.
434
paul1e193152005-02-14 23:53:05 +00004352005-02-14 Paul Jakma <paul@dishone.st>
436
437 * Not all Linux netlink systems have IFLA_WIRELESS
438
ajs6a52d0d2005-01-30 18:49:28 +00004392005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
440
441 * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
442 zlog_err.
443 * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
444 zlog_err.
445
ajs4be019d2005-01-29 16:12:41 +00004462005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
447
ajs4460e7a2005-01-29 17:07:40 +0000448 * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
449 zserv_privs.change.
450 * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
451 zserv_privs.change.
452 * ipforward_solaris.c: (solaris_nd) Save errno before calling
453 zserv_privs.change.
454 * irdp_main.c: (irdp_sock_init) Save errno before calling
455 zserv_privs.change.
456
4572005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
458
ajs4be019d2005-01-29 16:12:41 +0000459 * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
460 netlink_talk) Save errno before calling zserv_privs.change.
461
paulc15cb242005-01-24 09:05:27 +00004622005-01-24 Martin Pot <mpot at martybugs.net>
463
464 * zebra/rt_netlink.c: ignore wireless newlink netlink messages.
465
hasso6f2c27a2005-01-18 13:44:35 +00004662005-01-18 Hasso Tepper <hasso at quagga.net>
467
468 * interface.c: Better statistics output in "show interface" command in
469 case of /proc being used.
470
hasso583d8002005-01-16 23:34:02 +00004712005-01-17 Hasso Tepper <hasso at quagga.net>
472
473 * main.c: With --nl-bufsize argument is required.
474
paul865b8522005-01-05 08:30:35 +00004752005-01-05 Paul Jakma <paul@dishone.st>
476
477 * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
478 for now, as we dont actually deal with with resending.... See
479 bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
480 * kernel_socket.c: (routing_socket) ditto.
481
ajsb99760a2005-01-04 16:24:43 +00004822005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
483
484 * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
485 instead of CMSG_FIRSTHDR.
486
ajs341a8f12004-12-22 16:32:16 +00004872004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
488
489 * connected.c: (connected_add_ipv4) Limit warning about /32 addresses
490 with no peer specified to PtP interfaces only.
491
hassob8adec12004-12-18 16:03:28 +00004922004-12-18 Hasso Tepper <hasso at quagga.net>
493
494 * zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it
495 work for isis routes.
496
gdt6a250b02004-12-09 14:48:12 +00004972004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
498
499 * kernel_socket.c (rtmsg_debug): char * => const char *
500
ajs274a4a42004-12-07 15:39:31 +00005012004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
502
ajsb6178002004-12-07 21:12:56 +0000503 * *.c: Change level of debug messages to LOG_DEBUG.
504
5052004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
506
ajs274a4a42004-12-07 15:39:31 +0000507 * main.c: (main) The 2nd argument to openzlog has been removed.
508 So stdout logging will no longer be enabled by default.
509 * irdp_main.c: (irdp_finish) Reduce severity of shutdown message
510 from LOG_WARNING to LOG_INFO.
511
ajs887c44a2004-12-03 16:36:46 +00005122004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
513
514 * main.c: (sigint) Use zlog_notice for termination message.
515 (main) Add a startup announcement using zlog_notice.
516
hassoaccb1562004-11-25 19:21:07 +00005172004-11-25 Hasso Tepper <hasso at quagga.net>
518
519 * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because
520 it confuses extract.pl.
hassoc0652302004-11-25 19:33:48 +0000521 * main.c: Make group to run as configurable.
hassoaccb1562004-11-25 19:21:07 +0000522
hasso6bd7c6a2004-10-28 17:32:27 +00005232004-10-28 Hasso Tepper <hasso at quagga.net>
524
525 * interface.c: Remove dead "ip tunnel" command.
526
paul06f953f2004-10-22 17:00:38 +00005272004-10-22 Paul Jakma <paul@dishone.st>
528
529 * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex
530
hasso3fb9cd62004-10-19 19:44:43 +00005312004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
532
533 * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore
534 tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL].
535 * interface.c: (ip_address_install) Use new ipv4_broadcast_addr
536 function.
537 * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST
538 macro.
539 (connected_down_ipv4) ditto.
540 (connected_add_ipv4) Validate destination address, print warnings
541 if it does not make sense.
542
hassoc1eaa442004-10-19 06:26:01 +00005432004-10-19 Hasso Tepper <hasso at quagga.net>
544
545 * zserv.c: Fix regression introduced with zserv cleanup.
546
hassoc75105a2004-10-13 10:33:26 +00005472004-10-13 Hasso Tepper <hasso at quagga.net>
548
549 * zebra_snmp.c: Remove defaults used to initialize smux connection to
550 snmpd. Connection is initialized only if smux peer is configured.
hassob71f00f2004-10-13 12:20:35 +0000551 * zserv.c: Remove useless warnings "forwarding is already on".
hassoc75105a2004-10-13 10:33:26 +0000552
hasso39ff11d2004-10-12 15:55:19 +00005532004-10-12 Hasso Tepper <hasso at quagga.net>
554
555 * zebra_vty.c: Unbreak "show ip route" command help and make it work
556 for isis routes.
hasso39db97e2004-10-12 20:50:58 +0000557 * interface.c(if_dump_vty): Show IPv6 addresses in "show interface"
558 output. Fixes Bugzilla #119.
559 * *.c: Make some strings const and some (unsigned) casts to fix
560 compiler warnings.
hasso39ff11d2004-10-12 15:55:19 +0000561
hassofce954f2004-10-07 20:29:24 +00005622004-10-07 Hasso Tepper <hasso at quagga.net>
563
564 * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c:
565 Fix warnings: make strings const, signed -> unsigned.
566
paul72164662004-10-05 14:39:43 +00005672004-10-05 Paul Jakma <paul@dishone.st>
568
569 * irdp_packet.c: (parse_irdp_packet) style issues.
570 Use sockopt_iphdrincl_swab_systoh.
571 Try unbork the code. Checksum the ICMP data and actually
572 compare it to received checksum. Check data length against
573 claimed length in header.
574 Always use ntoh.. when accessing addresses, even when the
575 comparison happens to be endian-safe.
576 (send_packet) minor style isues. Use
577 sockopt_iphdrincl_swab_htosys.
578 (irdp_iph_hton/ntoh) IP header to/from network/host order.
579
hassoeef1fe12004-10-03 18:46:08 +00005802004-10-03 Gilad Arnold <gilad.arnold at terayon.com>
581
582 * interface.c, interface.h: A new prefix tree of connected subnets is
583 associated with each interface structure in zebra, in which each
584 live (ie, non-synthetic) node holds a list of installed addresses
585 that belong to that prefix. Remove secondary address logic from cli.
586 See [quagga-dev 872] for detailed explanation.
587 * connected.c: Use if_subnet_add() and if_subnet_delete().
588
hasso18a6dce2004-10-03 18:18:34 +00005892004-10-03 James R. Leu <jleu at mindspring.com>
590
591 * router-id.c, router-id.h: New files. Router id selection process. If
592 there is non 127.x.x.x address in loopack interface, lowest of them
593 is chosen. If there isn't, lowest from other interfaces addresses
594 are chosen. "router-id x.x.x.x" vty command to manual override.
595 * Makefile.am: Compile new files.
596 * main.c: Initialize router id.
597 * redistribute.c: Add interface addresses into router id selection
598 lists as they (dis)appear.
599 * zserv.c, zserv.h: Sending router id related messages to daemons.
600
hassoc9e52be2004-09-26 16:09:34 +00006012004-09-26 Hasso Tepper <hasso at quagga.net>
602
603 * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
604 rtadv.c, zebra_vty.c: Fix compiler warnings.
605
paul0c0f9112004-09-24 08:24:42 +00006062004-09-24 Paul Jakma <paul@dishone.st>
607
paul26f7a242004-09-24 08:45:10 +0000608 * irdp_interface.c: (no_ip_irdp_address_preference_cmd)
609 add missing listnode declaration.
610
6112004-09-24 Paul Jakma <paul@dishone.st>
612
paul0c0f9112004-09-24 08:24:42 +0000613 * irdp_{interface,main}.c: lists typedef removal cleanup.
614 update some list loops to LIST_LOOP. some miscellaneous style
615 and indent fixups.
616 (no_ip_irdp_address_preference_cmd) Fix delete of referenced node
paul26f7a242004-09-24 08:45:10 +0000617 in loop.
paul0c0f9112004-09-24 08:24:42 +0000618 * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer
619 to pointer.
620 * if_ioctl{,_solaris}.c: lists typedef removal cleanup.
621 update some list loops to LIST_LOOP.
622
hasso52dc7ee2004-09-23 19:18:23 +00006232004-09-23 Hasso Tepper <hasso at quagga.net>
624
625 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
626
paul44983cf2004-09-22 13:15:58 +00006272004-09-22 Paul Jakma <paul.jakma@sun.com>
628
629 * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
630 in_addr to sizeof(struct in6_addr), causing odd and hard to debug
631 crash.
632
hassoc34b6b52004-08-31 13:41:49 +00006332004-08-31 Hasso Tepper <hasso at quagga.net>
634
635 * main.c, rt_netlink.c: Added -s command line switch for tuning
636 netlink receive buffer size in Linux to avoid buffer overruns.
637
gdta5ea6872004-08-26 13:24:00 +00006382004-08-26 Miles Nordin <carton@Ivy.NET>
639
640 * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
641 sysctl(3), rather than int. (Needed on NetBSD/alpha to display
642 forwarding status correctly.)
643
paul3e0b3a52004-08-23 18:58:32 +00006442004-08-23 Paul Jakma <paul@dishone.st>
645
646 * zserv.c: (zebra_init) remove implicit ip forward enabling
647
paul0de1cde2004-08-19 04:45:33 +00006482004-08-19 Paul Jakma <paul@dishone.st>
649
650 * irdp_main.c: update to match sockopt renames.
651 * irdp_packet.c: include sockopt.h and update to match sockopt
652 renames.
653
gdt57492d52004-08-11 18:06:38 +00006542004-08-11 Greg Troxel <gdt@fnord.ir.bbn.com>
655
656 * rtadv.c (rtadv_send_packet): Allocate space for control messages
657 more carefully; it was wrong on NetBSD/sparc where CMSG alignment
658 is to 8 bytes instead of 4, and overwriting the address. Use the
659 provided macros for determining lengths.
660
paul5b73a672004-07-23 15:26:14 +00006612004-07-23 Sowmini Varadhan <Sowmini.Varadhan@Sun.COM>
662
663 * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups
664 * zserv.c: ditto
665 * ioctl_solaris.c: ditto.
666 * interface.c: cast for LLADDR
667 * interface.h: Add guards, include redistribute.h and remove
668 extraneous definitions of zebra_interface_{up,down}_update
669 * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6
670 * redistribute.h: include dependent header, zserv.h
671 * zserv.h: include dependent header, rib.h
672
paul1470baf2004-07-23 15:25:01 +00006732004-07-23 Paul Jakma <paul@dishone.st>
674
675 * irdp_main.c: use setsockopt_pktinfo_ipv4
676 * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and
677 getsockopt_pktinfo_ifindex()
678
gdtcced60d2004-07-13 16:45:54 +00006792004-07-13 David Wiggins <dwiggins@bbn.com
680
681 * kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'.
682
hasso25dac852004-07-13 03:06:51 +00006832004-07-13 Hasso Tepper <hasso@estpak.ee>
684
685 * irdp_main.c: Add privilege change.
686
hasso996933f2004-07-12 16:32:56 +00006872004-07-12 Hasso Tepper <hasso@estpak.ee>
688
689 * irdp_interface.c: follow common style while naming vty command
690 functions. Avoids confusion in extract.pl.
691
gdt87efd642004-06-30 17:36:11 +00006922004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
693
694 * main.c: define thread_master variable so that linking with
695 libzebra.so doesn't fail. Arguably zclient.o should be in a
696 separate library, but this is far less disruptive.
697
hassoca776982004-06-12 14:33:05 +00006982004-06-12 Robert Olsson <Robert.Olsson at data.slu.se>
699
700 * Added IRDP support.
701
hasso3e31cde2004-05-18 11:58:59 +00007022004-05-18 Hasso Tepper <hasso@estpak.ee>
703
704 * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd
705 prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of
706 "ipv6 nd prefix" command to allow various combinations of parameters
707 and flags. No defaults in configuration. Replaced on-link and
708 autoconfig with off-link and no-autoconfig flags in command syntax.
709 Cosmetic fixes in all commands. Documentation to reflect all changes.
710
paul19877dd2004-05-11 10:49:35 +00007112004-05-11 Paul Jakma <paul@dishone.st>
712
713 * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
paul48a46fa2004-05-11 10:55:22 +0000714 * if_ioctl_solaris.c: Fixup some erroneous privilege changes and
715 add privs.h header.
716 * ioctl_solaris.c: ditto
paulc50ae8b2004-05-11 11:31:07 +0000717 * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6
718 * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while
719 RHS in assignments :)
720 * redistribute.c: (zebra_interface_delete_update) only used
721 if RTM_IFANNOUNCE and NETLINK is available.
722
paulb9df2d22004-05-09 09:09:59 +00007232004-05-09 Paul Jakma <paul@dishone.st>
724
725 * zserv.c: (zsend_route_multipath) Set the nexthop_num
726 field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6.
727 Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds.
728 (zsend_ipv4_add) cruft, deleted.
729 (zsend_ipv4_delete) ditto.
730 (zsend_ipv6_add) ditto.
731 (zsend_ipv6_delete) ditto.
paul44145db2004-05-09 11:00:23 +0000732 * ioctl.c: (if_get_mtu) set mtu6 to mtu
733 * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
734 * rt_netlink.c: (netlink_interface) set mtu6 to mtu
735 (netlink_link_change) ditto
paul66e94882004-05-09 17:19:24 +0000736 * ipforward_solaris.c: fix typo of ND variable.
paul88424682004-05-09 18:21:35 +0000737 * if_ioctl_solaris.c: Add zprivs support.
738 * ioctl_solaris.c: ditto.
paul66e94882004-05-09 17:19:24 +0000739
paulb9df2d22004-05-09 09:09:59 +00007402004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
741
742 * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed
743 into single zsend_route_multipath function.
744 (zsend_interface_{up,down}) collapsed into zsend_interface_update.
745 (zsend_interface_address_{add,delete}) collapsed into
746 zsend_interface_address.
747 (zsend_interface_add) send mtu6.
748 (zsend_interface_delete) ditto.
749 (zebra_write) remove unused function.
750 (various) Apply static qualifier. Add comments.
751 * zserv.h: Definitions changed as per above.
752 * redistribute.c: Changes as per zserv.c.
paul44145db2004-05-09 11:00:23 +0000753 * interface.c: (if_delete_update) only used with HAVE_NETLINK
754 and RTM_IFANNOUNCE.
755 (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
756 (if_dump_vty) print mtu6 if not same as mtu
paul88424682004-05-09 18:21:35 +0000757 * if_ioctl_solaris.c: New file, Solaris interface ioctl methods.
758 * ioctl_solaris.c: New file, Common solaris ioctl methods.
759
hasso34195bf2004-04-06 12:07:06 +00007602004-04-06 Krzysztof Oledzki <oleq@ans.pl>
761
762 * rt_netlink.c: Do not ignore metric when reading kernel routing
763 table on Linux with rt_netlink interface.
764
7652004-03-18 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +0000766
767 * interface.c: Temporary fix for handling secondary addresses
768 with label.
769
hasso55906722004-02-11 22:42:16 +00007702004-02-12 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +0000771
hasso55906722004-02-11 22:42:16 +0000772 * zserv.c: Added "ipv6 forwarding" command.
773
gdtb27900b2004-01-08 15:44:29 +00007742004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
775
776 * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
777 for reading kernel messages to ensure enough space (necessary on
778 Solaris due to sockaddr_dl being large). Thanks to Sowmini
779 Varadhan for help with this change.
780
gdt9ccabd12004-01-06 18:23:02 +00007812004-01-06 Greg Troxel <gdt@t1.ir.bbn.com>
782
783 * rtadv.c (rtadv_send_packet): Change perror to zlog_err.
784
gdtdbee01f2004-01-06 00:36:51 +00007852004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdt4bfbea82004-01-06 01:13:05 +0000786 * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
787 to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
788 to just the accomodation of broken kernels. Check sockaddr_dl
789 carefully up front, and later assume any non-NULL sdl pointer is
790 valid. Clean up types and variable declarations, and rename
791 WRAPUP to SAROUNDUP to make the name fit the behavior.
792
7932004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdtdbee01f2004-01-06 00:36:51 +0000794
795 * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
796 structure, because on Solaris sockaddr_dl is far larger than the
797 base sockaddr structure. (The code had previously been failing to
798 read all the data.)
gdt4bfbea82004-01-06 01:13:05 +0000799
gdtda26e3b2004-01-05 17:20:59 +00008002004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
801
802 * kernel_socket.c (kernel_read): Look up interfaces by index
803 first, so that state changes which do not include a sockaddr_dl
804 now work. Add many sanity checks. In
805 particular, do not assume that a sockaddr_dl follows a message
806 without checking the ifm_addrs flags, and do not trust the length
807 in a sockaddr_dl. Add/clarify many comments.
808
gdt4b5e1352003-12-03 17:54:34 +00008092003-12-03 Greg Troxel <gdt@poblano.ir.bbn.com>
810
811 * rtadv.c: reorder includes to avoid compiler warning (define
812 structs before using them in prototypes)
813
hasso647e4f12003-05-25 11:43:52 +00008142003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>
815
816 * zserv.c: Add "ip forwarding" command.
817
paul445f1432003-05-16 19:00:31 +00008182003-05-16 Gilad Arnold <gilad.arnold@terayon.com>
819
820 * zebra_rib.c: Fix memory leaks for ifname nexthops
821
8222003-04-19 Israel Keys <ikeys@agile.tv>
823
824 * rt_netlink.c: BLOCK on netlink while initialising
825
8262003-02-06 Francois Deppierraz <francois@ctrlaltdel.ch>
827
828 * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
829 it exists.
830
paul718e3742002-12-13 20:15:29 +00008312002-09-28 Akihiro Mizutani <mizutani@net-chef.net>
832
833 * zebra_rib.c (static_add_ipv4): Null0 static route is added.
834
8352002-09-10 Jochen Friedrich <chris+zebra@scram.de>
836
837 * rt_netlink.c: Add check for EAGAIN.
838 * kernel_socket.c: Likewise
839
8402002-06-12 Israel Keys <ikeys@oz.agile.tv>
841
842 * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
843 message so that we get an ACK for successful netlink commands.
844 Change the netlink socket to BLOCKING while we wait for a
845 response; be it an ACK or an NLMSG_ERROR. Change
846 netlink_parse_info to deal with ACK messages.
847
8482001-11-01 Jun-ichiro itojun Hagino <itojun@iijlab.net>
849
850 * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
851 work for ICMPv6 socket.
852
8532001-10-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
854
855 * rib.c (rib_process): Select connected route any case.
856
8572001-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
858
859 * interface.c (no_ip_address_secondary): Add "no" to command.
860
8612001-10-18 NOGUCHI Kay <kay@v6.access.co.jp>
862
863 * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
864 to infinity as the freebsd4.4 workaroud.
865
8662001-08-26 mihail.balikov@interbgc.com
867
868 * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
869 A.B.C.255.
870
8712001-08-22 NOGUCHI Kay <kay@v6.access.co.jp>
872
873 * rtadv.c: Do not send RA to loopback interface.
874
8752001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
876
877 * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
878 route treatment.
879
8802001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
881
882 * zebra-0.92a released.
883
8842001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
885
886 * rib.c: Kernel route is treated as EGP routes in nexthop active
887 check.
888
8892001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
890
891 * zebra-0.92 released.
892
8932001-08-08 "Akihiro Mizutani" <mizutani@dml.com>
894
895 * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
896 show route commands.
897
8982001-07-29 Yon Uriarte <havanna_moon@gmx.net>
899
900 * zserv.c (zsend_ipv4_add_multipath): Add
901 NEXTHOP_TYPE_IPV4_IFINDEX check.
902
9032001-07-29 NOGUCHI Kay <kay@v6.access.co.jp>
904
905 * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
906 autonomous address-configuration flag patch.
907 (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
908 suppress-ra".
909
9102001-07-24 NOGUCHI Kay <kay@v6.access.co.jp>
911
912 * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
913 command.
914
9152001-07-24 Jun-ichiro itojun Hagino <itojun@iijlab.net>
916
917 * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
918 multicast FIB support both IPv4 and IPv6.
919
9202001-07-24 Hal Snyder <hal@vailsys.com>
921
922 * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
923 full list of interfaces on some configurations of OpenBSD.
924
9252001-07-23 NOGUCHI Kay <kay@v6.access.co.jp>
926
927 * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
928 send-ra" bug.
929 (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
930 availability.
931 (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
932 added.
933 (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
934
9352001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
936
937 * ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
938
939 * rt_ioctl.c: Likewise.
940
9412001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
942
943 * kernel_socket.c (rtm_write): Only set RTF_CLONING when the
944 interface is not p2p.
945
9462001-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
947
948 * ioctl.c (if_prefix_add_ipv6): Fix argument type.
949
9502001-04-06 Toshiaki Takada <takada@zebra.org>
951
952 * zserv.c (zsend_interface_delete): Use client->obuf instead of
953 allocating new stream.
954
9552001-03-10 Kunihiro Ishiguro <kunihiro@zebra.org>
956
957 * rt_netlink.c: Revert RTPROT_BOOT change.
958
9592001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
960
961 * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
962 (netlink_routing_table): Likewise.
963
9642001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
965
966 * zserv.c (zsend_ipv4_add_multipath): Send metric value to
967 protocol daemons.
968
9692001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
970
971 * rt_netlink.c (netlink_routing_table): Do not return
972 tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe"
973 <mokeefe@qualcomm.com>.
974
9752001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
976
977 * if_ioctl.c (interface_list_ioctl): Call if_add_update().
978 Suggested by: Chris Dunlop <chris@onthe.net.au>.
979
9802001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
981
982 * rib.c (nexthop_active_ipv4): When nexthop type is
983 NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
984
985 * zserv.c: Initialize rtm_table_default with 0.
986
987 * zebra-0.91 is released.
988
9892001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
990
991 * kernel_socket.c (rtm_read): Filter cloned route. Suggested by:
992 Jun-ichiro itojun Hagino <itojun@iijlab.net>
993
9942001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
995
996 * connected.c (connected_up_ipv6): When point-to-point destination
997 address is ::, use local address for connected network.
998 (connected_down_ipv6): Likewise.
999
10002001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1001
1002 * zserv.c (zebra_serv): Add missing close() call. Reported by:
1003 David Waitzman <djw@vineyard.net>.
1004
10052001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1006
1007 * rib.c (rib_lookup_ipv4): New function for checking exact match
1008 IGP route.
1009
10102001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1011
1012 * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
1013 route-type".
1014
10152001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1016
1017 * interface.c (zebra_interface): Do not call
1018 zebra_interface_add_update for inactive interface.
1019
1020 * zserv.c (zsend_interface_address_add): Send interface address
1021 flag.
1022 (zsend_interface_address_delete): Likewise.
1023
10242001-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1025
1026 * interface.c (if_addr_add): Add flags.
1027
1028 * connected.c (ifa_add_ipv4): Add new function for interface
1029 address handling.
1030 (ifa_delete_ipv4): Likewise.
1031
10322001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1033
1034 * rib.c (rib_update): Update IPv6 RIB.
1035
1036 * kernel_socket.c (ifam_read): Call if_refresh() for update
1037 interface flag status. This is for implicit interface up on *BSD.
1038
1039 * interface.c (if_refresh): Add interface flag refresh function.
1040
1041 * kernel_socket.c (rtm_read): Fetch link-local address interface
1042 index.
1043 (ifan_read): We need to fetch interface information. Suggested
1044 by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
1045
1046 * rib.c (static_ipv6_nexthop_same): Add check for
1047 NEXTHOP_TYPE_IPV6_IFNAME.
1048
10492001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1050
1051 * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are
1052 taken into place.
1053
10542001-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1055
1056 * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
1057 configuration.
1058 (rib_delete_ipv6): Handle same route conter for IPv6 connected
1059 route.
1060 (show_ipv6_route_protocol): New command.
1061 (show_ipv6_route_addr): Likewise.
1062 (show_ipv6_route_prefix): Likewise.
1063 (rib_update): Sweep kernel route when it is cleaned up.
1064
1065 * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
1066 treatmenet.
1067
1068 * rt_netlink.c (kernel_init): Likewise.
1069
1070 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
1071
1072 * rib.c (rib_add_ipv4): Cope with same connected route on a
1073 interface. Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
1074 (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
1075
1076 * rib.h (struct new_rib): Add refcnt to keep track on the
1077 reference of same connected route.
1078
1079 * ioctl.c (if_set_prefix): Add check for GNU_LINUX.
1080
10812001-01-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1082
1083 * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
1084 (rtm_type_str): Add RTM_IFANNOUNCE check.
1085 (ifan_read): New function.
1086 (kernel_read): Add case for RTM_IFANNOUNCE.
1087
10882001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1089
1090 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
1091
1092 * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
1093 treatment.
1094
1095 * connected.c (connected_up_ipv6): Add dest value check.
1096
1097 * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
1098 ifindex.
1099 (rib_add_ipv4): Import rib_add_ipv6() same route check code.
1100 (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
1101 checked by ifindex.
1102
1103 * rt_socket.c (kernel_rtm_ipv6_multipath): New function.
1104
1105 * redistribute.c (redistribute_add): Use
1106 zsend_ipv6_add_multipath().
1107 (redistribute_delete_multipath): Use
1108 zsend_ipv6_delete_multipath().
1109
1110 * interface.c (ip_address): Check current IP address to avoid
1111 duplicate.
1112
1113 * rib.c (rib_delete_ipv4): When deleted route is connected route,
1114 check ifindex.
1115 (rib_add_ipv4): When connected route is added do not perform
1116 implicit withdraw.
1117 (rib_delete_ipv4): Check ifindex for connected route.
1118
1119 * kernel_socket.c (rtm_read): When route has RTF_STATIC, set
1120 ZEBRA_FLAG_STATIC for indicate as persistent route.
1121 (ifam_read): Unset interface index from link-local address when
1122 IPv6 stack is KAME.
1123
1124 * rib.c (rib_update): Do not delete persistent kernel route.
1125
1126 * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
1127
1128 * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
1129 (kernel_delete_ipv6_multipath): Likewise.
1130
1131 * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
1132
11332001-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1134
1135 * rib.c (rib_update): Revert Matthew Grant's patch
1136 zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel
1137 interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
1138 that. Add support for address deletion situation.
1139
11402001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1141
1142 * interface.c: Remove HAVE_IF_PSEUDO part.
1143
1144 * rib.h: Likewise.
1145
1146 * rt_netlink.c (netlink_link_change): Likewise.
1147
11482001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1149
1150 * zserv.c: Remove OLD_RIB codes.
1151
11522001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1153
1154 * zebra-0.90 is released.
1155
11562001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1157
1158 * interface.c (if_new_intern_ifindex): Allocate a new internal
1159 interface index.
1160 (if_addr_refresh): Fix up ip addresses configured via zebra.
1161 (if_add_update): Handle an interface addition.
1162 (if_delete_update): Handle an interface delete event.
1163
1164 * rib.c (nexthop_ipv4_add): Add kernel route deletion process when
1165 interface goes down.
1166
11672001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1168
1169 * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
1170 NetBSD also use this function. Suggested by Jasper Wallace
1171 <jasper@ivision.co.uk>.
1172
11732001-01-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1174
1175 * rib.c (nexthop_active_ipv4): Move back to set methodo to old
1176 one.
1177
11782001-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1179
1180 * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
1181 flag, so treat it.
1182
11832001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1184
1185 * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
1186 sent from netlink_cmd, the same message comes from netlink. To
1187 avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
1188 instead of netlink_cmd.sock.
1189
11902001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1191
1192 * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
1193 Change "/tmp/zserv" to "/tmp/.zserv".
1194
11952000-12-29 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1196
1197 * rt_netlink.c (struct nlsock): Divide kernel message into listen
1198 socket and command socket.
1199 (netlink_talk): Remove socket listen code. Use netlink_parse_info
1200 for read kernel response.
1201
12022000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1203
1204 * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
1205 routes.
1206
12072000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1208
1209 * rt_netlink.c (netlink_route_multipath): Metric value is
1210 reflected to kernel routing table.
1211
1212 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
1213
1214 * kernel_socket.c (rtm_write): Likewise.
1215
1216 * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
1217 nexthop lookup.
1218
1219 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
1220 new RIB implementation.
1221
12222000-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1223
1224 * rib.h: Remove MULTIPATH_NUM. It is defined by configure script.
1225
12262000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1227
1228 * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
1229 proper redistribution.
1230
12312000-12-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1232
1233 * rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
1234 (show_ip_route_protocol): Support new RIB.
1235
1236 * rt_netlink.c (netlink_route_change): Do not return when gate is
1237 NULL.
1238
12392000-12-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1240
1241 * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
1242 updated.
1243 (rib_add_ipv4): Free implicit withdraw route's RIB.
1244
12452000-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1246
1247 * rib.c (nexthop_active_ipv4): Check indirect nexthop.
1248
1249 * redistribute.c (redistribute_add_multipath): Redistribution
1250 works with new rib code.
1251
12522000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1253
1254 * rt_netlink.c (netlink_route_multipath): Check useful nexthop
1255 number.
1256 (netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
1257
1258 * rib.c (nexthop_active_update): Set flag for the rib's nexthop
1259 activity is changed.
1260 (nexthop_active_check): Before checking interface is up, make it
1261 sure the interface exist.
1262
12632000-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1264
1265 * rib.c (ip_route): New RIB prototype.
1266
12672000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1268
1269 * zserv.c (zsend_interface_add): Send hardware address when
1270 hw_addr_len is greater than 0.
1271
12722000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1273
1274 * connected.c (connected_up_ipv4): Fix ptop bug. The destination
1275 network should be installed into routing table.
1276 (connected_down_ipv4): Likewise.
1277 (connected_add_ipv4): Change to use connected_up_ipv4.
1278 (connected_delete_ipv4): Likewise.
1279
12802000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1281
1282 * rt_netlink.c (netlink_interface_addr): Revert Harald Welte
1283 <laforge@gnumonks.org>'s ptop patch then back to original code to
1284 avoid duplicated connected route problem. Suggested by Frank van
1285 Maarseveen <F.vanMaarseveen@inter.NL.net>.
1286
1287 * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
1288 DEBUG is defined. Reported by Jun-ichiro itojun Hagino
1289 <itojun@iijlab.net>.
1290
12912000-10-23 Jochen Friedrich <jochen@scram.de>
1292
1293 * main.c (main): Call zebra_snmp_init() when it is enabled.
1294
12952000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1296
1297 * zserv.c (zebra_serv_un): UNIX domain socket server of zebra
1298 protocol.
1299
13002000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1301
1302 * rib.c (rib_add_ipv4): Same check bug is fixed.
1303
13042000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1305
1306 * rib.c (rib_if_down): Remove kernel route when the interface goes
1307 down.
1308
1309 * debug.c: New command "debug zebra kernel" is added.
1310
13112000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1312
1313 * zebra-0.89 is released.
1314
13152000-09-24 Harald Welte <laforge@gnumonks.org>
1316
1317 * rt_netlink.c (netlink_interface_addr): Fix point-to-point address
1318 treatment in netlink interface.
1319
13202000-09-21 David Lipovkov <dlipovkov@OpticalAccess.com>
1321
1322 * rib.c (rib_if_down): Pull static route only. Protocol daemon
1323 must withdraw routes when interface goes down.
1324 (rib_add_ipv4): Check nexthop when replace route.
1325
13262000-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1327
1328 * if_ioctl.c (if_getaddrs): New function for looking up
1329 interface's address by getifaddrs().
1330
13312000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1332
1333 * connected.c (connected_delete_ipv4): Add check for connected
1334 address is found or not.
1335 (connected_add_ipv6): Reflect IPv6 connected address change to
1336 protocol daemons.
1337 (connected_delete_ipv6): Likewise.
1338
13392000-09-07 David Lipovkov <davidl@nbase.co.il>
1340
1341 * rib.c (rib_delete_ipv4): Reverted the change from pseudo
1342 interface patch to original. Because ospfd deletes routes using
1343 zero ifindex.
1344
13452000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1346
1347 * zebra-0.88 is released.
1348
13492000-08-15 "Akihiro Mizutani" <mizutani@dml.com>
1350
1351 * rib.c (show_ip_route_protocol): Help string correction.
1352 (show_ip_route_prefix): Check prefix mask.
1353 (show_ip_route_vty_detail): Display distance and metric.
1354
13552000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1356
1357 * zserv.c (zsend_interface_add): Change ifindex store size from
1358 two octet to four.
1359 (zsend_interface_delete): Likewise.
1360 (zsend_interface_address_add): Likewise.
1361 (zsend_interface_address_delete): Likewise.
1362 (zsend_interface_up): Likewise.
1363 (zsend_interface_down): Likewise.
1364
13652000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1366
1367 * rib.c (rib_add_ipv4): Do not install distance 255 route.
1368
13692000-08-10 Toshiaki Takada <takada@zebra.org>
1370
1371 * interface.c (bandwidth_if), (no_bandwidth_if): Call
1372 zebra_interface_up_update () instead of using if_up() and if_down().
1373
13742000-08-07 "Akihiro Mizutani" <mizutani@dml.com>
1375
1376 * interface.c (bandwidth_if): Fix help string.
1377
13782000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1379
1380 * interface.c (if_dump_vty): Display bandwidth value.
1381 (bandwidth_if): New command "bandwidth <1-10000000>" is added.
1382 When interface is up, force protocol daemons to recalculate routes
1383 due to cost change.
1384 (no_bandwidth_if): Likewise.
1385 (if_config_write): Output bandwidth configuration.
1386
1387 * zserv.c (zsend_interface_add): Send bandwidth value.
1388 (zsend_interface_up): Likewise.
1389 (zsend_interface_down): Likewise.
1390
1391
13922000-08-07 Michael Rozhavsky <mike@nbase.co.il>
1393
1394 * rib.c (show_ip_route_protocol): "show ip route
1395 (bgp|connected|kernel|ospf|rip|static)" is added.
1396
13972000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1398
1399 * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
1400 nexthop is found.
1401 (rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
1402
14032000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1404
1405 * redistribute.c (redistribute_delete): Fix bug of default route
1406 redistribute treatment.
1407
14082000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1409
1410 * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
1411 Change default distance value.
1412
1413 Old New
1414 ------------------------------------------
1415 system 10 0
1416 kernel 20 0
1417 connected 30 0
1418 static 40 1
1419 rip 50 120
1420 ripng 50 120
1421 ospf 60 110
1422 ospf6 49 110
1423 bgp 70 200(iBGP) 20(eBGP)
1424 ------------------------------------------
1425
1426 * zserv.c (client_lookup): Function removed.
1427 (zsend_interface_add): Use client's output buffer. Check ifinfo
1428 flag.
1429 (zsend_interface_delete): Likewise.
1430 Delete ipv4_static_radix and ipv6_static_radix.
1431
14322000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1433
1434 * zserv.h (struct zebra_client): When client request interface
1435 information, ifinfo is set.
1436
1437 * rib.c: Temporary Revert changes for pseudo interface.
1438
1439 * rib.h: Likewise.
1440
1441 * zserv.c: Likewise.
1442
1443 * interface.c: Likewise.
1444
14452000-08-02 David Lipovkov <davidl@nbase.co.il>
1446
1447 * interface.c (zebra_if_init): Install interface "pseudo"
1448 commands.
1449
1450 * rib.c (rib_create): ifname argument is added.
1451 (rib_add_ipv4_pseudo): New function is added.
1452 (rib_delete_ipv4_pseudo): Likewise.
1453
1454 * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for
1455 pseudo interface functions.
1456
1457 * rt_netlink.c (netlink_link_change): Check for pseudo interface.
1458
1459 * zserv.c (ip_route): When destination is pseudo interface, call
1460 rib_add_ipv4_pseudo().
1461
1462 * zserv.c (no_ip_route): Trim "unknown" argument.
1463
14642000-07-26 kunitake@dti.ad.jp
1465
1466 * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
1467 to 6.
1468
1469 * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
1470
14712000-07-24 Akihiro Mizutani <mizutani@dml.com>
1472
1473 * interface.c: Use install_default() for common VTY commands.
1474
14752000-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1476
1477 * if_ioctl.c (interface_list_ioctl): A interface list size is
1478 calculated from ifreq->if_addr.sa_len. This is for OpenBSD.
1479
1480 * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
1481
14822000-07-09 Chris Dunlop <chris@onthe.net.au>
1483
1484 * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
1485
14862000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1487
1488 * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
1489 message handling.
1490
14912000-07-02 David Lipovkov <davidl@nbase.co.il>
1492
1493 * zserv.c: "ip route A.B.C.D/M unknown" command is added.
1494
14952000-06-28 Michael Rozhavsky <mike@nbase.co.il>
1496
1497 * rib.c: Remove old kernel route when new route comes in.
1498
14992000-06-13 David Lipovkov <davidl@nbase.co.il>
1500
1501 * rib.c (rib_if_up): Add check for unknown interface.
1502
15032000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1504
1505 * rib.h: Define INTERFACE_UNKNOWN.
1506
15072000-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1508
1509 * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
1510 finished.
1511
15122000-06-05 David Lipovkov <davidl@nbase.co.il>
1513
1514 * interface.c (if_zebra_delete_hook): Call rib_if_delete().
1515
1516 * redistribute.c (zebra_interface_delete_update): New function.
1517
1518 * redistribute.h (zebra_interface_delete_update): New function
1519 prototype.
1520
1521 * rib.c (rib_if_delete): New function. Walk down all routes and
1522 delete all on the interface.
1523
1524 * rib.h: New function prototype.
1525
1526 * rt_netlink.c (netlink_link_change): Call
1527 zebra_interface_delete_update ().
1528
15292000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1530
1531 * if_ioctl.c (interface_info_ioctl): Check interface's flag before
1532 checking interface's address.
1533
15342000-04-26 Jochen Friedrich <jochen@nwe.de>
1535
1536 * GNOME-PRODUCT-ZEBRA-MIB: New file.
1537
1538 * GNOME-SMI: New file.
1539
15402000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1541
1542 * irdp.c: New file from 1997 development code.
1543 * irdp.h: Likewise.
1544
15452000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1546
1547 * rtadv.c (rtadv_send_packet): Enclose router advertisement
1548 logging with IS_ZEBRA_DEBUG_PACKET.
1549
15502000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1551
1552 * zserv.c (zebra_client_close): Remove client structure from
1553 client_list when connection is terminated.
1554
15552000-03-21 David Lipovkov <davidl@nbase.co.il>
1556
1557 * connected.c (connected_add_ipv4): Allows all necessary structure
1558 updates for connected route, but doesn't insert it into rib if
1559 it's interface is down.
1560
15612000-01-21 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1562
1563 * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
1564 2.5.1.
1565
15662000-01-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1567
1568 * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
1569 from str2prefix_ipv6().
1570
15712000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1572
1573 * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
1574 IPv6 with /128 routes.
1575 (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
1576 should have mask for cloning.
1577
15781999-12-26 Jochen.Friedrich@genorz.de
1579
1580 * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
1581
15821999-12-23 Alex Zinin <zinin@amt.ru>
1583 * interface.*: dynamic int up/down support
1584
15851999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1586
1587 * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
1588
1589 * rtread_proc.c (proc_route_read): Don't use dropline().
1590
15911999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1592
1593 * kernel_socket.c (rtm_read): When message is RTM_GET, it has own
1594 process's pid.
1595
15961999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1597
1598 * main.c (main): Change to default log output to ZLOG_STDOUT.
1599
1600 * zserv.c (zebra_serv): More detailed error print.
1601
16021999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1603
1604 * kernel_socket.c (rtm_read): Check old pid for static route
1605 insertion check.
1606
16071999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1608
1609 * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
1610 statistics counter.
1611
1612 * mtu_kvm.c: New file added.
1613
16141999-11-27 Vladimir B. Grebenschikov <vova@express.ru>
1615
1616 * kernel_socket.c (rtm_write): Set RTF_CLONING flag for
1617 route to the directly connected interface.
1618
16191999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1620
1621 * rt_socket.c: Delete USE_HOST_BIT definition.
1622
16231999-11-21 Michael Handler <handler@sub-rosa.com>
1624
1625 * rtread_getmsg.c: Undef some definition to resolve conflict.
1626
16271999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1628
1629 * kernel_socket.c (rtm_write): Change to use pre stored struct_dl
1630 value for gateway specification.
1631
16321999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1633
1634 * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
1635 128 under IPv6, don't use RTF_HOST.
1636
16371999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1638
1639 * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
1640
16411999-11-21 Michael Handler <handler@sub-rosa.com>
1642
1643 * rtread_getmsg.c: Added for Solaris 2.6 support.
1644
16451999-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1646
1647 * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
1648
1649 * rt_socket.c (kernel_read): Better BSD routing socket support.
1650
16511999-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1652
1653 * client_main.c: Disable making obsolete zebra test `client'
1654 command.
1655
16561999-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1657
1658 * zebra.c: Renamed to zserv.c.
1659
1660 * zebra.h: Global definitions are moved to lib/zebra.h. Then
1661 renamed to zserv.h.
1662
16631999-10-15 Jordan Mendelson <jordy@wserv.com>
1664
1665 * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
1666 interface. Remove ugly MAX_INTERFACE handling codes.
1667
16681999-09-17 Satosi KOBAYASI <kobayasi@north.ad.jp>
1669
1670 * Fix serious bug of IPv6 route deletion.
1671
16721999-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1673
1674 * ioctl.c (if_set_prefix): Properly set broadcast address.
1675
16761999-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1677
1678 * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
1679 can install connected route to kernel via zebra
1680
16811999-08-24 VOP <vop@unity.net>
1682
1683 * rib.c: Include "sockunion.h"
1684
16851999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1686
1687 * ipforward.h: New file.
1688
1689 * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
1690 ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
1691
16921999-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1693
1694 * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
1695 ZEBRA_INTERFACE_{ADD,DELETE} added.
1696
16971999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1698
1699 * rib.c: show ip route A.B.C.D works.
1700
1701 * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
1702
17031999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1704
1705 * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
1706
17071999-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1708
1709 * interface.h: New file.
1710 * Makefile.am: Add interface.h
1711
17121999-08-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1713
1714 * redistribute.c (zebra_redistribute): give ifindex to client.
1715
17161999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1717
1718 * main.c (longopts): -k, --keep_kernel option added.
1719
17201999-07-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1721
1722 * rt_socket.c (rtm_write): forgot closing socket bug fixed.
1723
17241999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1725
1726 * rib.c (show_ipv6_cmd): if rib is link show interface name.
1727
17281999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1729
1730 * rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
1731
17321999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1733
1734 * rt_socket.c (rtm_write): ipv6 route table bug fixed.
1735
17361999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1737
1738 * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
1739
17401999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1741
1742 * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
1743
17441999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1745
1746 * if_sysctl.c (ifm_read): Clear sockunion argument before fetching
1747 data. Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
1748
17491999-07-08 HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
1750
1751 * interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
1752
17531999-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1754
1755 * zebra.c (zebra_serv): Only accept loopback address connection.
1756
17571999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1758
1759 * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
1760
17611999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1762
1763 * ipforward_proc.c: ipforward_on () and ipforward_off () added.
1764
17651999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1766
1767 * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
1768 using /proc file system is added.
1769
17701999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1771
1772 * if_ioctl.c (if_get_index): Interface index set bug is fixed by
1773 adding #else at the middle of function. Suggested by David Luyer
1774 <luyer@ucs.uwa.edu.au>.
1775
17761999-05-29 <kunihiro@zebra.org>
1777
1778 * rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
1779
17801999-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1781
1782 * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
1783 the sort of routes.
1784
17851999-05-25 Patrick Koppen <koppen@rhrk.uni-kl.de>
1786
1787 * rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
1788 (netlink_parse_info): If errno is EWOULDBLOCK then continue to
1789 parse the message.
1790 (netlink_talk): Likewise
1791
17921999-05-17 <kunihiro@zebra.org>
1793
1794 * redistribute.c (zebra_check_addr): Added for loopback address
1795 check.
1796
17971999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1798
1799 * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
1800 change treatment.
1801
1802 * Makefile.am (noinst_HEADERS): redistribute.h added.
1803
1804 * redistribute.h: New file.
1805
18061999-05-14 Stephen R. van den Berg <srb@cuci.nl>
1807
1808 * zebra.c (show_table): Show all table configuration DEFUN.
1809 (config_table): Config table number DEFUN.
1810
1811 * rt_netlink.c: Add support for multiple routing table.
1812
1813 * rib.c (rib_weed_table): New function added for delete all
1814 routes from specified routing table.
1815
1816 * main.c (signal_init): SIGTERM call sigint.
1817 (sigint): Loggging more better message.
1818
18191999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1820
1821 * rt_netlink.c: Change log () to zlog ().
1822
18231999-05-07 <kunihiro@zebra.org>
1824
1825 * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
1826
18271999-04-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1828
1829 * interface.c: Add `no ip address' command.
1830
18311999-04-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1832
1833 * rt_netlink.c (kernel_read): Function added for asynchronous
1834 zebra between kernel communication.
1835
18361999-03-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1837
1838 * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
1839 Reported by Achim Patzner <ap@bnc.net>.
1840
18411999-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1842
1843 * Makefile.am: Install configuration sample with 600 permission.
1844
18451999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1846
1847 * Makefile.am: Add -I.. to INCLUDES.
1848
18491999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
1850
1851 * syslog support added
1852
18531999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
1854
1855 * if_sysctl.c (interface_list): allocated memory free when unknown
1856 ifm_type is returned.
1857
1858 * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
1859
18601998-12-15 Magnus Ahltorp <map@stacken.kth.se>
1861
1862 * interface.c: Header include added.
1863
18641998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1865
1866 * rt.h (kernel_delete_ipv6): change int index to unsigned int index.
1867
18681998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1869
1870 * if_ioctl.c (interface_list_ioctl): interface flag must be
1871 checked before check addresses of the interface.
1872
18731998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1874
1875 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
1876
18771998-10-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1878
1879 * ioctl.c: Linux version before 2.1.0 need interface route setup.
1880
18811998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
1882
1883 * change HYDRANGEA to KAME
1884
18851998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1886
1887 * if_ioctl.c (if_addr_ioctl): set address family for getting
1888 interface's address.
1889 (if_get_index): silently return when can't get interface's index.
1890
18911998-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1892
1893 * main.c (main): batch mode option '-b' added.
1894
18951998-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1896
1897 * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
1898 * interface.c (shutdown_if): add interface shutdown and no
1899 shutdown command.
1900
19011998-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1902
1903 * rib.c (rib_add_ipv6): delete rib_add_in6.
1904
19051998-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1906
1907 * main.c: retain flag is added.
1908
19091998-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1910
1911 * rtable.[ch]: merged with rib.[ch]
1912
19131998-07-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1914
1915 * connected.h: renamed from ifa.h.
1916
19171998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1918
1919 * rename if.c to interface.c
1920 * rename ifa.c to connected.c
1921
1922 * Porting to Debian GNU/Linux 2.0 (hamm).
1923
19241998-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1925
1926 * rt_netlink.c: renamed from krt_netlink.c
1927
1928 * fib.c: deleted.
1929 * rt_kvm.c: deleted.
1930 * rtread_getmsg.c: deleted.
1931
19321998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1933
1934 * if.c (multicast): add multicast flag [un]set fucntion.
1935
19361998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
1937
1938 * rt_socket.c: Modify for compile on Solaris, but dont't work it.
1939 rt_socket.c have some undefined function, so add directive "IMPLEMENT"
1940
19411998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
1942
1943 * zebra.c: Modify for compile on Solaris.
1944
19451998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1946
1947 * main.c: change CONFDIR to SYSCONFDIR.
1948
19491998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1950
1951 * .cvsignore: added.
1952
19531998-04-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1954
1955 * client.c: moves to ../lib.
1956
19571998-03-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1958
1959 * if_ioctl.c (if_get_addr): Change address copy from memcopy() to
1960 structure assignment.
1961
19621998-03-30 URA Hiroshi <ura@yamato.ibm.co.jp>
1963
1964 * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
1965
19661998-02-23 "Hannes R. Boehm" <hannes@boehm.org>
1967
1968 * if.c (if_init): add config_exit_cmd and config_help_cmd.
1969
19701998-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1971
1972 * rt_ioctl.c (route_ioctl): EPERM treatment added.
1973
19741998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1975
1976 * rt_socket.c (kernel_read): communication port zebra between
1977 kernel is now handled by kernel_read.
1978
19791998-01-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1980
1981 * main.c (main): zebra [-P port] can specify vty port number.
1982
19831997-12-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1984
1985 * zebra.c: change select will be block.
1986
19871997-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1988
1989 * add static route treatment.
1990
19911997-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1992
1993 * rt_netlink.c: add netlink support over GNU/Linux system.
1994
19951997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1996
1997 * all inet_addr is changed to inet_aton.
1998
1999 * zebra.c (ip_route): add ip route command for static routes.
2000
20011997-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2002
2003 * if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
2004
20051997-11-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2006
2007 * if.c: add interface command.
2008
20091997-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2010
2011 * ipforward_proc.c : Now works on Linux.
2012
20131997-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2014
2015 * command.c : add completion feature.
2016
20171997-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2018
2019 * vty.c (vty_command): add vty interface.
2020
20211997-10-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2022
2023 * zebra.c: add verbose mode.
2024
20251997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
2026
2027 * Hydrangea for FreeBSD supported
2028 * in.h: add some prototype.
2029
20301997-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2031
2032 * rt_socket.c and rtread.c completely rewritten.
2033
20341997-10-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2035
2036 * rt_socket.c: rename kernel_sock to routing_socket
2037
20381997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2039
2040 * if.c (if_new): interface structure change from linklist to vector.
2041
20421997-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2043
2044 * vector.c (vector_init): create vector related function
2045
20461997-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2047
2048 * Makefile.in: add tags target
2049
2050 * start IPv6 support for INRIA FreeBSD.
2051