blob: f943d655c09659d5043556fe1062c937642727bf [file] [log] [blame]
paul6fe70d12005-11-12 22:55:10 +000012005-11-12 Alexander Gall <gall@switch.ch>
2
3 * See [quagga-dev 1815]
4 * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN
5 is not available.
6 * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to
7 AF_INET6 on ipv6 routes.
8
92005-11-12 Paul Jakma <paul.jakma@sun.com>
10
11 * kernel_socket.c: Add RTA_NAME_GET macro to extract name from
12 sockaddr_dl. Add some more RTF_ flags.
13 * (ifan_read) Add some debug messages.
14 * (ifm_read) Add more debug messages. More robust cross-checks
15 of index against name.
16 Fall back to by-name lookup if the index lookup fails, future
17 proofing more than anything else.
18 (ifam_read_mesg) Read RTA_IFP. Add debug messages.
19 (ifam_read) More debug. If there's an RTA_IFP and it isn't
20 the name of the interface, save it as the label.
21 (rtm_read_mesg) Read RTA_IFP.
22 (rtm_read) allow name to be retrieved.
23 (rtmsg_debug) expand on the debug message.
24
paul0994c3a2005-11-11 09:52:40 +0000252005-11-11 Paul Jakma <paul.jakma@sun.com>
26
27 * kernel_socket.c: (ifm_read) arithmetic on void pointer
28 warning.
29 (ifam_read) Fix error from connected-with-label merge,
30 something crept in from the pending Solaris kernel_socket.c
31 patch which shouldn't have.
32
paul0752ef02005-11-03 12:35:21 +0000332005-11-03 Paul Jakma <paul.jakma@sun.com>
34
35 * connected.{c,h}: Include memory.h
36 (connected_add_ipv4) Use MTYPE for ifc label.
37 (connected_add_ipv6) Also should accept label. Store it in ifp.
38 (connected_del_ipv4) Taking label as argument is pointless.
39 * rt_netlink.c: (netlink_interface_addr) update label usage
40 for connected_{add,delete} functions.
41 * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
42 * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
43 so we also find out about NOXMIT interfaces like VNI.
44 Bit of hackery to turn interface names into the primary
45 interface name, later with routing socket messages we only
46 will about primary interfaces anyway, so we must normalise
47 the name.
48 (if_get_addr) take label as argument, so it can
49 be passed to connected_add.
50 If label is provided, then it is interface name to issue the
51 ioctl for address information on, not the ifp name.
52 (interface_list) List AF_UNSPEC too, just in case.
53 * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
54 * interface.c: (if_addr_wakeup) Some very bogus code - sets
55 IFF_RUNNING - add comment.
56 (if_refresh)
57 (ip_address_install) Use MTYPE for ifc label.
58 * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
59 IFF_UP reflect whether any addresses are left on the
60 interface, as we get signalled for IFF_UP flags change on the
61 primary interface only. Logical interfaces dont generate
62 IFINFO, but we do get an RTM_DELADDR.
63 (if_get_flags) Call if_mangle_up before return.
64 * kernel_socket.c: (ifam_read) Fixup calls to
65 connected_{add,delete} to match above changes. Rename gate
66 variable to brd, less confusing.
67 Pass the interface name as a label, if it is not same name
68 as ifp->name.
69
pauld06b2a62005-10-11 03:53:54 +0000702005-10-11 Paul Jakma <paul.jakma@sun.com>
71
72 * connected.{c,h}: (connected_{add,delete}_ipv4) label should
73 be const qualified.
74
ajsc05612b2005-10-01 16:36:54 +0000752005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
76
ajsf52d13c2005-10-01 17:38:06 +000077 * zebra_vty.c: (route_type_str) Remove obsolete function: use new
78 library function zebra_route_string() instead. Note that there
79 are a few differences: for IPv6 routes, we now get "ripng" and
80 "ospf6" instead of the old behavior ("rip" and "ospf").
81 (route_type_char) Remove obsolete function: ues new library function
82 zebra_route_char() instead. Note that there is one difference:
83 the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
84 whereas the new one returns 'X'.
85 (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
86 route_type_str() with zebra_route_string().
87 (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
88 with zebra_route_char().
89
902005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
91
ajsc05612b2005-10-01 16:36:54 +000092 * rt_netlink.c: (netlink_request) Use memset to clear structure
93 before calling sendto (eliminates a valgrind error message about
94 uninitialized data).
vincentaa2e32b2005-09-28 13:42:11 +000095
962005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
97
vincentfbf5d032005-09-29 11:25:50 +000098 * zserv.c: Always provied distance for route add
99
1002005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
101
vincentaa2e32b2005-09-28 13:42:11 +0000102 * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
103 usage with HAVE_IPV6
104
hassod24af182005-09-24 14:00:26 +00001052005-09-24 Hasso Tepper <hasso at quagga.net>
106
107 * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
108 add is treated as implicit withdraw.
109
hassoebf1ead2005-09-21 14:58:20 +00001102005-09-21 David Young <dyoung@ojctech.com>
111
112 * zebra_rib.c: Reduce the height of some staircases. Fix
113 rib_delete_ipv6() to match routes in the RIB by their gateway as
114 well as by destination.
115
paul319572c2005-09-21 12:30:08 +00001162005-09-21 Paul Jakma <paul.jakma@sun.com>
117
118 * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
119 removal of static routes with multiple-hops introduced with
120 the workqueue conversion. We should free the relevant
121 nexthop and then get rib_process to run, otherwise we just
122 get same static route back again (with no way to unconfigure
123 it, because its already deleted from configuration).
124
paulca162182005-09-12 16:58:52 +00001252005-09-12 Paul Jakma <paul.jakma@sun.com>
126
127 * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR
128 support.
129 * connected.c: (connected_withdraw) new function. withdraw a
130 connected subnet address set from zebra, and pass information
131 along to clients.
132 (connected_announce) similar, but to announce a new connected
133 subnet address set.
134 (connected_check_ipv4) renamed to connected_check, as its
135 AFI independent.
136 (connected_add_ipv{4,6}) Remove the connected address announce
137 stuff, use connected_announce instead.
138 If connected_check indicates address is already present,
139 treat it as an implicit withdraw of the existing address, ie
140 remove the old address details and replace with the new
141 details.
142 (connected_delete_ipv{4,6}) Use connected_withdraw.
143 (connected_check_ipv6) deleted in favour of connected_check.
144 * connected.h: Rename connected_check_ipv4 to connected_check.
145 delete connected_check_ipv6.
146 * interface.c: Use connected_check rather than the AFI specific
147 symbols.
148 * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a
149 rib delete event for the existing route, before adding route
150 again.
151 (kernel_read) we can handle RTM_CHANGE now.
152
hassobe61c4e2005-08-27 06:05:47 +00001532005-08-27 Hasso Tepper <hasso at quagga.net>
154
155 * zebra_rib.c, rib.h: Add distance and metric arguments to the
156 rib_add_ipv6() function so that IPv6 routes in RIB can have correct
157 metric. No IPv6 routing daemon uses distance yet though.
158 * zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
159 rtread_proc.c,zserv.c: Pass metric and distance info to the
160 rib_add_ipv6().
161
paul6eb88272005-07-29 14:36:00 +00001622005-07-29 Paul Jakma <paul.jakma@sun.com>
163
164 * interface.c: (if_delete_update) should always be available, not
165 just on RTM_IFANNOUNCE/NETLINK systems.
166 * kernel_socket.c: (ifan_read) only call if_delete_update when
167 interface departs, dont if_delete, because we wish to retain
168 interface configuration state even when interfaces are removed.
169 (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning
170 to down state is only chance we have to clean up interface in case
171 it is deleted (eg Solaris down -> unplumb -> plumb up).
172 * redistribute.c: (zebra_interface_delete_update) should always be
173 available, we /will/ call it now on all systems, via
174 if_delete_update.
175 * zserv.c: (zsend_interface_delete) ditto
176 (zsend_interface_address) Update the call-flow diagramme, to
177 reflect that if_delete_update /is/ now called on all systems,
178 potentially.
179 * zserv.h: (zsend_interface_delete) unconditionally exported, as
180 above.
181
paula1ac18c2005-06-28 17:17:12 +00001822005-06-28 Paul Jakma <paul.jakma@sun.com>
183
184 * (global) Extern and static'ification, with related fixups
185 of declarations, ensuring files include their own headers, etc.
paulea6f82b2005-06-28 17:20:26 +0000186 * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in
paula1ac18c2005-06-28 17:17:12 +0000187 list loop
paulea6f82b2005-06-28 17:20:26 +0000188 * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
189 should be on DEST argument
paula1ac18c2005-06-28 17:17:12 +0000190
paul62debbb2005-06-14 14:07:07 +00001912005-06-14 Paul Jakma <paul.jakma@sun.com>
192
193 * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and
194 RTM{ADDR,MASK}GET macros into generic rta_addrs macros,
195 RTA_{ADDR,ATTR}_GET.
196 (af_check) could use 'inline' attribute
197 (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to
198 generic macro.
199 (rtm_read_mesg) similar
200
hasso1ada8192005-06-12 11:28:18 +00002012005-06-12 Hasso Tepper <hasso at quagga.net>
202
203 * rt_netlink.c: Remove netlink-addr socket declaration, it's not used.
204 * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is
205 unsigned and one zlog call had swapped arguments.
206 * rt_netlink.c (netlink_route_multipath): Fix compile with disabled
207 IPv6 support.
208
paul1dcb5172005-05-31 08:38:50 +00002092005-05-31 Paul Jakma <paul.jakma@sun.com>
210
211 * zserv.c: (zsend_route_multipath) Fix bug if route is sent
212 with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX
213 and ZAPI_MESSAGE_NEXTHOP are always set, clients would try
214 read non-existent nexthop information and hit stream assert.
215 Zserv is still broken for multi-nexthop messages, but it always was.
216
paul69e10ad2005-05-06 21:27:33 +00002172005-05-06 Paul Jakma <paul.jakma@sun.com>
218
219 * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
220
paul4d38fdb2005-04-28 17:35:14 +00002212005-04-28 Paul Jakma <paul.jakma@sun.com>
222
223 * rib.h: (struct rib) Add lock field for refcounting.
224 * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
225 'master' struct.
226 * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
227 * zebra_rib.c: Clean up refcounting of route_node, make struct rib
228 refcounted and convert rib_process to work-queue. In general,
229 rib's should be rib_addnode'd and delnode'd to route_nodes, and
230 these symmetrical functions will manage the locking of referenced
231 route_node and freeing of struct rib - rather than having users
232 manage each seperately - with much scope for bugs..
233 (newrib_free) removed and replaced with rib_lock
234 (rib_lock) new function, check state of lock and increment.
235 (rib_unlock) new function, check lock state and decrement. Free
236 struct rib if refcount hits 0, freeing struct nexthop's, as
237 newrib_free did.
238 (rib_addnode) Add RIB to route_node, locking both.
239 (rib_delnode) Delete RIB from route_node, unlocking each.
240 (rib_process) Converted to a work-queue work function.
241 Functional changes are minimal, just arguments, comments and
242 whitespace.
243 (rib_queue_add_qnode) Helper function to setup a ribq item.
244 (rib_queue_add) Helper function, same arguments as old
245 rib_process, to replace in callers of rib_process.
246 (rib_queue_qnode_del) ribq deconstructor.
247 (rib_queue_init) Create the ribq.
248 (rib_init) call rib_queue_init.
249 (remainder) Sanitise refcounting of route_node's. Convert to
250 rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
251 to XCALLOC. Remove calls to nexthop_delete and nexthop_free.
252
paulcf460ef2005-04-10 16:54:26 +00002532005-04-10 Paul Jakma <paul@dishone.st>
254
255 * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
256 in ALL_LIST_ELEMENTS_RO macro.
257
ajs57a14772005-04-10 15:01:56 +00002582005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
259
260 * zserv.c (zebra_client_read): Fix bug: first read attempt should
261 read ZEBRA_HEADER_SIZE minus the number of bytes already read.
262 Improve efficiency by maintaining a calculation of the number
263 of bytes read instead of calling stream_get_endp multiple times.
264 If message length is too small, issue a warning message (not debug)
265 before closing the connection. And also check that message length
266 is not too big.
267
hasso206d8052005-04-09 16:38:51 +00002682005-04-09 Hasso Tepper <hasso at quagga.net>
269
hassofa599802005-04-09 16:59:28 +0000270 * rt_netlink.c: One tiny missing comma caused pointless debug messages
271 about IPv6 nexthops.
272
2732005-04-09 Hasso Tepper <hasso at quagga.net>
274
hasso206d8052005-04-09 16:38:51 +0000275 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
276 status to unsigned here, because we already checked that it isn't
277 negative or 0.
278 * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
279 address, not to the interface.
280 * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
281 is printed out now and IPv6 info is handeled.
282
paul3d1dc852005-04-05 00:45:23 +00002832005-04-05 Paul Jakma <paul@dishone.st>
284
285 * zserv.c: print more helpful errors when we fail to successfully
286 bind and listen on zserv socket. Closes bugzilla #163.
287
ajsd2fc8892005-04-02 18:38:43 +00002882005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
289
ajs08dbfb62005-04-03 03:40:52 +0000290 * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
291 * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
292 avoid overflow.
293 * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
294
2952005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
296
ajsa3491982005-04-02 22:50:38 +0000297 * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
298 to save a memcpy.
299 * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
300 if_get_by_name_len function.
301
3022005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
303
ajsd2fc8892005-04-02 18:38:43 +0000304 * interface.c: (if_new_intern_ifindex) Remove obsolete function.
305 (if_delete_update) After distributing the interface deletion message,
306 set ifp->ifindex to IFINDEX_INTERNAL.
307 (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
308 IFINDEX_INTERNAL.
309 (zebra_interface) Check return code from interface_cmd.func.
310 Do not set internal ifindex values to if_new_intern_ifindex(),
311 since we now use IFINDEX_INTERNAL for all pseudo interfaces.
312 * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
313 all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
314 * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
315 Detects interface rename events by checking if that ifindex is already
316 being used. If it is, delete the old interface before assigning
317 the ifindex to the new interface.
318 (netlink_interface, netlink_link_change) Call set_ifindex to update
319 the ifindex.
320
hassob7ed1ec2005-03-31 20:13:49 +00003212005-03-31 Hasso Tepper <hasso at quagga.net>
322
323 * rt_netlink.c (netlink_talk_filter): Show always warning message,
324 it's not for debug.
325 * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
326 although we do now actually.
327 * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
328 netlink_cmd to send messages to the kernel.
329
ajs2da40f42005-03-30 16:33:13 +00003302005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
331
332 * irdp.h: Add prototype for irdp_sock_init, and fix protos for
333 other irdp_* functions.
334 * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
335 call irdp_sock_init to create the IRDP socket.
336 (irdp_if_init) Rename to irdp_init().
337 (get_iflist_ifp) Remove function that is a duplicate of
338 if_lookup_by_index.
339 (*) Make many functions static. And remove superfluous "\n" from
340 several zlog messages.
341 * irdp_main.c: (irdp_init) Remove function that used to call
342 irdp_if_init() and irdp_sock_init(), since we will now create
343 the socket only upon first use.
344 (irdp_sock_init) Do not update global irdp_sock variable, just
345 return the fd and assume that the caller will do so. If setsockopt
346 calls fail, close the socket before returning -1.
347 (*) Make many functions static.
348 * irdp_packet.c: Initialize irdp_sock to -1.
349 (irdp_read_raw) Call standard library function if_lookup_by_index
350 instead of get_iflist_ifp.
351 (irdp_recvmsg) Should be static, not global.
352
ajsa608bbf2005-03-29 17:03:49 +00003532005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
354
355 * rt_netlink.c: (netlink_link_change) If the status of an
356 operative interface changes (e.g. MTU changes), the client
357 daemons should be notified by calling zebra_interface_up_update.
358 Previously, the information was being updated in zebra's
359 interface structure, but the clients were not notified of
360 changes to an operative interface.
361
vincent7cee1bb2005-03-25 13:08:53 +00003622005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
363 * interface.c, interface.h, rtadv.c, rtadv.h: modifications to
364 IPv6 Neighbor Discovery according to RFC3775, section 7:
365 o 1-bit Home Agent flag management in Router Advertisement (7.1).
366 o 1-bit Router Address flag management in Prefix Information
367 Option (7.2).
368 o Advertisement Interval Option (7.3)
369 o Home Agent Information Option (7.4)
370 o Changes to Sending Router Advertisements more frequently (7.5)
371
hassoed9bb6d2005-03-13 19:17:21 +00003722005-03-13 Hasso Tepper <hasso at quagga.net>
373
374 * zebra/interaface.c: "show interface description" command
375 implemented.
376
paulc1f01f32005-03-12 06:33:14 +00003772005-03-12 Paul Jakma <paul@dishone.st>
378
379 * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
380 No stock Linux kernel has ever supported it, and even if it had
381 it's not generally a good idea.
382
hasso42a66d72005-03-07 08:19:44 +00003832005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
384
385 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
386
hasso3452d472005-03-06 13:42:05 +00003872005-03-06 Hasso Tepper <hasso at quagga.net>
388
389 * interface.c: Fix CRC and frame errors statistics in Linux.
390
ajs719e9742005-02-28 20:52:15 +00003912005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
392
393 * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
394 Remove global message_queue and t_write (need separate buffering for
395 each client).
396 (zebra_server_dequeue,zebra_server_enqueue) Remove functions
397 related to old buggy buffering code.
398 (zserv_delayed_close) New thread callback function to delete a client.
399 (zserv_flush_data) New thread callback function to flush buffered
400 data to client.
401 (zebra_server_send_message) Rewritten to use buffer_write (so
402 buffering of writes and non-blocking I/O work properly).
403 (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
404 zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
405 (this is not really an error). Return value from
406 zebra_server_send_message.
407 (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
408 zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
409 (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
410 from zebra_server_send_message.
411 (zsend_router_id_update) Must use zebra_server_send_message instead
412 of deprecated writen function. Return 0 instead of -1 if this client
413 is not subscribed to router-id updates (since this is not really
414 an error).
415 (zread_interface_add) Change type to static int. If
416 zsend_interface_add fails or zsend_interface_address fails, return -1
417 immediately (since the client has had an I/O error).
418 (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
419 zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
420 to indicate success.
421 (zread_ipv4_nexthop_lookup) Return value from
422 zsend_ipv4_nexthop_lookup.
423 (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
424 (zebra_read_ipv6) Remove unused function.
425 (zread_ipv6_nexthop_lookup) Return value from
426 zsend_ipv6_nexthop_lookup.
427 (zread_router_id_add) Return value from zsend_router_id_update.
428 (zebra_client_close) Call buffer_free(client->wb) and
429 thread_cancel(client->t_suicide).
430 (zebra_client_create) Allocate client->wb using buffer_new.
431 (zebra_client_read) Support non-blocking I/O by using stream_read_try.
432 Use ZEBRA_HEADER_SIZE instead of 3.
433 (zebra_accept) Fix bug: reset accept thread at top. Make client
434 socket non-blocking using the set_nonblocking function.
435 (config_write_forwarding) Fix scope to static.
436 (zebra_init) Remove initialization code for old buggy write buffering.
437 * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
438 (to enable buffered writes with non-blocking I/), and
439 struct thread *t_suicide to support delayed close on I/O
440 errors.
441 * router-id.h: Remove prototypes for zread_router_id_add and
442 zread_router_id_delete (their scope should be static to zserv.c).
443
ajs27da3982005-02-24 16:06:33 +00004442005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
445
446 * redistribute.c: (zebra_check_addr,is_default,
447 zebra_redistribute_default,zebra_redistribute) Fix scope to be static.
448
hassoe8274dc2005-02-20 19:09:23 +00004492005-02-20 Hasso Tepper <hasso at quagga.net>
450
451 * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
452 if we are not debugging.
453
paule31f2292005-02-19 02:00:26 +00004542005-02-19 Paul Jakma <paul@dishone.st>
455
456 * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
457 STREAM_READABLE.
458
paul1e193152005-02-14 23:53:05 +00004592005-02-14 Paul Jakma <paul@dishone.st>
460
461 * Not all Linux netlink systems have IFLA_WIRELESS
462
ajs6a52d0d2005-01-30 18:49:28 +00004632005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
464
465 * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
466 zlog_err.
467 * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
468 zlog_err.
469
ajs4be019d2005-01-29 16:12:41 +00004702005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
471
ajs4460e7a2005-01-29 17:07:40 +0000472 * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
473 zserv_privs.change.
474 * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
475 zserv_privs.change.
476 * ipforward_solaris.c: (solaris_nd) Save errno before calling
477 zserv_privs.change.
478 * irdp_main.c: (irdp_sock_init) Save errno before calling
479 zserv_privs.change.
480
4812005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
482
ajs4be019d2005-01-29 16:12:41 +0000483 * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
484 netlink_talk) Save errno before calling zserv_privs.change.
485
paulc15cb242005-01-24 09:05:27 +00004862005-01-24 Martin Pot <mpot at martybugs.net>
487
488 * zebra/rt_netlink.c: ignore wireless newlink netlink messages.
489
hasso6f2c27a2005-01-18 13:44:35 +00004902005-01-18 Hasso Tepper <hasso at quagga.net>
491
492 * interface.c: Better statistics output in "show interface" command in
493 case of /proc being used.
494
hasso583d8002005-01-16 23:34:02 +00004952005-01-17 Hasso Tepper <hasso at quagga.net>
496
497 * main.c: With --nl-bufsize argument is required.
498
paul865b8522005-01-05 08:30:35 +00004992005-01-05 Paul Jakma <paul@dishone.st>
500
501 * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
502 for now, as we dont actually deal with with resending.... See
503 bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
504 * kernel_socket.c: (routing_socket) ditto.
505
ajsb99760a2005-01-04 16:24:43 +00005062005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
507
508 * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
509 instead of CMSG_FIRSTHDR.
510
ajs341a8f12004-12-22 16:32:16 +00005112004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
512
513 * connected.c: (connected_add_ipv4) Limit warning about /32 addresses
514 with no peer specified to PtP interfaces only.
515
hassob8adec12004-12-18 16:03:28 +00005162004-12-18 Hasso Tepper <hasso at quagga.net>
517
518 * zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it
519 work for isis routes.
520
gdt6a250b02004-12-09 14:48:12 +00005212004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
522
523 * kernel_socket.c (rtmsg_debug): char * => const char *
524
ajs274a4a42004-12-07 15:39:31 +00005252004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
526
ajsb6178002004-12-07 21:12:56 +0000527 * *.c: Change level of debug messages to LOG_DEBUG.
528
5292004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
530
ajs274a4a42004-12-07 15:39:31 +0000531 * main.c: (main) The 2nd argument to openzlog has been removed.
532 So stdout logging will no longer be enabled by default.
533 * irdp_main.c: (irdp_finish) Reduce severity of shutdown message
534 from LOG_WARNING to LOG_INFO.
535
ajs887c44a2004-12-03 16:36:46 +00005362004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
537
538 * main.c: (sigint) Use zlog_notice for termination message.
539 (main) Add a startup announcement using zlog_notice.
540
hassoaccb1562004-11-25 19:21:07 +00005412004-11-25 Hasso Tepper <hasso at quagga.net>
542
543 * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because
544 it confuses extract.pl.
hassoc0652302004-11-25 19:33:48 +0000545 * main.c: Make group to run as configurable.
hassoaccb1562004-11-25 19:21:07 +0000546
hasso6bd7c6a2004-10-28 17:32:27 +00005472004-10-28 Hasso Tepper <hasso at quagga.net>
548
549 * interface.c: Remove dead "ip tunnel" command.
550
paul06f953f2004-10-22 17:00:38 +00005512004-10-22 Paul Jakma <paul@dishone.st>
552
553 * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex
554
hasso3fb9cd62004-10-19 19:44:43 +00005552004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
556
557 * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore
558 tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL].
559 * interface.c: (ip_address_install) Use new ipv4_broadcast_addr
560 function.
561 * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST
562 macro.
563 (connected_down_ipv4) ditto.
564 (connected_add_ipv4) Validate destination address, print warnings
565 if it does not make sense.
566
hassoc1eaa442004-10-19 06:26:01 +00005672004-10-19 Hasso Tepper <hasso at quagga.net>
568
569 * zserv.c: Fix regression introduced with zserv cleanup.
570
hassoc75105a2004-10-13 10:33:26 +00005712004-10-13 Hasso Tepper <hasso at quagga.net>
572
573 * zebra_snmp.c: Remove defaults used to initialize smux connection to
574 snmpd. Connection is initialized only if smux peer is configured.
hassob71f00f2004-10-13 12:20:35 +0000575 * zserv.c: Remove useless warnings "forwarding is already on".
hassoc75105a2004-10-13 10:33:26 +0000576
hasso39ff11d2004-10-12 15:55:19 +00005772004-10-12 Hasso Tepper <hasso at quagga.net>
578
579 * zebra_vty.c: Unbreak "show ip route" command help and make it work
580 for isis routes.
hasso39db97e2004-10-12 20:50:58 +0000581 * interface.c(if_dump_vty): Show IPv6 addresses in "show interface"
582 output. Fixes Bugzilla #119.
583 * *.c: Make some strings const and some (unsigned) casts to fix
584 compiler warnings.
hasso39ff11d2004-10-12 15:55:19 +0000585
hassofce954f2004-10-07 20:29:24 +00005862004-10-07 Hasso Tepper <hasso at quagga.net>
587
588 * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c:
589 Fix warnings: make strings const, signed -> unsigned.
590
paul72164662004-10-05 14:39:43 +00005912004-10-05 Paul Jakma <paul@dishone.st>
592
593 * irdp_packet.c: (parse_irdp_packet) style issues.
594 Use sockopt_iphdrincl_swab_systoh.
595 Try unbork the code. Checksum the ICMP data and actually
596 compare it to received checksum. Check data length against
597 claimed length in header.
598 Always use ntoh.. when accessing addresses, even when the
599 comparison happens to be endian-safe.
600 (send_packet) minor style isues. Use
601 sockopt_iphdrincl_swab_htosys.
602 (irdp_iph_hton/ntoh) IP header to/from network/host order.
603
hassoeef1fe12004-10-03 18:46:08 +00006042004-10-03 Gilad Arnold <gilad.arnold at terayon.com>
605
606 * interface.c, interface.h: A new prefix tree of connected subnets is
607 associated with each interface structure in zebra, in which each
608 live (ie, non-synthetic) node holds a list of installed addresses
609 that belong to that prefix. Remove secondary address logic from cli.
610 See [quagga-dev 872] for detailed explanation.
611 * connected.c: Use if_subnet_add() and if_subnet_delete().
612
hasso18a6dce2004-10-03 18:18:34 +00006132004-10-03 James R. Leu <jleu at mindspring.com>
614
615 * router-id.c, router-id.h: New files. Router id selection process. If
616 there is non 127.x.x.x address in loopack interface, lowest of them
617 is chosen. If there isn't, lowest from other interfaces addresses
618 are chosen. "router-id x.x.x.x" vty command to manual override.
619 * Makefile.am: Compile new files.
620 * main.c: Initialize router id.
621 * redistribute.c: Add interface addresses into router id selection
622 lists as they (dis)appear.
623 * zserv.c, zserv.h: Sending router id related messages to daemons.
624
hassoc9e52be2004-09-26 16:09:34 +00006252004-09-26 Hasso Tepper <hasso at quagga.net>
626
627 * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
628 rtadv.c, zebra_vty.c: Fix compiler warnings.
629
paul0c0f9112004-09-24 08:24:42 +00006302004-09-24 Paul Jakma <paul@dishone.st>
631
paul26f7a242004-09-24 08:45:10 +0000632 * irdp_interface.c: (no_ip_irdp_address_preference_cmd)
633 add missing listnode declaration.
634
6352004-09-24 Paul Jakma <paul@dishone.st>
636
paul0c0f9112004-09-24 08:24:42 +0000637 * irdp_{interface,main}.c: lists typedef removal cleanup.
638 update some list loops to LIST_LOOP. some miscellaneous style
639 and indent fixups.
640 (no_ip_irdp_address_preference_cmd) Fix delete of referenced node
paul26f7a242004-09-24 08:45:10 +0000641 in loop.
paul0c0f9112004-09-24 08:24:42 +0000642 * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer
643 to pointer.
644 * if_ioctl{,_solaris}.c: lists typedef removal cleanup.
645 update some list loops to LIST_LOOP.
646
hasso52dc7ee2004-09-23 19:18:23 +00006472004-09-23 Hasso Tepper <hasso at quagga.net>
648
649 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
650
paul44983cf2004-09-22 13:15:58 +00006512004-09-22 Paul Jakma <paul.jakma@sun.com>
652
653 * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
654 in_addr to sizeof(struct in6_addr), causing odd and hard to debug
655 crash.
656
hassoc34b6b52004-08-31 13:41:49 +00006572004-08-31 Hasso Tepper <hasso at quagga.net>
658
659 * main.c, rt_netlink.c: Added -s command line switch for tuning
660 netlink receive buffer size in Linux to avoid buffer overruns.
661
gdta5ea6872004-08-26 13:24:00 +00006622004-08-26 Miles Nordin <carton@Ivy.NET>
663
664 * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
665 sysctl(3), rather than int. (Needed on NetBSD/alpha to display
666 forwarding status correctly.)
667
paul3e0b3a52004-08-23 18:58:32 +00006682004-08-23 Paul Jakma <paul@dishone.st>
669
670 * zserv.c: (zebra_init) remove implicit ip forward enabling
671
paul0de1cde2004-08-19 04:45:33 +00006722004-08-19 Paul Jakma <paul@dishone.st>
673
674 * irdp_main.c: update to match sockopt renames.
675 * irdp_packet.c: include sockopt.h and update to match sockopt
676 renames.
677
gdt57492d52004-08-11 18:06:38 +00006782004-08-11 Greg Troxel <gdt@fnord.ir.bbn.com>
679
680 * rtadv.c (rtadv_send_packet): Allocate space for control messages
681 more carefully; it was wrong on NetBSD/sparc where CMSG alignment
682 is to 8 bytes instead of 4, and overwriting the address. Use the
683 provided macros for determining lengths.
684
paul5b73a672004-07-23 15:26:14 +00006852004-07-23 Sowmini Varadhan <Sowmini.Varadhan@Sun.COM>
686
687 * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups
688 * zserv.c: ditto
689 * ioctl_solaris.c: ditto.
690 * interface.c: cast for LLADDR
691 * interface.h: Add guards, include redistribute.h and remove
692 extraneous definitions of zebra_interface_{up,down}_update
693 * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6
694 * redistribute.h: include dependent header, zserv.h
695 * zserv.h: include dependent header, rib.h
696
paul1470baf2004-07-23 15:25:01 +00006972004-07-23 Paul Jakma <paul@dishone.st>
698
699 * irdp_main.c: use setsockopt_pktinfo_ipv4
700 * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and
701 getsockopt_pktinfo_ifindex()
702
gdtcced60d2004-07-13 16:45:54 +00007032004-07-13 David Wiggins <dwiggins@bbn.com
704
705 * kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'.
706
hasso25dac852004-07-13 03:06:51 +00007072004-07-13 Hasso Tepper <hasso@estpak.ee>
708
709 * irdp_main.c: Add privilege change.
710
hasso996933f2004-07-12 16:32:56 +00007112004-07-12 Hasso Tepper <hasso@estpak.ee>
712
713 * irdp_interface.c: follow common style while naming vty command
714 functions. Avoids confusion in extract.pl.
715
gdt87efd642004-06-30 17:36:11 +00007162004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
717
718 * main.c: define thread_master variable so that linking with
719 libzebra.so doesn't fail. Arguably zclient.o should be in a
720 separate library, but this is far less disruptive.
721
hassoca776982004-06-12 14:33:05 +00007222004-06-12 Robert Olsson <Robert.Olsson at data.slu.se>
723
724 * Added IRDP support.
725
hasso3e31cde2004-05-18 11:58:59 +00007262004-05-18 Hasso Tepper <hasso@estpak.ee>
727
728 * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd
729 prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of
730 "ipv6 nd prefix" command to allow various combinations of parameters
731 and flags. No defaults in configuration. Replaced on-link and
732 autoconfig with off-link and no-autoconfig flags in command syntax.
733 Cosmetic fixes in all commands. Documentation to reflect all changes.
734
paul19877dd2004-05-11 10:49:35 +00007352004-05-11 Paul Jakma <paul@dishone.st>
736
737 * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
paul48a46fa2004-05-11 10:55:22 +0000738 * if_ioctl_solaris.c: Fixup some erroneous privilege changes and
739 add privs.h header.
740 * ioctl_solaris.c: ditto
paulc50ae8b2004-05-11 11:31:07 +0000741 * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6
742 * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while
743 RHS in assignments :)
744 * redistribute.c: (zebra_interface_delete_update) only used
745 if RTM_IFANNOUNCE and NETLINK is available.
746
paulb9df2d22004-05-09 09:09:59 +00007472004-05-09 Paul Jakma <paul@dishone.st>
748
749 * zserv.c: (zsend_route_multipath) Set the nexthop_num
750 field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6.
751 Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds.
752 (zsend_ipv4_add) cruft, deleted.
753 (zsend_ipv4_delete) ditto.
754 (zsend_ipv6_add) ditto.
755 (zsend_ipv6_delete) ditto.
paul44145db2004-05-09 11:00:23 +0000756 * ioctl.c: (if_get_mtu) set mtu6 to mtu
757 * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
758 * rt_netlink.c: (netlink_interface) set mtu6 to mtu
759 (netlink_link_change) ditto
paul66e94882004-05-09 17:19:24 +0000760 * ipforward_solaris.c: fix typo of ND variable.
paul88424682004-05-09 18:21:35 +0000761 * if_ioctl_solaris.c: Add zprivs support.
762 * ioctl_solaris.c: ditto.
paul66e94882004-05-09 17:19:24 +0000763
paulb9df2d22004-05-09 09:09:59 +00007642004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
765
766 * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed
767 into single zsend_route_multipath function.
768 (zsend_interface_{up,down}) collapsed into zsend_interface_update.
769 (zsend_interface_address_{add,delete}) collapsed into
770 zsend_interface_address.
771 (zsend_interface_add) send mtu6.
772 (zsend_interface_delete) ditto.
773 (zebra_write) remove unused function.
774 (various) Apply static qualifier. Add comments.
775 * zserv.h: Definitions changed as per above.
776 * redistribute.c: Changes as per zserv.c.
paul44145db2004-05-09 11:00:23 +0000777 * interface.c: (if_delete_update) only used with HAVE_NETLINK
778 and RTM_IFANNOUNCE.
779 (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
780 (if_dump_vty) print mtu6 if not same as mtu
paul88424682004-05-09 18:21:35 +0000781 * if_ioctl_solaris.c: New file, Solaris interface ioctl methods.
782 * ioctl_solaris.c: New file, Common solaris ioctl methods.
783
hasso34195bf2004-04-06 12:07:06 +00007842004-04-06 Krzysztof Oledzki <oleq@ans.pl>
785
786 * rt_netlink.c: Do not ignore metric when reading kernel routing
787 table on Linux with rt_netlink interface.
788
7892004-03-18 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +0000790
791 * interface.c: Temporary fix for handling secondary addresses
792 with label.
793
hasso55906722004-02-11 22:42:16 +00007942004-02-12 Hasso Tepper <hasso@estpak.ee>
hassof1d92e12004-03-18 15:40:33 +0000795
hasso55906722004-02-11 22:42:16 +0000796 * zserv.c: Added "ipv6 forwarding" command.
797
gdtb27900b2004-01-08 15:44:29 +00007982004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
799
800 * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
801 for reading kernel messages to ensure enough space (necessary on
802 Solaris due to sockaddr_dl being large). Thanks to Sowmini
803 Varadhan for help with this change.
804
gdt9ccabd12004-01-06 18:23:02 +00008052004-01-06 Greg Troxel <gdt@t1.ir.bbn.com>
806
807 * rtadv.c (rtadv_send_packet): Change perror to zlog_err.
808
gdtdbee01f2004-01-06 00:36:51 +00008092004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdt4bfbea82004-01-06 01:13:05 +0000810 * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
811 to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
812 to just the accomodation of broken kernels. Check sockaddr_dl
813 carefully up front, and later assume any non-NULL sdl pointer is
814 valid. Clean up types and variable declarations, and rename
815 WRAPUP to SAROUNDUP to make the name fit the behavior.
816
8172004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
gdtdbee01f2004-01-06 00:36:51 +0000818
819 * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
820 structure, because on Solaris sockaddr_dl is far larger than the
821 base sockaddr structure. (The code had previously been failing to
822 read all the data.)
gdt4bfbea82004-01-06 01:13:05 +0000823
gdtda26e3b2004-01-05 17:20:59 +00008242004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
825
826 * kernel_socket.c (kernel_read): Look up interfaces by index
827 first, so that state changes which do not include a sockaddr_dl
828 now work. Add many sanity checks. In
829 particular, do not assume that a sockaddr_dl follows a message
830 without checking the ifm_addrs flags, and do not trust the length
831 in a sockaddr_dl. Add/clarify many comments.
832
gdt4b5e1352003-12-03 17:54:34 +00008332003-12-03 Greg Troxel <gdt@poblano.ir.bbn.com>
834
835 * rtadv.c: reorder includes to avoid compiler warning (define
836 structs before using them in prototypes)
837
hasso647e4f12003-05-25 11:43:52 +00008382003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>
839
840 * zserv.c: Add "ip forwarding" command.
841
paul445f1432003-05-16 19:00:31 +00008422003-05-16 Gilad Arnold <gilad.arnold@terayon.com>
843
844 * zebra_rib.c: Fix memory leaks for ifname nexthops
845
8462003-04-19 Israel Keys <ikeys@agile.tv>
847
848 * rt_netlink.c: BLOCK on netlink while initialising
849
8502003-02-06 Francois Deppierraz <francois@ctrlaltdel.ch>
851
852 * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
853 it exists.
854
paul718e3742002-12-13 20:15:29 +00008552002-09-28 Akihiro Mizutani <mizutani@net-chef.net>
856
857 * zebra_rib.c (static_add_ipv4): Null0 static route is added.
858
8592002-09-10 Jochen Friedrich <chris+zebra@scram.de>
860
861 * rt_netlink.c: Add check for EAGAIN.
862 * kernel_socket.c: Likewise
863
8642002-06-12 Israel Keys <ikeys@oz.agile.tv>
865
866 * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
867 message so that we get an ACK for successful netlink commands.
868 Change the netlink socket to BLOCKING while we wait for a
869 response; be it an ACK or an NLMSG_ERROR. Change
870 netlink_parse_info to deal with ACK messages.
871
8722001-11-01 Jun-ichiro itojun Hagino <itojun@iijlab.net>
873
874 * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
875 work for ICMPv6 socket.
876
8772001-10-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
878
879 * rib.c (rib_process): Select connected route any case.
880
8812001-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
882
883 * interface.c (no_ip_address_secondary): Add "no" to command.
884
8852001-10-18 NOGUCHI Kay <kay@v6.access.co.jp>
886
887 * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
888 to infinity as the freebsd4.4 workaroud.
889
8902001-08-26 mihail.balikov@interbgc.com
891
892 * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
893 A.B.C.255.
894
8952001-08-22 NOGUCHI Kay <kay@v6.access.co.jp>
896
897 * rtadv.c: Do not send RA to loopback interface.
898
8992001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
900
901 * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
902 route treatment.
903
9042001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
905
906 * zebra-0.92a released.
907
9082001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
909
910 * rib.c: Kernel route is treated as EGP routes in nexthop active
911 check.
912
9132001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
914
915 * zebra-0.92 released.
916
9172001-08-08 "Akihiro Mizutani" <mizutani@dml.com>
918
919 * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
920 show route commands.
921
9222001-07-29 Yon Uriarte <havanna_moon@gmx.net>
923
924 * zserv.c (zsend_ipv4_add_multipath): Add
925 NEXTHOP_TYPE_IPV4_IFINDEX check.
926
9272001-07-29 NOGUCHI Kay <kay@v6.access.co.jp>
928
929 * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
930 autonomous address-configuration flag patch.
931 (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
932 suppress-ra".
933
9342001-07-24 NOGUCHI Kay <kay@v6.access.co.jp>
935
936 * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
937 command.
938
9392001-07-24 Jun-ichiro itojun Hagino <itojun@iijlab.net>
940
941 * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
942 multicast FIB support both IPv4 and IPv6.
943
9442001-07-24 Hal Snyder <hal@vailsys.com>
945
946 * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
947 full list of interfaces on some configurations of OpenBSD.
948
9492001-07-23 NOGUCHI Kay <kay@v6.access.co.jp>
950
951 * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
952 send-ra" bug.
953 (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
954 availability.
955 (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
956 added.
957 (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
958
9592001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
960
961 * ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
962
963 * rt_ioctl.c: Likewise.
964
9652001-07-23 Jun-ichiro itojun Hagino <itojun@iijlab.net>
966
967 * kernel_socket.c (rtm_write): Only set RTF_CLONING when the
968 interface is not p2p.
969
9702001-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
971
972 * ioctl.c (if_prefix_add_ipv6): Fix argument type.
973
9742001-04-06 Toshiaki Takada <takada@zebra.org>
975
976 * zserv.c (zsend_interface_delete): Use client->obuf instead of
977 allocating new stream.
978
9792001-03-10 Kunihiro Ishiguro <kunihiro@zebra.org>
980
981 * rt_netlink.c: Revert RTPROT_BOOT change.
982
9832001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
984
985 * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
986 (netlink_routing_table): Likewise.
987
9882001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
989
990 * zserv.c (zsend_ipv4_add_multipath): Send metric value to
991 protocol daemons.
992
9932001-02-18 Kunihiro Ishiguro <kunihiro@zebra.org>
994
995 * rt_netlink.c (netlink_routing_table): Do not return
996 tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe"
997 <mokeefe@qualcomm.com>.
998
9992001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1000
1001 * if_ioctl.c (interface_list_ioctl): Call if_add_update().
1002 Suggested by: Chris Dunlop <chris@onthe.net.au>.
1003
10042001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1005
1006 * rib.c (nexthop_active_ipv4): When nexthop type is
1007 NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
1008
1009 * zserv.c: Initialize rtm_table_default with 0.
1010
1011 * zebra-0.91 is released.
1012
10132001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1014
1015 * kernel_socket.c (rtm_read): Filter cloned route. Suggested by:
1016 Jun-ichiro itojun Hagino <itojun@iijlab.net>
1017
10182001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1019
1020 * connected.c (connected_up_ipv6): When point-to-point destination
1021 address is ::, use local address for connected network.
1022 (connected_down_ipv6): Likewise.
1023
10242001-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1025
1026 * zserv.c (zebra_serv): Add missing close() call. Reported by:
1027 David Waitzman <djw@vineyard.net>.
1028
10292001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1030
1031 * rib.c (rib_lookup_ipv4): New function for checking exact match
1032 IGP route.
1033
10342001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1035
1036 * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
1037 route-type".
1038
10392001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1040
1041 * interface.c (zebra_interface): Do not call
1042 zebra_interface_add_update for inactive interface.
1043
1044 * zserv.c (zsend_interface_address_add): Send interface address
1045 flag.
1046 (zsend_interface_address_delete): Likewise.
1047
10482001-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1049
1050 * interface.c (if_addr_add): Add flags.
1051
1052 * connected.c (ifa_add_ipv4): Add new function for interface
1053 address handling.
1054 (ifa_delete_ipv4): Likewise.
1055
10562001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1057
1058 * rib.c (rib_update): Update IPv6 RIB.
1059
1060 * kernel_socket.c (ifam_read): Call if_refresh() for update
1061 interface flag status. This is for implicit interface up on *BSD.
1062
1063 * interface.c (if_refresh): Add interface flag refresh function.
1064
1065 * kernel_socket.c (rtm_read): Fetch link-local address interface
1066 index.
1067 (ifan_read): We need to fetch interface information. Suggested
1068 by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
1069
1070 * rib.c (static_ipv6_nexthop_same): Add check for
1071 NEXTHOP_TYPE_IPV6_IFNAME.
1072
10732001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1074
1075 * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are
1076 taken into place.
1077
10782001-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1079
1080 * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
1081 configuration.
1082 (rib_delete_ipv6): Handle same route conter for IPv6 connected
1083 route.
1084 (show_ipv6_route_protocol): New command.
1085 (show_ipv6_route_addr): Likewise.
1086 (show_ipv6_route_prefix): Likewise.
1087 (rib_update): Sweep kernel route when it is cleaned up.
1088
1089 * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
1090 treatmenet.
1091
1092 * rt_netlink.c (kernel_init): Likewise.
1093
1094 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
1095
1096 * rib.c (rib_add_ipv4): Cope with same connected route on a
1097 interface. Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
1098 (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
1099
1100 * rib.h (struct new_rib): Add refcnt to keep track on the
1101 reference of same connected route.
1102
1103 * ioctl.c (if_set_prefix): Add check for GNU_LINUX.
1104
11052001-01-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1106
1107 * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
1108 (rtm_type_str): Add RTM_IFANNOUNCE check.
1109 (ifan_read): New function.
1110 (kernel_read): Add case for RTM_IFANNOUNCE.
1111
11122001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1113
1114 * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
1115
1116 * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
1117 treatment.
1118
1119 * connected.c (connected_up_ipv6): Add dest value check.
1120
1121 * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
1122 ifindex.
1123 (rib_add_ipv4): Import rib_add_ipv6() same route check code.
1124 (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
1125 checked by ifindex.
1126
1127 * rt_socket.c (kernel_rtm_ipv6_multipath): New function.
1128
1129 * redistribute.c (redistribute_add): Use
1130 zsend_ipv6_add_multipath().
1131 (redistribute_delete_multipath): Use
1132 zsend_ipv6_delete_multipath().
1133
1134 * interface.c (ip_address): Check current IP address to avoid
1135 duplicate.
1136
1137 * rib.c (rib_delete_ipv4): When deleted route is connected route,
1138 check ifindex.
1139 (rib_add_ipv4): When connected route is added do not perform
1140 implicit withdraw.
1141 (rib_delete_ipv4): Check ifindex for connected route.
1142
1143 * kernel_socket.c (rtm_read): When route has RTF_STATIC, set
1144 ZEBRA_FLAG_STATIC for indicate as persistent route.
1145 (ifam_read): Unset interface index from link-local address when
1146 IPv6 stack is KAME.
1147
1148 * rib.c (rib_update): Do not delete persistent kernel route.
1149
1150 * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
1151
1152 * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
1153 (kernel_delete_ipv6_multipath): Likewise.
1154
1155 * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
1156
11572001-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1158
1159 * rib.c (rib_update): Revert Matthew Grant's patch
1160 zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel
1161 interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
1162 that. Add support for address deletion situation.
1163
11642001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1165
1166 * interface.c: Remove HAVE_IF_PSEUDO part.
1167
1168 * rib.h: Likewise.
1169
1170 * rt_netlink.c (netlink_link_change): Likewise.
1171
11722001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1173
1174 * zserv.c: Remove OLD_RIB codes.
1175
11762001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1177
1178 * zebra-0.90 is released.
1179
11802001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1181
1182 * interface.c (if_new_intern_ifindex): Allocate a new internal
1183 interface index.
1184 (if_addr_refresh): Fix up ip addresses configured via zebra.
1185 (if_add_update): Handle an interface addition.
1186 (if_delete_update): Handle an interface delete event.
1187
1188 * rib.c (nexthop_ipv4_add): Add kernel route deletion process when
1189 interface goes down.
1190
11912001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1192
1193 * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
1194 NetBSD also use this function. Suggested by Jasper Wallace
1195 <jasper@ivision.co.uk>.
1196
11972001-01-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1198
1199 * rib.c (nexthop_active_ipv4): Move back to set methodo to old
1200 one.
1201
12022001-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1203
1204 * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
1205 flag, so treat it.
1206
12072001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1208
1209 * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
1210 sent from netlink_cmd, the same message comes from netlink. To
1211 avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
1212 instead of netlink_cmd.sock.
1213
12142001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1215
1216 * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
1217 Change "/tmp/zserv" to "/tmp/.zserv".
1218
12192000-12-29 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1220
1221 * rt_netlink.c (struct nlsock): Divide kernel message into listen
1222 socket and command socket.
1223 (netlink_talk): Remove socket listen code. Use netlink_parse_info
1224 for read kernel response.
1225
12262000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1227
1228 * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
1229 routes.
1230
12312000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1232
1233 * rt_netlink.c (netlink_route_multipath): Metric value is
1234 reflected to kernel routing table.
1235
1236 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
1237
1238 * kernel_socket.c (rtm_write): Likewise.
1239
1240 * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
1241 nexthop lookup.
1242
1243 * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
1244 new RIB implementation.
1245
12462000-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1247
1248 * rib.h: Remove MULTIPATH_NUM. It is defined by configure script.
1249
12502000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1251
1252 * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
1253 proper redistribution.
1254
12552000-12-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1256
1257 * rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
1258 (show_ip_route_protocol): Support new RIB.
1259
1260 * rt_netlink.c (netlink_route_change): Do not return when gate is
1261 NULL.
1262
12632000-12-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1264
1265 * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
1266 updated.
1267 (rib_add_ipv4): Free implicit withdraw route's RIB.
1268
12692000-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1270
1271 * rib.c (nexthop_active_ipv4): Check indirect nexthop.
1272
1273 * redistribute.c (redistribute_add_multipath): Redistribution
1274 works with new rib code.
1275
12762000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1277
1278 * rt_netlink.c (netlink_route_multipath): Check useful nexthop
1279 number.
1280 (netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
1281
1282 * rib.c (nexthop_active_update): Set flag for the rib's nexthop
1283 activity is changed.
1284 (nexthop_active_check): Before checking interface is up, make it
1285 sure the interface exist.
1286
12872000-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1288
1289 * rib.c (ip_route): New RIB prototype.
1290
12912000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1292
1293 * zserv.c (zsend_interface_add): Send hardware address when
1294 hw_addr_len is greater than 0.
1295
12962000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1297
1298 * connected.c (connected_up_ipv4): Fix ptop bug. The destination
1299 network should be installed into routing table.
1300 (connected_down_ipv4): Likewise.
1301 (connected_add_ipv4): Change to use connected_up_ipv4.
1302 (connected_delete_ipv4): Likewise.
1303
13042000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1305
1306 * rt_netlink.c (netlink_interface_addr): Revert Harald Welte
1307 <laforge@gnumonks.org>'s ptop patch then back to original code to
1308 avoid duplicated connected route problem. Suggested by Frank van
1309 Maarseveen <F.vanMaarseveen@inter.NL.net>.
1310
1311 * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
1312 DEBUG is defined. Reported by Jun-ichiro itojun Hagino
1313 <itojun@iijlab.net>.
1314
13152000-10-23 Jochen Friedrich <jochen@scram.de>
1316
1317 * main.c (main): Call zebra_snmp_init() when it is enabled.
1318
13192000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1320
1321 * zserv.c (zebra_serv_un): UNIX domain socket server of zebra
1322 protocol.
1323
13242000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1325
1326 * rib.c (rib_add_ipv4): Same check bug is fixed.
1327
13282000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1329
1330 * rib.c (rib_if_down): Remove kernel route when the interface goes
1331 down.
1332
1333 * debug.c: New command "debug zebra kernel" is added.
1334
13352000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1336
1337 * zebra-0.89 is released.
1338
13392000-09-24 Harald Welte <laforge@gnumonks.org>
1340
1341 * rt_netlink.c (netlink_interface_addr): Fix point-to-point address
1342 treatment in netlink interface.
1343
13442000-09-21 David Lipovkov <dlipovkov@OpticalAccess.com>
1345
1346 * rib.c (rib_if_down): Pull static route only. Protocol daemon
1347 must withdraw routes when interface goes down.
1348 (rib_add_ipv4): Check nexthop when replace route.
1349
13502000-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1351
1352 * if_ioctl.c (if_getaddrs): New function for looking up
1353 interface's address by getifaddrs().
1354
13552000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1356
1357 * connected.c (connected_delete_ipv4): Add check for connected
1358 address is found or not.
1359 (connected_add_ipv6): Reflect IPv6 connected address change to
1360 protocol daemons.
1361 (connected_delete_ipv6): Likewise.
1362
13632000-09-07 David Lipovkov <davidl@nbase.co.il>
1364
1365 * rib.c (rib_delete_ipv4): Reverted the change from pseudo
1366 interface patch to original. Because ospfd deletes routes using
1367 zero ifindex.
1368
13692000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1370
1371 * zebra-0.88 is released.
1372
13732000-08-15 "Akihiro Mizutani" <mizutani@dml.com>
1374
1375 * rib.c (show_ip_route_protocol): Help string correction.
1376 (show_ip_route_prefix): Check prefix mask.
1377 (show_ip_route_vty_detail): Display distance and metric.
1378
13792000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1380
1381 * zserv.c (zsend_interface_add): Change ifindex store size from
1382 two octet to four.
1383 (zsend_interface_delete): Likewise.
1384 (zsend_interface_address_add): Likewise.
1385 (zsend_interface_address_delete): Likewise.
1386 (zsend_interface_up): Likewise.
1387 (zsend_interface_down): Likewise.
1388
13892000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1390
1391 * rib.c (rib_add_ipv4): Do not install distance 255 route.
1392
13932000-08-10 Toshiaki Takada <takada@zebra.org>
1394
1395 * interface.c (bandwidth_if), (no_bandwidth_if): Call
1396 zebra_interface_up_update () instead of using if_up() and if_down().
1397
13982000-08-07 "Akihiro Mizutani" <mizutani@dml.com>
1399
1400 * interface.c (bandwidth_if): Fix help string.
1401
14022000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1403
1404 * interface.c (if_dump_vty): Display bandwidth value.
1405 (bandwidth_if): New command "bandwidth <1-10000000>" is added.
1406 When interface is up, force protocol daemons to recalculate routes
1407 due to cost change.
1408 (no_bandwidth_if): Likewise.
1409 (if_config_write): Output bandwidth configuration.
1410
1411 * zserv.c (zsend_interface_add): Send bandwidth value.
1412 (zsend_interface_up): Likewise.
1413 (zsend_interface_down): Likewise.
1414
1415
14162000-08-07 Michael Rozhavsky <mike@nbase.co.il>
1417
1418 * rib.c (show_ip_route_protocol): "show ip route
1419 (bgp|connected|kernel|ospf|rip|static)" is added.
1420
14212000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1422
1423 * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
1424 nexthop is found.
1425 (rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
1426
14272000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1428
1429 * redistribute.c (redistribute_delete): Fix bug of default route
1430 redistribute treatment.
1431
14322000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1433
1434 * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
1435 Change default distance value.
1436
1437 Old New
1438 ------------------------------------------
1439 system 10 0
1440 kernel 20 0
1441 connected 30 0
1442 static 40 1
1443 rip 50 120
1444 ripng 50 120
1445 ospf 60 110
1446 ospf6 49 110
1447 bgp 70 200(iBGP) 20(eBGP)
1448 ------------------------------------------
1449
1450 * zserv.c (client_lookup): Function removed.
1451 (zsend_interface_add): Use client's output buffer. Check ifinfo
1452 flag.
1453 (zsend_interface_delete): Likewise.
1454 Delete ipv4_static_radix and ipv6_static_radix.
1455
14562000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1457
1458 * zserv.h (struct zebra_client): When client request interface
1459 information, ifinfo is set.
1460
1461 * rib.c: Temporary Revert changes for pseudo interface.
1462
1463 * rib.h: Likewise.
1464
1465 * zserv.c: Likewise.
1466
1467 * interface.c: Likewise.
1468
14692000-08-02 David Lipovkov <davidl@nbase.co.il>
1470
1471 * interface.c (zebra_if_init): Install interface "pseudo"
1472 commands.
1473
1474 * rib.c (rib_create): ifname argument is added.
1475 (rib_add_ipv4_pseudo): New function is added.
1476 (rib_delete_ipv4_pseudo): Likewise.
1477
1478 * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for
1479 pseudo interface functions.
1480
1481 * rt_netlink.c (netlink_link_change): Check for pseudo interface.
1482
1483 * zserv.c (ip_route): When destination is pseudo interface, call
1484 rib_add_ipv4_pseudo().
1485
1486 * zserv.c (no_ip_route): Trim "unknown" argument.
1487
14882000-07-26 kunitake@dti.ad.jp
1489
1490 * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
1491 to 6.
1492
1493 * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
1494
14952000-07-24 Akihiro Mizutani <mizutani@dml.com>
1496
1497 * interface.c: Use install_default() for common VTY commands.
1498
14992000-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1500
1501 * if_ioctl.c (interface_list_ioctl): A interface list size is
1502 calculated from ifreq->if_addr.sa_len. This is for OpenBSD.
1503
1504 * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
1505
15062000-07-09 Chris Dunlop <chris@onthe.net.au>
1507
1508 * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
1509
15102000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1511
1512 * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
1513 message handling.
1514
15152000-07-02 David Lipovkov <davidl@nbase.co.il>
1516
1517 * zserv.c: "ip route A.B.C.D/M unknown" command is added.
1518
15192000-06-28 Michael Rozhavsky <mike@nbase.co.il>
1520
1521 * rib.c: Remove old kernel route when new route comes in.
1522
15232000-06-13 David Lipovkov <davidl@nbase.co.il>
1524
1525 * rib.c (rib_if_up): Add check for unknown interface.
1526
15272000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1528
1529 * rib.h: Define INTERFACE_UNKNOWN.
1530
15312000-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1532
1533 * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
1534 finished.
1535
15362000-06-05 David Lipovkov <davidl@nbase.co.il>
1537
1538 * interface.c (if_zebra_delete_hook): Call rib_if_delete().
1539
1540 * redistribute.c (zebra_interface_delete_update): New function.
1541
1542 * redistribute.h (zebra_interface_delete_update): New function
1543 prototype.
1544
1545 * rib.c (rib_if_delete): New function. Walk down all routes and
1546 delete all on the interface.
1547
1548 * rib.h: New function prototype.
1549
1550 * rt_netlink.c (netlink_link_change): Call
1551 zebra_interface_delete_update ().
1552
15532000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1554
1555 * if_ioctl.c (interface_info_ioctl): Check interface's flag before
1556 checking interface's address.
1557
15582000-04-26 Jochen Friedrich <jochen@nwe.de>
1559
1560 * GNOME-PRODUCT-ZEBRA-MIB: New file.
1561
1562 * GNOME-SMI: New file.
1563
15642000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1565
1566 * irdp.c: New file from 1997 development code.
1567 * irdp.h: Likewise.
1568
15692000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1570
1571 * rtadv.c (rtadv_send_packet): Enclose router advertisement
1572 logging with IS_ZEBRA_DEBUG_PACKET.
1573
15742000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1575
1576 * zserv.c (zebra_client_close): Remove client structure from
1577 client_list when connection is terminated.
1578
15792000-03-21 David Lipovkov <davidl@nbase.co.il>
1580
1581 * connected.c (connected_add_ipv4): Allows all necessary structure
1582 updates for connected route, but doesn't insert it into rib if
1583 it's interface is down.
1584
15852000-01-21 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1586
1587 * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
1588 2.5.1.
1589
15902000-01-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1591
1592 * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
1593 from str2prefix_ipv6().
1594
15952000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1596
1597 * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
1598 IPv6 with /128 routes.
1599 (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
1600 should have mask for cloning.
1601
16021999-12-26 Jochen.Friedrich@genorz.de
1603
1604 * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
1605
16061999-12-23 Alex Zinin <zinin@amt.ru>
1607 * interface.*: dynamic int up/down support
1608
16091999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1610
1611 * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
1612
1613 * rtread_proc.c (proc_route_read): Don't use dropline().
1614
16151999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1616
1617 * kernel_socket.c (rtm_read): When message is RTM_GET, it has own
1618 process's pid.
1619
16201999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1621
1622 * main.c (main): Change to default log output to ZLOG_STDOUT.
1623
1624 * zserv.c (zebra_serv): More detailed error print.
1625
16261999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1627
1628 * kernel_socket.c (rtm_read): Check old pid for static route
1629 insertion check.
1630
16311999-11-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1632
1633 * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
1634 statistics counter.
1635
1636 * mtu_kvm.c: New file added.
1637
16381999-11-27 Vladimir B. Grebenschikov <vova@express.ru>
1639
1640 * kernel_socket.c (rtm_write): Set RTF_CLONING flag for
1641 route to the directly connected interface.
1642
16431999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1644
1645 * rt_socket.c: Delete USE_HOST_BIT definition.
1646
16471999-11-21 Michael Handler <handler@sub-rosa.com>
1648
1649 * rtread_getmsg.c: Undef some definition to resolve conflict.
1650
16511999-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1652
1653 * kernel_socket.c (rtm_write): Change to use pre stored struct_dl
1654 value for gateway specification.
1655
16561999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1657
1658 * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
1659 128 under IPv6, don't use RTF_HOST.
1660
16611999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1662
1663 * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
1664
16651999-11-21 Michael Handler <handler@sub-rosa.com>
1666
1667 * rtread_getmsg.c: Added for Solaris 2.6 support.
1668
16691999-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1670
1671 * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
1672
1673 * rt_socket.c (kernel_read): Better BSD routing socket support.
1674
16751999-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1676
1677 * client_main.c: Disable making obsolete zebra test `client'
1678 command.
1679
16801999-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1681
1682 * zebra.c: Renamed to zserv.c.
1683
1684 * zebra.h: Global definitions are moved to lib/zebra.h. Then
1685 renamed to zserv.h.
1686
16871999-10-15 Jordan Mendelson <jordy@wserv.com>
1688
1689 * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
1690 interface. Remove ugly MAX_INTERFACE handling codes.
1691
16921999-09-17 Satosi KOBAYASI <kobayasi@north.ad.jp>
1693
1694 * Fix serious bug of IPv6 route deletion.
1695
16961999-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1697
1698 * ioctl.c (if_set_prefix): Properly set broadcast address.
1699
17001999-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1701
1702 * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
1703 can install connected route to kernel via zebra
1704
17051999-08-24 VOP <vop@unity.net>
1706
1707 * rib.c: Include "sockunion.h"
1708
17091999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1710
1711 * ipforward.h: New file.
1712
1713 * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
1714 ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
1715
17161999-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1717
1718 * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
1719 ZEBRA_INTERFACE_{ADD,DELETE} added.
1720
17211999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1722
1723 * rib.c: show ip route A.B.C.D works.
1724
1725 * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
1726
17271999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1728
1729 * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
1730
17311999-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1732
1733 * interface.h: New file.
1734 * Makefile.am: Add interface.h
1735
17361999-08-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1737
1738 * redistribute.c (zebra_redistribute): give ifindex to client.
1739
17401999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1741
1742 * main.c (longopts): -k, --keep_kernel option added.
1743
17441999-07-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1745
1746 * rt_socket.c (rtm_write): forgot closing socket bug fixed.
1747
17481999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1749
1750 * rib.c (show_ipv6_cmd): if rib is link show interface name.
1751
17521999-07-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1753
1754 * rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
1755
17561999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1757
1758 * rt_socket.c (rtm_write): ipv6 route table bug fixed.
1759
17601999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1761
1762 * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
1763
17641999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1765
1766 * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
1767
17681999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1769
1770 * if_sysctl.c (ifm_read): Clear sockunion argument before fetching
1771 data. Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
1772
17731999-07-08 HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
1774
1775 * interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
1776
17771999-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1778
1779 * zebra.c (zebra_serv): Only accept loopback address connection.
1780
17811999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1782
1783 * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
1784
17851999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1786
1787 * ipforward_proc.c: ipforward_on () and ipforward_off () added.
1788
17891999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1790
1791 * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
1792 using /proc file system is added.
1793
17941999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1795
1796 * if_ioctl.c (if_get_index): Interface index set bug is fixed by
1797 adding #else at the middle of function. Suggested by David Luyer
1798 <luyer@ucs.uwa.edu.au>.
1799
18001999-05-29 <kunihiro@zebra.org>
1801
1802 * rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
1803
18041999-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1805
1806 * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
1807 the sort of routes.
1808
18091999-05-25 Patrick Koppen <koppen@rhrk.uni-kl.de>
1810
1811 * rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
1812 (netlink_parse_info): If errno is EWOULDBLOCK then continue to
1813 parse the message.
1814 (netlink_talk): Likewise
1815
18161999-05-17 <kunihiro@zebra.org>
1817
1818 * redistribute.c (zebra_check_addr): Added for loopback address
1819 check.
1820
18211999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1822
1823 * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
1824 change treatment.
1825
1826 * Makefile.am (noinst_HEADERS): redistribute.h added.
1827
1828 * redistribute.h: New file.
1829
18301999-05-14 Stephen R. van den Berg <srb@cuci.nl>
1831
1832 * zebra.c (show_table): Show all table configuration DEFUN.
1833 (config_table): Config table number DEFUN.
1834
1835 * rt_netlink.c: Add support for multiple routing table.
1836
1837 * rib.c (rib_weed_table): New function added for delete all
1838 routes from specified routing table.
1839
1840 * main.c (signal_init): SIGTERM call sigint.
1841 (sigint): Loggging more better message.
1842
18431999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1844
1845 * rt_netlink.c: Change log () to zlog ().
1846
18471999-05-07 <kunihiro@zebra.org>
1848
1849 * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
1850
18511999-04-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1852
1853 * interface.c: Add `no ip address' command.
1854
18551999-04-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1856
1857 * rt_netlink.c (kernel_read): Function added for asynchronous
1858 zebra between kernel communication.
1859
18601999-03-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1861
1862 * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
1863 Reported by Achim Patzner <ap@bnc.net>.
1864
18651999-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1866
1867 * Makefile.am: Install configuration sample with 600 permission.
1868
18691999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1870
1871 * Makefile.am: Add -I.. to INCLUDES.
1872
18731999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
1874
1875 * syslog support added
1876
18771999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
1878
1879 * if_sysctl.c (interface_list): allocated memory free when unknown
1880 ifm_type is returned.
1881
1882 * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
1883
18841998-12-15 Magnus Ahltorp <map@stacken.kth.se>
1885
1886 * interface.c: Header include added.
1887
18881998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1889
1890 * rt.h (kernel_delete_ipv6): change int index to unsigned int index.
1891
18921998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1893
1894 * if_ioctl.c (interface_list_ioctl): interface flag must be
1895 checked before check addresses of the interface.
1896
18971998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1898
1899 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
1900
19011998-10-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1902
1903 * ioctl.c: Linux version before 2.1.0 need interface route setup.
1904
19051998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
1906
1907 * change HYDRANGEA to KAME
1908
19091998-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1910
1911 * if_ioctl.c (if_addr_ioctl): set address family for getting
1912 interface's address.
1913 (if_get_index): silently return when can't get interface's index.
1914
19151998-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1916
1917 * main.c (main): batch mode option '-b' added.
1918
19191998-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1920
1921 * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
1922 * interface.c (shutdown_if): add interface shutdown and no
1923 shutdown command.
1924
19251998-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1926
1927 * rib.c (rib_add_ipv6): delete rib_add_in6.
1928
19291998-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1930
1931 * main.c: retain flag is added.
1932
19331998-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1934
1935 * rtable.[ch]: merged with rib.[ch]
1936
19371998-07-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1938
1939 * connected.h: renamed from ifa.h.
1940
19411998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1942
1943 * rename if.c to interface.c
1944 * rename ifa.c to connected.c
1945
1946 * Porting to Debian GNU/Linux 2.0 (hamm).
1947
19481998-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1949
1950 * rt_netlink.c: renamed from krt_netlink.c
1951
1952 * fib.c: deleted.
1953 * rt_kvm.c: deleted.
1954 * rtread_getmsg.c: deleted.
1955
19561998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1957
1958 * if.c (multicast): add multicast flag [un]set fucntion.
1959
19601998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
1961
1962 * rt_socket.c: Modify for compile on Solaris, but dont't work it.
1963 rt_socket.c have some undefined function, so add directive "IMPLEMENT"
1964
19651998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
1966
1967 * zebra.c: Modify for compile on Solaris.
1968
19691998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1970
1971 * main.c: change CONFDIR to SYSCONFDIR.
1972
19731998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1974
1975 * .cvsignore: added.
1976
19771998-04-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1978
1979 * client.c: moves to ../lib.
1980
19811998-03-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1982
1983 * if_ioctl.c (if_get_addr): Change address copy from memcopy() to
1984 structure assignment.
1985
19861998-03-30 URA Hiroshi <ura@yamato.ibm.co.jp>
1987
1988 * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
1989
19901998-02-23 "Hannes R. Boehm" <hannes@boehm.org>
1991
1992 * if.c (if_init): add config_exit_cmd and config_help_cmd.
1993
19941998-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1995
1996 * rt_ioctl.c (route_ioctl): EPERM treatment added.
1997
19981998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1999
2000 * rt_socket.c (kernel_read): communication port zebra between
2001 kernel is now handled by kernel_read.
2002
20031998-01-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2004
2005 * main.c (main): zebra [-P port] can specify vty port number.
2006
20071997-12-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2008
2009 * zebra.c: change select will be block.
2010
20111997-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2012
2013 * add static route treatment.
2014
20151997-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2016
2017 * rt_netlink.c: add netlink support over GNU/Linux system.
2018
20191997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2020
2021 * all inet_addr is changed to inet_aton.
2022
2023 * zebra.c (ip_route): add ip route command for static routes.
2024
20251997-11-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2026
2027 * if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
2028
20291997-11-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2030
2031 * if.c: add interface command.
2032
20331997-11-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2034
2035 * ipforward_proc.c : Now works on Linux.
2036
20371997-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2038
2039 * command.c : add completion feature.
2040
20411997-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2042
2043 * vty.c (vty_command): add vty interface.
2044
20451997-10-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2046
2047 * zebra.c: add verbose mode.
2048
20491997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
2050
2051 * Hydrangea for FreeBSD supported
2052 * in.h: add some prototype.
2053
20541997-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2055
2056 * rt_socket.c and rtread.c completely rewritten.
2057
20581997-10-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2059
2060 * rt_socket.c: rename kernel_sock to routing_socket
2061
20621997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2063
2064 * if.c (if_new): interface structure change from linklist to vector.
2065
20661997-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2067
2068 * vector.c (vector_init): create vector related function
2069
20701997-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2071
2072 * Makefile.in: add tags target
2073
2074 * start IPv6 support for INRIA FreeBSD.
2075