]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
19 years ago * ospfd.h: Include log.h, fixes compile with gcc-4.0.
hasso [Fri, 25 Mar 2005 19:48:40 +0000 (19:48 +0000)]
* ospfd.h: Include log.h, fixes compile with gcc-4.0.

[backport candidate]

19 years ago2005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
vincent [Fri, 25 Mar 2005 13:08:53 +0000 (13:08 +0000)]
2005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
* interface.c, interface.h, rtadv.c, rtadv.h: extensions to Neighbor
  discovery for Mobile IPv6.

19 years ago2005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
vincent [Fri, 25 Mar 2005 13:05:47 +0000 (13:05 +0000)]
2005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
* Extensions to Neighbor Discovery for Mobile IPv6

19 years ago * bgp_route.c: Don't crash while clearing route tables if there is
hasso [Mon, 21 Mar 2005 10:28:14 +0000 (10:28 +0000)]
    * bgp_route.c: Don't crash while clearing route tables if there is
          no particular afi/safi configured.

[backport candidate]

19 years ago2005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 16 Mar 2005 16:13:06 +0000 (16:13 +0000)]
2005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* zebra.h: Must check whether __attribute__ should be defined before
  including zassert.h.

[backport candidate]

19 years ago2005-03-14 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 14 Mar 2005 20:19:01 +0000 (20:19 +0000)]
2005-03-14 Paul Jakma <paul.jakma@sun.com>

* (global) update all c files to match the lib/vector.h rename of
  (struct vector).active to max, and vector_max macro to
  vector_active.
* lib/vector.h: Rename to (struct vector).max to slightly less
  confusing active, for the number of active slots, distinct from
  allocated or active-and-not-empty. Rename vector_max to
  vector_active for same reason.

19 years ago2005-03-14 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 14 Mar 2005 17:41:45 +0000 (17:41 +0000)]
2005-03-14 Paul Jakma <paul.jakma@sun.com>

* command.c: (various) Fix indentation and other whitespace.

19 years ago2005-03-14 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 14 Mar 2005 17:35:52 +0000 (17:35 +0000)]
2005-03-14 Paul Jakma <paul.jakma@sun.com>

* command.c: (sort_node) use vector_max instead of referencing
  (struct vector *)->max directly. Test that vector_max is > 0
  before using it to calculate an index.
  Fixup vector loop to make main body conditional on vector slot
  not being empty.
  (cmd_cmdsize) Fixup vector loop to make main body conditional on
  vector slot not being empty.
  (cmd_filter_by_completion) ditto
  (cmd_filter_by_string) ditto
  (is_cmd_ambiguous) ditto
  (cmd_describe_command_real) Change index integers to unsigned.
  Test that vector_max is > 0 before using it to calculate an index.
  Return immediately with CMD_ERR_NO_MATCH if vline has no
  active slots.
  Fixup vector loop to make main body conditional on vector slot
  not being empty.
  (cmd_complete_command_real) ditto.
  (cmd_execute_command_strict) Fixup vector loop to be conditional
  on non-null slot.

19 years ago2005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sun, 13 Mar 2005 19:27:22 +0000 (19:27 +0000)]
2005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
  backward, then current time may be less than
  ospf->lsa_refresher_started.  This was causing invalid values
  for ospf->lsa_refresh_queue.index resulting in infinite loops.
  Problem fixed by casting the expression to unsigned before taking
  the modulus.

[backport candidate]

19 years ago * zebra/interaface.c: "show interface description" command
hasso [Sun, 13 Mar 2005 19:17:21 +0000 (19:17 +0000)]
* zebra/interaface.c: "show interface description" command
  implemented.

19 years ago2005-03-12 Paul Jakma <paul.jakma@sun.com>
paul [Sat, 12 Mar 2005 06:36:10 +0000 (06:36 +0000)]
2005-03-12 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Solaris 8 can use the newer lifreq based methods
  too, allows IPv6.

19 years ago2005-03-12 Paul Jakma <paul@dishone.st>
paul [Sat, 12 Mar 2005 06:33:14 +0000 (06:33 +0000)]
2005-03-12 Paul Jakma <paul@dishone.st>

* rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
  No stock Linux kernel has ever supported it, and even if it had

19 years ago2005-03-09 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 9 Mar 2005 13:42:23 +0000 (13:42 +0000)]
2005-03-09 Paul Jakma <paul.jakma@sun.com>

* command.c: (config_list_cmd) Don't list hidden or deprecated
  commands, hiding these from tab completion is still to be done.

19 years ago2005-03-09 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 9 Mar 2005 13:39:26 +0000 (13:39 +0000)]
2005-03-09 Paul Jakma <paul.jakma@sun.com>

* command.c: Undo commit of sign warning fix and hidden command
  in list_cmd. Sign warning is more subtle. list_cmd on its own
  will be committed after.

19 years ago * vtysh_config.c: Move password commands to the AAA_NODE. It
hasso [Wed, 9 Mar 2005 12:41:14 +0000 (12:41 +0000)]
* vtysh_config.c: Move password commands to the AAA_NODE. It
  quarantees that they will appear after SERVICE_NODE to make sure
  that encrypted passwords will work ("service password-encryption"
  command).

[backport candidate]

19 years ago2005-03-08 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 8 Mar 2005 16:00:12 +0000 (16:00 +0000)]
2005-03-08 Paul Jakma <paul.jakma@sun.com>

* command.c: (no_banner_motd_cmd) use XFREE.
* vty.c: (vty_hello) fix the indentation and comment.

19 years ago2005-03-08 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 8 Mar 2005 15:56:42 +0000 (15:56 +0000)]
2005-03-08 Paul Jakma <paul.jakma@sun.com>

* command.c: (cmd_describe_command_real) sign compile warning fix
  (cmd_complete_command_real) ditto.
  (config_list_cmd) Don't list hidden or deprecated commands,
  hiding these from tab completion is still to be done.
* command.h: cmd attr enum should start at 1.

19 years ago2005-03-08 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 8 Mar 2005 15:16:57 +0000 (15:16 +0000)]
2005-03-08 Paul Jakma <paul.jakma@sun.com>

* command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE
* vty.c: (vty_hello) suggestions from Andrew, read by line and
  stub out trailling non-printable characters on each line thus
  allowing us to specify VTY_NEWLINE to vty_out.

19 years ago2005-03-08 Jeroen Massar <jeroen@unfix.org>
paul [Tue, 8 Mar 2005 10:43:43 +0000 (10:43 +0000)]
2005-03-08 Jeroen Massar <jeroen@unfix.org>

* vty.c: (vty_hello) display motd file, if set
* command.h: add char *motdfile to struct host
* command.c: (config_write_host) write out motdfile config
  (banner_motd_file_cmd) new command, allow motd to be read from
  file.
  (no_banner_motd_cmd) free motdfile string, if needs be.
  (cmd_init) init (struct host).motdfile. Add new motd file
  commands.

19 years ago * isis_spf.c: host.name might be NULL.
hasso [Mon, 7 Mar 2005 08:54:41 +0000 (08:54 +0000)]
* isis_spf.c: host.name might be NULL.

[backport candidate]

19 years ago * command.c: host.name might be NULL.
hasso [Mon, 7 Mar 2005 08:35:39 +0000 (08:35 +0000)]
* command.c: host.name might be NULL.
* vty.c: Fix fd leak.

[backport candidate]

19 years ago * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.
hasso [Mon, 7 Mar 2005 08:19:44 +0000 (08:19 +0000)]
 * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.

 [backport candidate]

19 years ago * interface.c: Fix CRC and frame errors statistics in Linux.
hasso [Sun, 6 Mar 2005 13:42:05 +0000 (13:42 +0000)]
* interface.c: Fix CRC and frame errors statistics in Linux.

19 years agoFix segfault when ospf6_create() is not called yet.
jardin [Wed, 2 Mar 2005 22:43:26 +0000 (22:43 +0000)]
Fix segfault when ospf6_create() is not called yet.
Thanks to Mohit Thakur.

19 years ago2005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Mon, 28 Feb 2005 20:52:15 +0000 (20:52 +0000)]
2005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* zserv.c: Must include network.h and buffer.h for non-blocking I/O.
  Remove global message_queue and t_write (need separate buffering for
  each client).
  (zebra_server_dequeue,zebra_server_enqueue) Remove functions
  related to old buggy buffering code.
  (zserv_delayed_close) New thread callback function to delete a client.
  (zserv_flush_data) New thread callback function to flush buffered
  data to client.
  (zebra_server_send_message) Rewritten to use buffer_write (so
  buffering of writes and non-blocking I/O work properly).
  (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
  zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
  (this is not really an error).  Return value from
  zebra_server_send_message.
  (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
  zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
  (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
  from zebra_server_send_message.
  (zsend_router_id_update) Must use zebra_server_send_message instead
  of deprecated writen function.  Return 0 instead of -1 if this client
  is not subscribed to router-id updates (since this is not really
  an error).
  (zread_interface_add) Change type to static int.  If
  zsend_interface_add fails or zsend_interface_address fails, return -1
  immediately (since the client has had an I/O error).
  (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
  zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
  to indicate success.
  (zread_ipv4_nexthop_lookup) Return value from
  zsend_ipv4_nexthop_lookup.
  (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
  (zebra_read_ipv6) Remove unused function.
  (zread_ipv6_nexthop_lookup) Return value from
  zsend_ipv6_nexthop_lookup.
  (zread_router_id_add) Return value from zsend_router_id_update.
  (zebra_client_close) Call buffer_free(client->wb) and
  thread_cancel(client->t_suicide).
  (zebra_client_create) Allocate client->wb using buffer_new.
  (zebra_client_read) Support non-blocking I/O by using stream_read_try.
  Use ZEBRA_HEADER_SIZE instead of 3.
  (zebra_accept) Fix bug: reset accept thread at top.  Make client
  socket non-blocking using the set_nonblocking function.
  (config_write_forwarding) Fix scope to static.
  (zebra_init) Remove initialization code for old buggy write buffering.
* zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
  (to enable buffered writes with non-blocking I/), and
  struct thread *t_suicide to support delayed close on I/O
  errors.
* router-id.h: Remove prototypes for zread_router_id_add and
  zread_router_id_delete (their scope should be static to zserv.c).

19 years ago2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 24 Feb 2005 16:06:33 +0000 (16:06 +0000)]
2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* redistribute.c: (zebra_check_addr,is_default,
  zebra_redistribute_default,zebra_redistribute) Fix scope to be static.

19 years ago2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 24 Feb 2005 16:02:53 +0000 (16:02 +0000)]
2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* stream.c: (stream_read_try) Log a warning message if a fatal
  I/O error occurs.
  (stream_fifo_new) Fix prototype.
* stream.h: Fix prototype for stream_fifo_new (need void arg).

19 years agoadd release procedure, noting redhat spec oddness
gdt [Wed, 23 Feb 2005 16:20:07 +0000 (16:20 +0000)]
add release procedure, noting redhat spec oddness

19 years ago2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 23 Feb 2005 15:48:32 +0000 (15:48 +0000)]
2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
* isis_main.c: (reload) Call vty_reset instead of vty_finish (both
  functions were exactly the same).

19 years ago2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 23 Feb 2005 15:43:01 +0000 (15:43 +0000)]
2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospfd.h: Add new field struct stream *ibuf to struct ospf.
* ospfd.c: (ospf_new) Check return code from ospf_sock_init.
  Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
  (ospf_finish) Call stream_free(ospf->ibuf.
* ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
  pass it to ospf_recv_packet for use in receiving the packet
  (instead of allocating a new stream for each packet received).
  Eliminate all calls to stream_free(ibuf).
  (ospf_recv_packet) The struct stream *ibuf is now passed in as
  an argument.  No need to use recvfrom to peek at the packet
  header (to see how big it is), just use ospf->ibuf which is
  always large enough (this eliminates a system call to recvfrom).
  Therefore, no need to allocate a stream just for this packet,
  and no need to free it when done.

19 years ago2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 23 Feb 2005 15:12:34 +0000 (15:12 +0000)]
2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* buffer.h: Make the struct buffer and struct buffer_data structures
  private by moving them inside buffer.c.  Add comments for all
  functions.  Rename buffer_write as buffer_put (to be more consistent
  with the buffer_putc and buffer_putstr functions).  Declare a new
  buffer_write function that is used to write data to a file descriptor
  and/or add it to the buffer queue.  Remove unused function
  buffer_flush_vty_all.  Create a new enum typedef buffer_status_t
  to be used as the return code for all buffer_flush* functions
  and buffer_write.
* buffer.c: The struct buffer and struct buffer_data declarations
  are now private to this file.  In conjunction with that, remove
  some unnecessary fields: struct buffer (alloc, unused_head,
  unused_tail, length), struct buffer_data (prev).
  (buffer_data_new) Removed: functionality incorporated into buffer_add.
  (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead.
  (buffer_new) Use calloc instead of malloc + memset(zero).
  Supply an appropriate default size if the specified size is 0.
  (buffer_free) Eliminate code duplication by calling buffer_reset to
  free the contents of the buffer (and remove unused code related
  to unused_head).
  (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more
  compact).
  (buffer_reset) Use macro BUFFER_DATA_FREE.  No need to set
  alloc and length to 0 (these fields have been removed).
  (buffer_add) Fix scope to be static.  Call XMALLOC directly instead
  of calling removed buffer_data_new function.  Simplify the logic
  (since it's now a singly-linked list instead of doubly-linked).
  (buffer_write) Renamed to buffer_put.  Change to void, since return
  code of 1 was meaningless.  No need to adjust length field, since
  it has been removed.
  (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty)
  Remove unused functions.
  (buffer_flush_all) Rewrite using buffer_flush_available to eliminate
  a possible failure mode if IOV_MAX is less than the number of buffers
  on the queue.
  (buffer_flush_window) Incorporate logic from buffer_flush_vty.
  Log an error message if there is a writev error.
  (buffer_flush_available) Be more paranoid: check for case where
  buffer is already empty.  Use new ERRNO_IO_RETRY macro, and use
  new enum for return codes.  Simplify deletion logic (since it's
  now a singly-linked list).
  (buffer_write) New function for use with non-blocking I/O.
* vty.h: Replace the struct vty sb_buffer field with a fixed-size
  (5-character) sb_buf field and an sb_len field, since using
  a struct buffer was inappropriate for this task.  Add some useful
  comments about telnet window size negotiation.
* vty.c: Include <arpa/telnet.h> (no longer included by zebra.h).
  Remove VTY_OBUF_SIZE (instead use buffer_new default size).
  Make telnet_backward_char and telnet_space_char static const.
  (vty_out) Replace buffer_write with buffer_put.
  (vty_log_out) Check for I/O errors.  If fatal, close the vty session.
  Consolidate 3 separate writes into a single write call.
  (vty_will_echo,vty_command,vty_next_line,vty_previous_line,
  vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo,
  vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout,
  vty_config_write,vty_save_cwd) Fix scope to static.
  (vty_new) Let buffer_new use its default buffer size.
  (vty_write) Fix signature: 2nd arg should be const char *.
  Replaced buffer_write with buffer_put.
  (vty_telnet_option) Fix minor bug (window height or width greater than
  255 was broken).  Use sb_buf and sb_len instead of removed sb_buffer
  (which was being used improperly).
  (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal.
  If the error is fatal, call buffer_reset so vty_close does not attempt
  to flush the data.  Use new sb_buf and sb_len instead of sb_buffer
  to store the SB negotiation string.
  (vty_flush) When vty->lines is 0, call buffer_flush_available instead
  of buffer_flush_window.  Look at the return code from buffer_flush
  to detect I/O errors (and in that case, log an error message and
  close the vty).
  (vty_create) Fix scope to static.  Initialize sb_len to 0 instead
  of creating sb_buffer.
  (vty_accept) Set socket nonblocking.
  (vtysh_accept) Use new set_nonblocking function instead of calling
  fcntl directly.
  (vtysh_flush) New function called from vtysh_read (after command
  execution) and from vtysh_write.  This flushes the buffer
  and reacts appropriately to the return code (by closing the vty
  or scheduling further flushes).
  (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY.
  If not, just try again later.  Otherwise, call buffer_reset before
  calling vty_close (to avoid trying to flush the buffer in vty_close).
  Fix logic to allow case where a command does not arrive atomically
  in a single read call by checking for the terminating NUL char.
  (vtysh_write) Use new vtysh_flush helper function.
  (vty_close) No need to call buffer_empty, just call buffer_flush_all
  in any case (it will check whether the buffer is empty).
  Do not free sb_buffer (since it has been removed).
  (vty_log_fixed) Use writev instead of write.
* zebra.h: Do not include <arpa/telnet.h>, since this is used only
  by lib/vty.c.

19 years ago * bgp_route.c: Make reannouncing prefixes with changed attributes
hasso [Wed, 23 Feb 2005 14:27:24 +0000 (14:27 +0000)]
* bgp_route.c: Make reannouncing prefixes with changed attributes
  work again.

19 years agoAdded -p to the recommended diff flags.
hasso [Wed, 23 Feb 2005 11:54:12 +0000 (11:54 +0000)]
Added -p to the recommended diff flags.

19 years ago * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
hasso [Wed, 23 Feb 2005 11:29:02 +0000 (11:29 +0000)]
* ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
* ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
* ospf_spf.h: Add link to the LSA stat structure into vertex.
* ospf_spf.c: New functions cmp() and update_stat() to manage
  candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
  ospf_install_candidate() and ospf_spf_register() functions not needed
  any more. Update ospf_vertex_new(), ospf_spf_next() and
  ospf_spf_calculate() functions to use pqueue instead of linked list.

19 years ago * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
hasso [Mon, 21 Feb 2005 18:17:52 +0000 (18:17 +0000)]
* pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
  will allow to update node when:
  i) a node is inserted into the priority queue;
  ii) a node position is modified in the priority queue;
* pqueue.h: Export trickle_down() function.

19 years ago * ospf_ase.c: Don't show messages related to the ase calculations if
hasso [Mon, 21 Feb 2005 14:58:42 +0000 (14:58 +0000)]
* ospf_ase.c: Don't show messages related to the ase calculations if
  we are not debugging.

19 years ago * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
hasso [Sun, 20 Feb 2005 19:09:23 +0000 (19:09 +0000)]
* rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
  if we are not debugging.

19 years ago * ospf_api.h: char isn't always signed, but it has to be it here.
hasso [Sat, 19 Feb 2005 17:58:40 +0000 (17:58 +0000)]
* ospf_api.h: char isn't always signed, but it has to be it here.

Fixes bugzilla #153. [backport candidate]

19 years ago * configure.ac: Fix Linux detection. Host types like i686-pc-linux
hasso [Sat, 19 Feb 2005 13:58:06 +0000 (13:58 +0000)]
* configure.ac: Fix Linux detection. Host types like i686-pc-linux
  didn't match the pattern.

Fixes bugzilla #150. [backport candidate]

19 years ago2005-02-19 Paul Jakma <paul@dishone.st>
paul [Sat, 19 Feb 2005 02:00:26 +0000 (02:00 +0000)]
2005-02-19 Paul Jakma <paul@dishone.st>

* zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
  STREAM_READABLE.

19 years ago2005-02-19 Paul Jakma <paul.jakma@sun.com>
paul [Sat, 19 Feb 2005 01:19:20 +0000 (01:19 +0000)]
2005-02-19 Paul Jakma <paul.jakma@sun.com>

* ospf_packet.c: (ospf_stream_copy) remove
  (ospf_packet_dup) use stream_copy instead of ospf_stream_copy

19 years ago2005-02-19 Paul Jakma <paul.jakma@sun.com>
paul [Sat, 19 Feb 2005 01:17:07 +0000 (01:17 +0000)]
2005-02-19 Paul Jakma <paul.jakma@sun.com>

* stream.c: (stream_new) fix dumb mistake.

19 years ago2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 17 Feb 2005 20:11:58 +0000 (20:11 +0000)]
2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* watchquagga.c: (handle_read) Use new ERRNO_IO_RETRY macro.

19 years ago2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 17 Feb 2005 20:07:22 +0000 (20:07 +0000)]
2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro.

19 years ago2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 17 Feb 2005 20:02:49 +0000 (20:02 +0000)]
2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O
  operation should be retried.  This eliminates the need to duplicate
  the same logic testing for EAGAIN or EINTR in multiple places.

19 years ago2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 17 Feb 2005 19:55:59 +0000 (19:55 +0000)]
2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
  packet in the queue, it must be discarded.  Improve warning messages.
  Fix scope to static.
  (ospf_read) Fix bug: should reset the read thread in all cases
  to make sure we continue to get incoming messages.

19 years ago2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 16 Feb 2005 20:40:25 +0000 (20:40 +0000)]
2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* watchquagga.c: (try_connect) Use new set_nonblocking function instead
  of calling fcntl directly.

19 years ago2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 16 Feb 2005 20:35:47 +0000 (20:35 +0000)]
2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* stream.h: Declare new function stream_read_try suitable for use
  with non-blocking file descriptors.  Indicate that stream_read
  and stream_read_unblock are deprecated.
* stream.c: (stream_read_try) New function for use with non-blocking
  I/O.
  (stream_recvmsg) Should return -1 if the stream is too small to
  contain the data.

19 years ago2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 16 Feb 2005 16:25:39 +0000 (16:25 +0000)]
2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* network.c: (set_nonblocking) Should check return code from
  fcntl(F_GETFL).

19 years ago2005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 16 Feb 2005 00:45:37 +0000 (00:45 +0000)]
2005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* network.h: Declare new function set_nonblocking.  Indicate that
  readn and writen are deprecated.
* network.c: (set_nonblocking) New function to make a file descriptor
  non-blocking, since it seems silly to have fcntl calls sprinkled
  throughout the code.

19 years agoAdjust size complexity estimates. Still not quite right, but closer.
gdt [Tue, 15 Feb 2005 17:10:03 +0000 (17:10 +0000)]
Adjust size complexity estimates.  Still not quite right, but closer.

19 years ago2005-02-15 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 15 Feb 2005 10:10:55 +0000 (10:10 +0000)]
2005-02-15 Paul Jakma <paul.jakma@sun.com>

* ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
  ibuf. Thanks Andrew.

19 years ago2005-02-14 Paul Jakma <paul@dishone.st>
paul [Mon, 14 Feb 2005 23:53:05 +0000 (23:53 +0000)]
2005-02-14 Paul Jakma <paul@dishone.st>

* Not all Linux netlink systems have IFLA_WIRELESS

19 years ago- oops, date was wrong in actual ChangeLog
paul [Mon, 14 Feb 2005 23:49:09 +0000 (23:49 +0000)]
- oops, date was wrong in actual ChangeLog

19 years ago2005-02-14 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 14 Feb 2005 23:48:42 +0000 (23:48 +0000)]
2005-02-14 Paul Jakma <paul.jakma@sun.com>

* ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.

2005-02-11 Hasso Tepper <hasso at quagga.net>

* ospf_lsdb.c: Fix sum of checksums calculation.

2005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
  error message.

2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_interface.h: Reduce structure padding by putting new u_char
  field multicast_memberships in a better spot (grouped with
  other u_char fields type and state).

2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_interface.h: Improve passive_interface comment.  Add new
  multicast_memberships bitmask to struct ospf_interface to track
  active multicast subscriptions.  Declare new function
  ospf_if_set_multicast.
* ospf_interface.c: (ospf_if_set_multicast) New function to configure
  multicast memberships properly based on the current
  multicast_memberships status and the current values of the
  ospf_interface state, type, and passive_interface status.
  (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
  now handled by ism_change_state's call to ospf_if_set_multicast).
  (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
  handled by ism_change_state).
* ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
  the DRouters multicast group (now handled by ism_change_state's call
  to ospf_if_set_multicast).
  (ism_change_state) Add call to ospf_if_set_multicast to change
  multicast memberships as necessary to reflect the new interface state.
* ospf_packet.c: (ospf_hello) When a Hello packet is received on a
  passive interface: 1. Increase the severity of the error message
  from LOG_INFO to LOG_WARNING; 2. Add more information to the error
  message (packet destination address and interface address);
  and 3. If the packet was sent to ospf-all-routers, then try
  to fix the multicast group memberships.
  (ospf_read) When a packet is received on an interface whose state
  is ISM_Down, enhance the warning message to show the packet
  destination address, and try to update/fix the multicast group
  memberships if the packet was sent to a multicast address.
  When a packet is received for ospf-designated-routers, but the
  current interface state is not DR or BDR, then increase the
  severity level of the error message from LOG_INFO to LOG_WARNING,
  and try to fix the multicast group memberships.
* ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
  any ospf interface that may have changed from active to passive.
  (no_ospf_passive_interface) Call ospf_if_set_multicast for
  any ospf interface that may have changed from passive to active.
  (show_ip_ospf_interface_sub) Show multicast group memberships.

2005-02-08 Paul Jakma <paul@dishone.st>

* ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.

2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
  not for event ISM_InterfaceDown.  And improve the message by
  adding the interface flags.

2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_network.c: (ospf_sock_init) Save errno before calling
  ospfd_privs.change.

2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
an error message and return.
(ospf_read) If the interface state is ISM_InterfaceDown, issue
a warning message and ignore the packet.

2005-01-10  Greg Troxel  <gdt@fnord.ir.bbn.com>

* ospf_packet.h: Remove commented out definition of
OSPF_MAX_PACKET; neither it or the uncommented one are used any more.

* ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
when deciding if an update will fit.
(ospf_packet_authspace): Factor out calculation of size required
for authentication.
(ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
Don't confuse readers that there is a macro.

2004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_network.c: Improve all setsockopt error messages to give detailed
  information on the arguments.

2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
  messages from LOG_WARNING to LOG_INFO, since this seems to be
  normal.

2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_read) Always look up the interface if
  ospf_recv_packet returns NULL ifp, since some platforms such
  as Solaris 8 appear to support ifindex retrieval but don't.

2004-12-22 Hasso Tepper <hasso at quagga.net>

* ospf_dump.c: Show debug configuration in vtysh.
* ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
  any case if it's configured as "translate-never".
* ospf_lsdb.[ch]: New function to calculate sum of checksums.
* ospf_vty.c: Bugfix to show really number of AS external LSAs, not
  number of all LSAs with AS scope, this includes opaque as LSAs as
  well, show this number separately. Show numbers and sums of
  checksums for each type of LSAs.
* ospf_lsa.c: Calculate checksum before putting LSA into database.

2004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_interface.h: Declare new function ospf_default_iftype.
* ospf_interface.c: (ospf_default_iftype) New function to centralize
  this logic in one place.
* ospf_zebra.c: (ospf_interface_add) Use new function
  ospf_default_iftype.
* ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
  by using new function ospf_default_iftype.

2004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_db_desc) Should be static, not global.
  (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
  messages to include identifying information (e.g. router id).
* ospf_nsm.c: (nsm_change_state) Improve info message to include
  router id and state names.

2004-12-09  Greg Troxel  <gdt@fnord.ir.bbn.com>

* ospf_apiserver.c (ospf_apiserver_term): Obtain struct
ospf_apiserver * from listnode.  Remove unused variables.  Follows
suggestion from Jay Fenlason.

2004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* *.c: Change level of debug messages to LOG_DEBUG.

2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_main.c: (main) The 2nd argument to openzlog has been removed.

2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
  from LOG_NOTICE to LOG_DEBUG.

2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_main.c: (sigint) Use zlog_notice for termination message.
  (main) Issue a startup announcement using zlog_notice.

2004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
  message and in comment.
  (ospf_db_desc) Warning message that a packet is being discarded
  should give the router id of the packet source.  Fix spelling
  of packet in two warning messages.
  (ospf_ls_req) Warning message that a link state request is being
  discarded should give the router id of the neighbor that sent it.

2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_main.c: Remove #include "debug.h" (was not being used, and
  lib/debug.h has now been deleted).

2004-11-25 Hasso Tepper <hasso at quagga.net>

* ospf_main.c: Make group to run as configurable.

2004-11-15  Greg Troxel  <gdt@fnord.ir.bbn.com>

* ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
and works (lib/zebra.h provides if OS doesn't).

2004-11-15 Paul Jakma <paul@dishone.st>

* ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.

2004-11-12 Paul Jakma <paul@dishone.st>

* ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
          ignore stub area summary default. Even so it seems a strange
          check, add a comment to that effect.

2004-11-04 Paul Jakma <paul@dishone.st>

* ospfd.c: (ospf_network_match_iface) revert to previous network
          statement match behaviour.

2004-11-02 Paul Jakma <paul@dishone.st>

* ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
  to it. Add convenience pointer to msg->msg_iov[1], and use this,
  fixing the unfortunate borkenness introduced in moving of this code
  to a function.
  (ospf_write) remove iovp and fix up call to previous.
  (ospf_ls_upd_packet_new) cast size to long int - unfortunately
          glibc's size_t format modifier is not portable.

2004-10-31 Paul Jakma <paul@dishone.st>

* ospf_packet.c: (ospf_write_frags) Add debug output
  (ospf_write) set type early, so we can pass it to
  ospf_write_frags.
  (ospf_ls_upd_packet_new) print size in debug output when too large
  packet is encountered.
* ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
  THREAD_ARG to store an integer, but it should at least use same
          same type to retrieve the value. Assert value is sane.

2004-10-22 Paul Jakma <paul@dishone.st>

* ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
          function.
        * ospf_packet.c: (ospf_read) manually look up ifindex
          if system could not have returned one, eg openbsd, thanks to Rivo
  Nurges for highlighting problem and fix.
          Change setsockopt_pktinfo to setsockopt_ifindex.

2004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>

* ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
  with dedicated subnets properly.
* ospf_lsa.c: (lsa_link_ptop_set) ditto.
* ospfd.c: (ospf_network_match_iface) ditto.
  (ospf_network_run) ditto.
* ospf_interface.c: (ospf_if_is_configured) ditto.
  (ospf_if_lookup_by_prefix) ditto.
  (ospf_if_lookup_recv_if) ditto.
* ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
  broadcast address if present.

2004-10-13 Hasso Tepper <hasso at quagga.net>

* ospf_main.c: Unbreak compilation with ospfapi disabled.
* ospf_snmp.c: Remove defaults used to initialize smux connection to
  snmpd. Connection is initialized only if smux peer is configured.

2004-10-12 Hasso Tepper <hasso at quagga.net>

* ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
  static variable from ospf_main.c into ospf_opaque.c.

2004-10-11 Hasso Tepper <hasso at quagga.net>

* ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
  command line switch to enable it.

2004-10-11 Paul Jakma <paul@dishone.st>

* ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
  remove ntohs that should have dissappeared. Take struct ip
  as argument, caller has to know there's an IP header at start of
  stream anyway.
* ospf_dump.h: update declaration of ospf_ip_header_dump.
* ospf_packet.c: (ospf_write) correct call to
  sockopt_iphdrincl_swab_htosys which was munging the header.
  (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
  (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
  we have it.
* (global) Const char update and signed/unsigned fixes.
* (various headers) size defines should be unsigned.
* ospf_interface.h: remove duplicated defines, include the
  authoritative header - though, these defines should probably
          be moved to a dedicated header, or ospfd.h.
* ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
* ospf_packet.c: (ospf_write) cast result of shift to unsigned.

2004-10-08 Hasso Tepper <hasso at quagga.net>

* *.[c|h]: Fix compiler warnings: make some strings const, signed ->
  unsigned, remove unused variables etc.

2004-10-07  Greg Troxel  <gdt@claude.ir.bbn.com>

* ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
use of variable names 'node' and 'nextnode' to avoid possible
conflict with list macros.  Move variable declaration inside for
loop after a statement to top of function.

2004-10-07 Paul Jakma <paul@dishone.st>

* ospf_snmp.c: Missed list typedef update
* ospf_dump.c: Include sockopt.h for header swab functions.

2004-10-05 Paul Jakma <paul@dishone.st>

* ospf_packet.c: replace ospf_swap_iph_to... with
          sockopt_iphdrincl_swab_...

2004-10-03 James R. Leu <jleu at mindspring.com>

* ospf_zebra.c: Read router id related messages from zebra daemon.
  Schedule router-id update thread if it's changed.
* ospfd.c: Remove own router-id selection function. Use router id from
  zebra daemon if it isn't manually overriden in configuration.

2004-09-27 Paul Jakma <paul@dishone.st>

* ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
  Apply to offset too. Print ip_cksum, lets not worry about
  possible 2.0.37 compile problems.
* ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
  HAVE_IP_HDRINCL_BSD_ORDER.
  (ospf_recv_packet) ditto.
  (ospf_write) Fixup iov argument to ospf_write_frags.
          (struct msghdr).msg_name is caddr_t on most platforms.
  (ospf_recv_packet) ditto. And msg_flags is not always there
          memset struct then set fields we care about rather than
          initialise all fields individually.

2004-09-26 Hasso Tepper <hasso at quagga.net>

* ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
  ospf_zebra.c: Fix compiler warnings.

2004-09-24 Paul Jakma <paul@dishone.st>

        * ospf_apiserver.{c,h}: lists typedef removal cleanup.
          update some list loops to LIST_LOOP. some miscellaneous indent
          fixups.
          (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
          referenced node in loop.
    (ospf_apiserver_term) loops calling ospf_apiserver_free, which
          deletes referenced nodes from apiserver_list, fixed.
        * ospf_interface.h: lists typedef removal cleanup.
        * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
          loops to LIST_LOOP. miscellaneous style and indent fixups.
        * ospf_te.{c,h}: ditto
* ospf_packet.c: lists typedef removal cleanup.
          (ospf_write) ifdef fragmentation support. move actual
  fragmentation out to a new, similarly ifdefed, function.
  (ospf_write_frags) fragmented write support, moved from previous.

2004-09-23 Hasso Tepper <hasso at quagga.net>

* *.[c|h]: list -> struct list *, listnode -> struct listnode *.

2004-09-12 Paul Jakma <paul@dishone.st>

* ospf_packet.c: Fix bugzilla #107
    (ospf_packet_max) get rid of the magic 88 constant
  (ospf_swab_iph_ton) new function. set ip header to network order,
  taking BSDisms into account.
  (ospf_swab_iph_toh) the inverse.
  (ospf_write) Add support for IP fragmentation, will only work on
  linux though, other kernels make it impossible. get rid of the
  magic 4 constant.
  (ospf_make_ls_upd) Bound check to end of stream, not to
  interface mtu.
  (ospf_ls_upd_packet_new) New function, allocate upd packet
  taking oversized LSAs into account.
  (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
  rather than statically allocating mtu sized packet buffer, which
  actually was wrong - it didnt take ip header into account, which
  should not be included in packet buffer.
  (ospf_ls_upd_send_queue_event) minor tweaks and remove
  TODO comment.

2004-08-31  David Wiggins  <dwiggins@bbn.com>

* ospf_spf.c (ospf_spf_calculate): Many more comments and debug
  print statements.  New function ospf_vertex_dump used in debugging.

2004-08-31  David Wiggins  <dwiggins@bbn.com>

* ospf_spf.h (struct vertex): Comments for flags and structure members.

2004-08-31  David Wiggins  <dwiggins@bbn.com>

* ospf_route.c: When finding an alternate route, log cost as well.

2004-08-31  David Wiggins  <dwiggins@bbn.com>

* ospf_interface.c (ospf_lookup_if_params): Initialize af in
  struct prefix allocated on stack.

2004-08-31  David Wiggins  <dwiggins@bbn.com>

* ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
  acks to AllSPFRouters, rather than All-DR.

2004-08-27  Hasso Tepper  <hasso at quagga.net>

* ospf_vty.c: Don't print ospf network type under interface only
  if interface is in broadcast mode and interface type really is
  broadcast. Fixes Bugzilla #108.

2004-08-27  David Wiggins  <dwiggins@bbn.com>

* ospf_spf.c (ospf_nexthop_calculation): Initialize address family
  in on-stack struct prefix_ipv4.  Fixes point-to-multipoint SPF
  calculation.

2004-08-26  Greg Troxel  <gdt@fnord.ir.bbn.com>

* ospf_packet.c (ospf_recv_packet): adjust size declaration of
  buffer used to get interface index so that it compiles on other
  than Linux and includes the required alignment space.  Probably
  this was only working on sparc/sparc64 because most of
  sockaddr_dl was not being written.

2004-08-19 Paul Jakma <paul@dishone.st>

* ospf_packet.c: update to match sockopt renames.

2004-08-04 Paul Jakma <paul@dishone.st>

* ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
  Compare only against list head - all nexthops must be same cost
  anyway, fixes a reference-listnode-after-delete bug noted by
  Kir Kostuchenko.
  (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
  candidates attached to root.

2004-07-27 Paul Jakma <paul@dishone.st>

        * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
          last fix for ospfd wedging due to oversize LSAs: dont list loop on
          ospf_ls_upd_queue_send() - guaranteed segfault.

2004-07-27 Paul Jakma <paul@dishone.st>

* ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
  the LSA as then free_opaque_info_per_id() can never unlock (and
  free) the LSA. Reported by Gunnar Stigen.

2004-07-23 Paul Jakma <paul@dishone.st>

* ospf_network.c: Replace PKTINFO/RECVIF with call to
  setsockopt_pktinfo
* ospf_packet.c: Use getsockopt_pktinfo_ifindex and
  SOPT_SIZE_CMSG_PKTINFO_IPV4.

2004-07-14 Paul Jakma <paul@dishone.st>

* ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
  problem reported by Peter Frost amongst others, where function
  will spin indefinitely if update list contains LSAs greater than
  MTU-headers or other condition leading to update list never being
          cleared. Problem of what to do with these LSAs remains.
          (ospf_make_ls_upd) add comment about large LSA problem,
  indentation cleanup.

2004-07-01  Greg Troxel  <gdt@fnord.ir.bbn.com>

* Makefile.am (lib_LTLIBRARIES): make libospf shared

2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com>

* Makefile.am: Add shlib support.

2004-06-10 Hasso Tepper <hasso@estpak.ee>

* *: Removed ifdefs HAVE_NSSA.

2004-06-06 Paul Jakma <paul@dishone.st>

* ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
  ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format

2004-05-31 Sagun Shakya <sagun.shakya@sun.com>

* ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
  index is out of range.
  ospf_flood.c: endianness fix
  ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
  in various places.

2004-05-10 Hasso Tepper <hasso@estpak.ee>

* ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
  to ospf_zebra.c from ospfd.c and add redistribution updates if
  route-map is used in redistribution.
* ospf_main.c: Remove now useless call to ospf_init().

2004-05-08 Paul Jakma <paul@dishone.st>

* ospf_zebra.c: Sync with lib/zclient changes

2004-05-05 Paul Jakma <paul@dishone.st>

* ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
  defined. Warn at compile and runtime. Use
  IPTOS_PREC_INTERNETCONTROL otherwise.
* ospf_packet.c:  (ospf_associate_packet_vl) cleanup, move
  some of the checks up to ospf_read, return either a
  virtual link oi, or NULL.
  (ospf_read) Cleanup, make it responsible for checks. Remove
  the nbr lookup - moved to ospf_neighbor. Adjust all nbr
  lookups to use new wrappers exported by ospf_neighbor.
* ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
* ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
  neighbour table by router-id for virtual-link ospf_interfaces,
  not by peer_addr (which breaks for asymmetric vlinks)
  (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
  above.
* ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
  address for either end of a virtual-link, and hence potential cost
  changes.

2004-04-22 Hasso Tepper <hasso@estpak.ee>

* ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
  to "summarize" routes in ASBR at the moment.

2004-04-20 Hasso Tepper <hasso@estpak.ee>

* ospfd.c: Unset NP flag if area is going to be normal or stub.
  Fixes UNH OSPF_NSSA.1.2a comment.
* ospf_abr.c: Originate default into stub/nssa area even if
  summaries are disabled.
* ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.

2004-04-19 Hasso Tepper <hasso@estpak.ee>

* ospf_vty.c: Don't warn that export- and import-list can't be
  configured to backbone area if they are applied and are working
  fine.

2004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>

* ospf_packet.c: Don't drop packets in Solaris x86.
  [quagga-dev 1005].

2004-03-18 Amir Guindehi <amir@datacore.ch>

* ospf_opaque.c: Attempt to correct the incorrect behavior of
Quagga's ospfd in the special situation that a node's opaque
capability has changed as "ON -> OFF -> ON". [quagga-dev 843].

2004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>

* ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
  should be configured with the highest cost path within the range,
  not lowest.

2004-02-17 Paul Jakma <paul@dishone.st>

* ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
  params, nor the interface structure, if an interface delete
  message is received from zebra.
* ospf_interface.c: (ospf_if_delete_hook) Delete the interface
  params and interface, ie that which was previously removed in
  (ospf_interface_delete) above.

2004-02-11 Hasso Tepper <hasso@estpak.ee>
* ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
  if oi doesn't exist any more.

2004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
* ospf_packet.c (ospf_ls_upd): Router should flush received network
  LSA if it was originated with older router-id ([zebra 14710] #6).

2003-12-08 Mattias Amnefelt <mattiasa@kth.se>

* ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
  network byte order.

2003-12-05  Greg Troxel  <gdt@poblano.ir.bbn.com>

* ospfd.c (ospf_network_match_iface): Rewrite code for clarity
while trying not to change semantics.  Add ifdefed-out code to
avoid matching ppp interfaces whose destination address does not
also match the prefix under consideration, to help out people with
problems due to as-yet-unfixed bugs with p2p interfaces coming and
going.

2003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>

        * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
          node in body of the loop to avoid chance that route node
          is unlocked and deleted before the next iteration tries to
          get next route node.

2003-05-24 Kenji Yabuuchi

* ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
  match for interface lookup.

2003-05-18 Hasso Tepper <hasso@estpak.ee>

* ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
output

2003-05-16 Hasso Tepper <hasso@estpak.ee>

* ospf_lsa.c: Fix handling of NSSA

2003-04-23 Hasso Tepper <hasso@estpak.ee>

* ospf_vty.c: fix "router xxx" node commands in vtysh

2003-04-19 Hasso Tepper <hasso@estpak.ee>

* {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
* ospf_routemap.c: sync daemon's route-map commands to have same
  syntax.

2003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>

* ospf_packet.c: Add missing param to zlog
* ospf_flood.c: remove unused vars

2003-04-17 Denis Ovsienko <zebra@pilot.org.ua>

* ospf_interface.c: fix incorrect memset

2003-04-10 Amir Guindehi <amir@datacore.ch>

* ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.

2003-04-03 David Watson <dwatson@eecs.umich.edu>

* ospf_lsa.c: byte order fix

2002-03-17  Amir Guindehi <amir@datacore.ch>

        * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
        * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
* ospfclient: OSPFAPI demonstration client.

2003-01-23  Masahiko Endo <endo@suri.co.jp>

* ospf_ism.c: NSM event schedule bug fix.

2002-10-30  Greg Troxel <gdt@ir.bbn.com>

* ospf_packet.c (ospf_make_md5_digest): MD5 length fix.

2002-10-23  endo@suri.co.jp (Masahiko Endo)

* ospf_opaque.c: Update Opaque LSA patch.

2002-10-23  Ralph Keller <keller@tik.ee.ethz.ch>

* ospf_vty.c (show_ip_ospf_database): Fix CLI parse.

2002-10-23  Juris Kalnins <juris@mt.lv>

* ospf_interface.c (ospf_if_stream_unset): When write queue
becomes empty stop write timer.

2002-10-10  Greg Troxel <gdt@ir.bbn.com>

* ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
conform to RFC.

2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* zebra-0.93 released.

2002-06-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
check of l2.  Reported by: Daniel Drown <dan-zebra@drown.org>
(ospf_lsa_has_link): LSA Length calculation fix.  Reported by:
Paul Jakma <paulj@alphyra.ie>.

* ospfd.c (ospf_if_update): Fix nextnode reference bug.  Reported
by: juris@mt.lv.

2002-01-21  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.

2001-08-27  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_interface.c (ospf_add_to_if): Use /32 address to register
OSPF interface information.
(ospf_delete_from_if): Likewise.

* ospf_zebra.c (ospf_interface_address_delete): Likewise.

2001-08-23  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* ospf_zebra.c (ospf_redistribute_unset): When redistribute type
is OSPF, do not unset redistribute flag.

2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* zebra-0.92a released.

2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* zebra-0.92 released.

2001-08-12  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* ospfd.c (ospf_config_write): auto-cost reference-bandwidth
configuration display.

2001-07-24  David Watson <dwatson@eecs.umich.edu>

* ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
check for an existing link before connecting the parent and child.
ospf_nexthop_calculation is also modified to check for duplicate
entries when copying from the parent.  Finally, ospf_spf_next
removes duplicates when it merges two equal cost candidates.

2001-07-23  itojun@iijlab.net

* ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
[zebra 8549].

2001-07-23  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
it work on OpenBSD.

2001-06-26  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_zebra.c (config_write_ospf_default_metric): Display
default-metric configuration.

2001-06-18  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.

2001-05-28  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

* ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
crush.
(ospfIfMetricEntry): Likewise.

2001-03-18  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_packet.c (ospf_read): Fix typo.  Reported by: "Jen B
Lin'Kova" <jen@stack.net>.

2001-03-15  Gleb Natapov <gleb@nbase.co.il>

* ospf_interface.c (ip_ospf_network): Set interface parameter.
(interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.

* ospf_zebra.c (ospf_interface_add): Set interface parameter.

2001-02-21  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_packet.c (ospf_recv_packet): Solaris also need to add
(iph.ip_hl << 2) to iph.ip_len.

2001-02-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
Suggested by: David Watson <dwatson@eecs.umich.edu>.

* ospf_zebra.c (zebra_init): Remove zebra node.

* ospfd.c (ospf_area_range_set): Function name is changed from
ospf_ara_range_cmd.
(ospf_area_range_unset): New function which separated from DEFUN.
New commands are added:
"no area A.B.C.D range A.B.C.D/M advertise"
"no area <0-4294967295> range A.B.C.D/M advertise"
"no area A.B.C.D range A.B.C.D/M not-advertise"
"no area <0-4294967295> range A.B.C.D/M not-advertise"

* ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.

2001-02-08  Matthew Grant <grantma@anathoth.gen.nz>

* ospf_network.c (ospf_if_add_allspfrouters): Use
setsockopt_multicast_ipv4.
(ospf_if_drop_allspfrouters): Likewise.

* ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
(ospf_network_lsa_install): Likewise.
(ospf_summary_lsa_install): Likewise.
(ospf_summary_asbr_lsa_install): Likewise.
(ospf_external_lsa_install): Likewise.
(ospf_lsa_install): Call ospf_lsa_different to check this LSA is
new one or not.

2001-02-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_zebra.c (ospf_interface_delete): Do not free interface
structure when ospfd receive interface delete message to support
pseudo interface.

2001-02-01  Dick Glasspool <dick@ipinfusion.com>

* ospfd.c (area_range_notadvertise): Change area range "suppress"
command to "not-advertise".

* ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1800 to 60.

* ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
updating the area-range, the lowest cost is now saved.

* ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
numbers rather than creating overflow during calculation.

2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

* zebra-0.91 is released.

2001-01-31  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_packet.c (ospf_db_desc_proc): Do not continue process when
NSM_SeqNumberMismatch is scheduled.
(ospf_ls_req): Free ls_upd when return from this function.
(ospf_ls_upd_timer): When update list is empty do not call
ospf_ls_upd_send().  Suggested by: endo@suri.co.jp (Masahiko
Endo).

2001-01-26  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
MaxAge.  RFC2328 Section 14.
(ospf_maxage_lsa_remover): Call above function during removing
MaxAge LSA.

2001-01-26  Dick Glasspool <dick@ipinfusion.com>

* ospf_flood.c (ospf_flood_through_as): Function is updated for
NSSA Translations now done at ospf_abr.c with no change in P-bit.

* ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
Addr.
(ospf_install_flood_nssa):  Leave Type-7 LSA at Lock Count = 2.

* ospf_ase.c (ospf_ase_calculate_route): Add debug codes.

* ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.

* ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.

* ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
OSPF_AS_NSSA_LSA.

* ospfd.c (data_injection): Function to inject LSA.  This is
debugging command.

2001-01-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_route.c (ospf_route_match_same): Remove function.
(ospf_route_match_same_new): Renamed to ospf_route_match_same.

* ospf_zebra.c (ospf_interface_address_delete): Add check for
oi->address.  Suggested by Matthew Grant
<grantma@anathoth.gen.nz>.
(ospf_zebra_add): Remove function.
(ospf_zebra_add_multipath): Rename to ospf_zebra_add.

* ospf_interface.c: Remove HAVE_IF_PSEUDO part.

* ospf_zebra.c: Likewise.

2001-01-10  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_ase.c: Remove OLD_RIB part.

* ospf_route.c: Likewise.

* zebra-0.90 is released.

* ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
NetBSD.

2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_route.c (ospf_route_delete): Use
ospf_zebra_delete_multipath.

2001-01-09  Matthew Grant <grantma@anathoth.gen.nz>

* ospf_interface.c (ospf_if_cleanup): Function name is renamed
from ospf_if_free().  Rewrite whole procudure to support primary
address deletion.

* ospf_zebra.c (ospf_interface_address_delete): Add primary
address deletion process.

2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

* ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
treatment like FreeBSD.

2001-01-09  endo@suri.co.jp (Masahiko Endo)

* ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
strips IP header size from receiving IP Packet.  So we adjust
ip_len to whole IP packet size by adding IP header size.

2001-01-08  endo@suri.co.jp (Masahiko Endo)

* ospf_network.c (ospf_serv_sock): When socket() is failed return

19 years ago2005-02-14 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 14 Feb 2005 23:47:47 +0000 (23:47 +0000)]
2005-02-14 Paul Jakma <paul.jakma@sun.com>

* stream.h: Unsigned long updated to size_t
* stream.c: ditto
* stream.h: Add stream_copy, stream_dup, stream_recvmsg.
  Add comment describing struct stream abstraction, and various
  other comments.
  Deprecate several unsafe/ambigious macros.
  Add STREAM_WRITEABLE and STREAM_READABLE.
  Add (stream_getl_from) for symmetry.
  Update stream_forward_{endp,getp} to use size_t offset.
  Make stream data a 0 length array, rather than a seperate malloc.
* stream.c: Add consistency checks. Update to follow stream.h
  changes.
  (stream_new) Alloc stream+data in one go.
  (stream_copy) new function, copy a stream.
  (stream_dup) new function, dup a stream.
  (stream_recvmsg) new function, recvmsg data into a stream.
  (stream_empty) no need to check getp == 0.

19 years ago2005-02-12 Paul Jakma <paul.jakma@sun.com>
paul [Sat, 12 Feb 2005 14:35:49 +0000 (14:35 +0000)]
2005-02-12 Paul Jakma <paul.jakma@sun.com>

* stream.h: Unsigned long updated to size_t
* stream.c: ditto

19 years ago * ospf_lsdb.c: Fix sum of checksums calculation.
hasso [Fri, 11 Feb 2005 08:31:54 +0000 (08:31 +0000)]
* ospf_lsdb.c: Fix sum of checksums calculation.

[backport candidate]

19 years agonotes on what files contain what, and an initial stab at understanding
gdt [Thu, 10 Feb 2005 16:38:09 +0000 (16:38 +0000)]
notes on what files contain what, and an initial stab at understanding
how much storage is required.

19 years ago2005-02-09 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 9 Feb 2005 15:51:56 +0000 (15:51 +0000)]
2005-02-09 Paul Jakma <paul.jakma@sun.com>

* (global) Update code to match stream.h changes.
  stream_get_putp effectively replaced with stream_get_endp.
  stream_forward renamed to stream_forward_getp.
  stream_forward_endp introduced to replace some previous
  setting/manual twiddling of putp by daemons.
* lib/stream.h: Remove putp. Update reference to putp with endp.
  Add stream_forward_endp, which daemons were doing manually.
  Rename stream_forward to stream_forward_getp.
  lib/stream.c: Remove/update references to putp.
  introduce stream_forward_endp.

19 years ago2005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 9 Feb 2005 15:35:50 +0000 (15:35 +0000)]
2005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
  error message.

19 years ago2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Tue, 8 Feb 2005 15:59:16 +0000 (15:59 +0000)]
2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_interface.h: Reduce structure padding by putting new u_char
  field multicast_memberships in a better spot (grouped with
  other u_char fields type and state).

19 years ago2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Tue, 8 Feb 2005 15:57:25 +0000 (15:57 +0000)]
2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
  to use compound assignment operators (aesthetic change).

19 years ago2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Tue, 8 Feb 2005 15:37:30 +0000 (15:37 +0000)]
2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_interface.h: Improve passive_interface comment.  Add new
  multicast_memberships bitmask to struct ospf_interface to track
  active multicast subscriptions.  Declare new function
  ospf_if_set_multicast.
* ospf_interface.c: (ospf_if_set_multicast) New function to configure
  multicast memberships properly based on the current
  multicast_memberships status and the current values of the
  ospf_interface state, type, and passive_interface status.
  (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
  now handled by ism_change_state's call to ospf_if_set_multicast).
  (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
  handled by ism_change_state).
* ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
  the DRouters multicast group (now handled by ism_change_state's call
  to ospf_if_set_multicast).
  (ism_change_state) Add call to ospf_if_set_multicast to change
  multicast memberships as necessary to reflect the new interface state.
* ospf_packet.c: (ospf_hello) When a Hello packet is received on a
  passive interface: 1. Increase the severity of the error message
  from LOG_INFO to LOG_WARNING; 2. Add more information to the error
  message (packet destination address and interface address);
  and 3. If the packet was sent to ospf-all-routers, then try
  to fix the multicast group memberships.
  (ospf_read) When a packet is received on an interface whose state
  is ISM_Down, enhance the warning message to show the packet
  destination address, and try to update/fix the multicast group
  memberships if the packet was sent to a multicast address.
  When a packet is received for ospf-designated-routers, but the
  current interface state is not DR or BDR, then increase the
  severity level of the error message from LOG_INFO to LOG_WARNING,
  and try to fix the multicast group memberships.
* ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
  any ospf interface that may have changed from active to passive.
  (no_ospf_passive_interface) Call ospf_if_set_multicast for
  any ospf interface that may have changed from passive to active.
  (show_ip_ospf_interface_sub) Show multicast group memberships.

19 years ago2005-02-08 Paul Jakma <paul@dishone.st>
paul [Tue, 8 Feb 2005 11:29:41 +0000 (11:29 +0000)]
2005-02-08 Paul Jakma <paul@dishone.st>

* ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.

19 years ago2005-02-04 Paul Jakma <paul@dishone.st>
paul [Fri, 4 Feb 2005 23:42:41 +0000 (23:42 +0000)]
2005-02-04 Paul Jakma <paul@dishone.st>

* ripd.c: Untangle the construction of RIP auth data.
  (rip_auth_prepare_str_send) new helper function, prepare
  correct key string.
  (rip_auth_simple_write) new helper, write out the
  rip simple password auth psuedo-RTE.
  (rip_auth_md5_ah_write) new helper, write out the
  MD5 auth-header psuedo-RTE.
  (rip_auth_header_write) new helper, write out correct
  auth header data / psuedo-RTE.
  (rip_auth_md5_set) rip out the memmove and writing of the
  auth header psuedo-RTE. So that all that is left is to
  write the trailing auth digest, and update digest offset
  field in the original header.
  (rip_write_rte) rip out writing of RIP header, writing of
  simple auth data psuedo-RTE. Make it do what its name suggests,
  write out actual RTEs.
  (rip_output_process) remove the incorrect additional decrements
  of rtemax. Prepare the auth_str, which simple or MD5 auth will
  need. Move write out of RIP header and auth data to inside the
  loop. Adjust paramaters as required.

19 years ago2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 3 Feb 2005 19:22:05 +0000 (19:22 +0000)]
2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
  since it is not async-signal-safe.
  (_zlog_assert_failed) Rewrite crashlog logic more compactly.
  (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
  for use in signal handler.

19 years ago2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 3 Feb 2005 17:12:01 +0000 (17:12 +0000)]
2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* basic.texi: Add note about last-resort crash logging to /var/tmp
  when file logging is not configured.
* quagga.info: updated build of autogenerated file

19 years ago2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 3 Feb 2005 16:42:40 +0000 (16:42 +0000)]
2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
  inside this function only.
  (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
  with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
  (zlog_signal,_zlog_assert_failed) Increase logging priority from
  LOG_ERR to LOG_CRIT.  If no file logging is configured, try to use
  open_crashlog to create a crash logfile.
  (zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
  dump a backtrace to that file.

19 years ago2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 2 Feb 2005 18:38:48 +0000 (18:38 +0000)]
2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
  not for event ISM_InterfaceDown.  And improve the message by
  adding the interface flags.
* if.h: Declare if_flag_dump.

[backport candidate]

19 years ago * bgp_vty.c: Deprecate "neighbor transparent-as" and "neighbor
hasso [Wed, 2 Feb 2005 17:15:34 +0000 (17:15 +0000)]
* bgp_vty.c: Deprecate "neighbor transparent-as" and "neighbor
  transparent-nexthop" commands.

[merge from GNU Zebra]

19 years ago * bgp_routemap.c: New route-map command - "match ip route-source".
hasso [Wed, 2 Feb 2005 16:43:17 +0000 (16:43 +0000)]
* bgp_routemap.c: New route-map command - "match ip route-source".

[merge from GNU Zebra]

19 years ago * bgp_clist.[ch], bgp_route.c, bgp_routemap.c, bgp_vty.c:
hasso [Wed, 2 Feb 2005 16:29:31 +0000 (16:29 +0000)]
* bgp_clist.[ch], bgp_route.c, bgp_routemap.c, bgp_vty.c:
  community-list cleanup.

[merge from GNU Zebra]

19 years ago * bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop"
hasso [Wed, 2 Feb 2005 14:50:11 +0000 (14:50 +0000)]
* bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop"
  -> "disable-connected-check".

[merge from GNU Zebra]

19 years ago * bgp_fsm.c, bgp_open.c, bgp_packet.c, bgp_route.[ch], bgp_vty.c,
hasso [Wed, 2 Feb 2005 14:40:33 +0000 (14:40 +0000)]
* bgp_fsm.c, bgp_open.c, bgp_packet.c, bgp_route.[ch], bgp_vty.c,
  bgpd.[ch]: Add BGP_INFO_STALE flag and end-of-rib support. "bgp
  graceful-restart" commands added. Show numbers of individual
  messages in "show ip bgp neighbor" command. Final pieces of graceful
  restart.

[merge from GNU Zebra]

19 years ago * bgp_open.c, bgp_packet.c, bgp_vty.c, bgpd.[ch]: Remove "no neighbor
hasso [Tue, 1 Feb 2005 22:01:48 +0000 (22:01 +0000)]
* bgp_open.c, bgp_packet.c, bgp_vty.c, bgpd.[ch]: Remove "no neighbor
  capability route-refresh" commands. Route refresh capability is sent
  anyway now. Preserve dummy deprecated commands.

[merge from GNU Zebra]

19 years ago * bgp_attr.c, bgp_snmp.c, bgp_vty.c, bgpd.[ch]: Remove support for old
hasso [Tue, 1 Feb 2005 21:30:04 +0000 (21:30 +0000)]
* bgp_attr.c, bgp_snmp.c, bgp_vty.c, bgpd.[ch]: Remove support for old
  draft - ie. "neighbor version 4-" commands. Preserve dummy "neighbor
  version" command as deprecated.

[merge from GNU Zebra]

19 years ago * bgpd.[ch], bgp_vty.c, bgp_route.c: "Restart session after
hasso [Tue, 1 Feb 2005 20:57:17 +0000 (20:57 +0000)]
* bgpd.[ch], bgp_vty.c, bgp_route.c: "Restart session after
  maximum-prefix limit" feature support.

[merge from GNU Zebra]

19 years ago * bgp_nexthop.c: Improve debug.
hasso [Tue, 1 Feb 2005 20:13:16 +0000 (20:13 +0000)]
    * bgp_nexthop.c: Improve debug.
        * bgpd.[ch], bgp_nexthop.c, bgp_snmp.c: Remove useless bgp_get_master()
          function.
        * bgp_packet.c: MP AFI_IP update and withdraw parsing.
        * bgp_fsm.c: Reset peer synctime in bgp_stop(). bgp_fsm_change_status()
          is better place to log about peer status change than bgp_event().
          Log in bgp_connect_success().
        * bgp_vty.c: Fix typo in comment.
        * bgp_attr.c: Better log about unknown attribute.

[merge from GNU Zebra]

19 years ago2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sun, 30 Jan 2005 18:49:28 +0000 (18:49 +0000)]
2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* daemon.c: (daemon) Replace perror with zlog_err.
* vty.c: (vty_serv_un) Replace perror with zlog_err.
* ripd.c: (rip_create_socket) Replace perror with zlog_err.
* ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
  zlog_err.
* ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
  zlog_err.

19 years ago2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sun, 30 Jan 2005 18:08:12 +0000 (18:08 +0000)]
2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ripng_interface.c: (ripng_multicast_join) Save errno before calling
  ripngd_privs.change.

19 years ago2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sun, 30 Jan 2005 17:40:29 +0000 (17:40 +0000)]
2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ripd.c: (rip_create_socket) Save errno before calling
  ripd_privs.change.

19 years ago2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sun, 30 Jan 2005 17:24:02 +0000 (17:24 +0000)]
2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_network.c: (ospf_sock_init) Save errno before calling
  ospfd_privs.change.

19 years ago2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 29 Jan 2005 18:19:13 +0000 (18:19 +0000)]
2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* buffer.h: Fix comment on buffer_getstr to reflect that it now
  uses XMALLOC.
* buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
* filter.c: (access_list_remark,ipv6_access_list_remark) Use
  argv_concat instead of buffer_getstr.
* if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
* plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
  Use argv_concat instead of buffer_getstr.
* bgp_filter.c: (ip_as_path,no_ip_as_path) Use argv_concat instead
  of buffer_getstr.
* bgp_route.c: (bgp_show_regexp) Fix memory leak: need to free string
  returned by buffer_getstr.
  (bgp_show_community) Must use XFREE instead of free on string
  returned by buffer_getstr.
* bgp_routemap.c: (set_community) Must use XFREE instead of free
  on string returned by buffer_getstr.
* bgp_vty.c: (neighbor_description) Use argv_concat instead of
  buffer_getstr.

19 years ago2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 29 Jan 2005 17:07:40 +0000 (17:07 +0000)]
2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
  zserv_privs.change.
* ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
  zserv_privs.change.
* ipforward_solaris.c: (solaris_nd) Save errno before calling
  zserv_privs.change.
* irdp_main.c: (irdp_sock_init) Save errno before calling
  zserv_privs.change.

[backport candidate]

19 years ago2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 29 Jan 2005 16:12:41 +0000 (16:12 +0000)]
2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
  netlink_talk) Save errno before calling zserv_privs.change.

  [backport candidate]

19 years ago2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 29 Jan 2005 15:52:07 +0000 (15:52 +0000)]
2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
an error message and return.
(ospf_read) If the interface state is ISM_InterfaceDown, issue
a warning message and ignore the packet.

19 years ago2005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 28 Jan 2005 21:11:46 +0000 (21:11 +0000)]
2005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* vtysh.h: Remove obsolete VTYSH_INDEX_* defines.  Fix many prototypes
  for functions with no arguments (must specify argument list as void).
* vtysh.c: Enhance vtysh_client array to include the daemon's name
  and bitmask and socket path (in addition to the fd).  This allows
  us to use loop constructs for various operations that need to be
  applied to all client daemons, and it facilitates better error
  messages.  Also fix some prototypes with void argument lists.
  (vclient_close) Issue a warning message indicating which daemon's
  socket is being closed.
  (vtysh_execute_func,vtysh_config_from_file) Use a for loop to
  call vtysh_client_execute.
  (vtysh_write_terminal,write_config_integrated) Use a for loop to
  call vtysh_client_config.
  (vtysh_write_memory) Use a for loop to call vtysh_client_execute.
  (vtysh_show_daemons) Use a for loop.
  (vtysh_connect) The struct vtysh_client is now statically initialized,
  so do not initialize it here.
  (vtysh_connect_all) Use a for loop to call vtysh_connect.  Set
  ripd_client pointer for use in vtysh_exit_ripd_only.

19 years ago2005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 28 Jan 2005 20:41:07 +0000 (20:41 +0000)]
2005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* lib/buffer.h: Document behavior of buffer_getstr function.
* lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
  the string extends beyond the head struct buffer_data.

19 years ago2005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 28 Jan 2005 20:28:35 +0000 (20:28 +0000)]
2005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* lib/command.h: Document behavior of argv_concat function.
* lib/command.c: (argv_concat) Calculate total string length first so
  we can call malloc just once (instead of realloc'ing to add each
  string element).
  (do_echo,config_logmsg) Allow for possible NULL return value from
  argv_concat.

19 years ago2005-01-25 Paul Jakma <paul@dishone.st>
paul [Tue, 25 Jan 2005 01:19:28 +0000 (01:19 +0000)]
2005-01-25 Paul Jakma <paul@dishone.st>

* ospf6_asbr.c: Add "hsls" to the zroute_name const char array.

19 years ago2005-01-24 Paul Jakma <paul@dishone.st>
paul [Mon, 24 Jan 2005 10:24:31 +0000 (10:24 +0000)]
2005-01-24 Paul Jakma <paul@dishone.st>

* configure.ac: Bump version to 0.99.0
* doc/quagga.info: Version bump (autogenerated)

19 years ago * bgp_route.c: Fix showstopper bug. New route must be selected also
hasso [Mon, 24 Jan 2005 09:29:42 +0000 (09:29 +0000)]
* bgp_route.c: Fix showstopper bug. New route must be selected also
  if old one is flaged as BGP_INFO_ATTR_CHANGED.

19 years ago2005-01-24 Martin Pot <mpot at martybugs.net>
paul [Mon, 24 Jan 2005 09:05:27 +0000 (09:05 +0000)]
2005-01-24 Martin Pot <mpot at martybugs.net>

* zebra/rt_netlink.c: ignore wireless newlink netlink messages.

19 years ago * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
hasso [Sun, 23 Jan 2005 21:42:25 +0000 (21:42 +0000)]
    * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
          use it as well.
        * vtysh/vtysh.c: Implement walkup in node tree for vtysh as it already
          works in vty.

19 years ago * vtysh.conf.sample: Fix typo "integrated-vtysh-conf" ->
hasso [Sun, 23 Jan 2005 19:24:46 +0000 (19:24 +0000)]
* vtysh.conf.sample: Fix typo "integrated-vtysh-conf" ->
  "integrated-vtysh-config".

19 years ago2005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Tue, 18 Jan 2005 22:18:59 +0000 (22:18 +0000)]
2005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
  two args (siginfo and program_counter).
* log.c: (hex_append) Include this function only if SA_SIGINFO or
  HAVE_GLIBC_BACKTRACE is defined.
  (zlog_signal) Final two args (siginfo and program_counter) now
  depend on whether SA_SIGINFO is defined on this platform.
* sigevent.c: (program_counter) Do not include this function if
  SA_SIGINFO is not defined on this platform.
  (exit_handler,core_handler) Test for SA_SIGINFO to decide whether
  2nd & 3rd arguments are present and to decide how to invoke
  zlog_signal.
  (trap_default_signals) Test for SA_SIGINFO and invoke sigaction
  appropriately.

19 years ago * *.c: Changed many functions to static. Some commented out
hasso [Tue, 18 Jan 2005 13:53:33 +0000 (13:53 +0000)]
* *.c: Changed many functions to static. Some commented out
  functions and some tiny related fixes. No functional changes.

19 years ago * interface.c: Better statistics output in "show interface" command in
hasso [Tue, 18 Jan 2005 13:44:35 +0000 (13:44 +0000)]
* interface.c: Better statistics output in "show interface" command in
  case of /proc being used. I don't have others to test with at the
  moment.

19 years ago2005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Mon, 17 Jan 2005 15:22:28 +0000 (15:22 +0000)]
2005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* log.h: Change prototype for zlog_backtrace_sigsafe to take additional
  program_counter argument.
* log.c: (zlog_backtrace_sigsafe) Add additional program_counter
  argument.  If it is non-NULL, use backtrace_symbols_fd to resolve
  the address.
  (zlog_signal) Call zlog_backtrace_sigsafe with additional
  program_counter argument.

[pullup candidate]