]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
19 years ago2005-05-06 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 6 May 2005 21:27:33 +0000 (21:27 +0000)]
2005-05-06 Paul Jakma <paul.jakma@sun.com>

* zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now

19 years ago2005-05-06 Paul Jakma <paul@dishone.st>
paul [Fri, 6 May 2005 21:25:49 +0000 (21:25 +0000)]
2005-05-06 Paul Jakma <paul@dishone.st>

* (general) extern and static'ification of functions in code and
  header.
  Cleanup any definitions with unspecified arguments.
  Add casts for callback assignments where the callback is defined,
  typically, as passing void *, but the function being assigned has
  some other pointer type defined as its argument, as gcc complains
  about casts from void * to X* via function arguments.
  Fix some old K&R style function argument definitions.
  Add noreturn gcc attribute to some functions, as appropriate.
  Add unused gcc attribute to some functions (eg ones meant to help
  while debugging)
  Add guard defines to headers which were missing them.
* command.c: (install_node) add const qualifier, still doesnt shut
  up the warning though, because of the double pointer.
  (cmp_node) ditto
* keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived
  fromn vty.h ones to fix some of the (long) < 0 warnings.
* thread.c: (various) use thread_empty
  (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type
* vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they
  removed from ospfd/ospf_vty.h
* zebra.h: Move definition of ZEBRA_PORT to here, to remove
  dependence of lib on zebra/zserv.h

19 years ago * sockunion.c: Fix warning message.
hasso [Fri, 6 May 2005 19:33:35 +0000 (19:33 +0000)]
* sockunion.c: Fix warning message.

19 years ago2005-05-03 Paul Jakma <paul@dishone.st>
paul [Tue, 3 May 2005 09:27:23 +0000 (09:27 +0000)]
2005-05-03 Paul Jakma <paul@dishone.st>

* (general) More cleaning up of stream abuse, isisd should be
  back to previous functionality. Replace various XMALLOC+memset's
  with XCALLOC
* isis_tlv.c: (tlv_add_padding) use stream_put to clear the stream
  rather than forward endp, as isisd reuses streams.
* isis_pdu.c: (process_lsp) cleanup direct reference to stream endp
  (send_lsp) manual copy of a stream cleaned up to use stream_copy.
* isis_network.c: (isis_recv_pdu_bcast) replace direct memcpy with
  stream_write
  (isis_recv_pdu_p2p) replace recvfrom directly into stream with
  stream_recvfrom. Remove dangerous and now unneeded manual update
  of endp.
  (isis_recv_pdu_bcast / non-GNU_LINUX) Replace direct memcpy with
  stream_write.
  (isis_recv_pdu_p2p) replace read direct into stream with
  stream_read_try, and hence remove the manual update of endp.
* isis_lsp.c: (lsp_update_data) manual stream dup replaced with
  stream_dup.
  (lsppdu_realloc) mempcy into stream data replaced with stream_put.
  (lsp_build_nonpseudo) remove mysterious stream_forward_endp's -
  which were originally stream_set_putp - shouldn't be needed
  now that all the manual fiddling of private stream data has been
  corrected.
  (build_topology_lsp_data) remove unneeded twiddling of endp,
  appears to be due to lsppdu_realloc(), but it appears to sort of
  do the right thing wrt streams.

19 years ago2005-05-03 Paul Jakma <paul@dishone.st>
paul [Tue, 3 May 2005 09:07:56 +0000 (09:07 +0000)]
2005-05-03 Paul Jakma <paul@dishone.st>

* stream.h: Add comment about the special zero-ing ability of
  stream_put.
  (stream_recvmsg, stream_write) should return ssize_t and size_t
  respectively. Should both be extern linkage.
  (stream_recvfrom) Stream aware wrapper around recvfrom, in style
  of stream_read_try.
* stream.c: (stream_recvfrom) new function, wrapper around recvfrom.
  (stream_recvmsg, stream_write) ssize_t and size_t return values

19 years ago2005-04-29 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 29 Apr 2005 03:20:54 +0000 (03:20 +0000)]
2005-04-29 Paul Jakma <paul.jakma@sun.com>

* NEWS: Added some more 0.99 news.
* configure.ac: bump to 0.99.1 (0.99.0 was never released except
  via CVS snapshots)

19 years ago2005-04-29 Paul Jakma <paul@dishone.st>
paul [Fri, 29 Apr 2005 03:16:42 +0000 (03:16 +0000)]
2005-04-29 Paul Jakma <paul@dishone.st>

* defines.texi.in: Add PACKAGE_NAME, PACKAGE_STRING.
* quagga.texi: Use PACKAGE_NAME, this is more to give me an excuse
  to update quagga.texi so that the 'UPDATED' in version.texi will
  be more recent, the Makefile seems to be dumb and not examine
  the texi files from which quagga.texi is generated.
* quagga.info: Fresh copy to match updates.

19 years ago2005-04-28 Paul Jakma <paul@dishone.st>
paul [Thu, 28 Apr 2005 18:21:15 +0000 (18:21 +0000)]
2005-04-28 Paul Jakma <paul@dishone.st>

* quagga.info: updated
* Makefile.am: automake seems to depend doc built stuff on srcdir
  for some reason, or maybe its cause we have quagga.info,
  quagga.texi in CVS - not sure. Anyway, the static rule for
  quagga.pdf should depend on the srcdir quagga.texi in that case.

19 years ago2005-04-28 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 28 Apr 2005 18:19:08 +0000 (18:19 +0000)]
2005-04-28 Paul Jakma <paul.jakma@sun.com>

* NEWS: Added some 0.99 news

19 years ago2005-04-28 Paul Jakma <paul@dishone.st>
paul [Thu, 28 Apr 2005 17:45:37 +0000 (17:45 +0000)]
2005-04-28 Paul Jakma <paul@dishone.st>

* quagga.info: updated

19 years ago2005-04-28 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 28 Apr 2005 17:35:14 +0000 (17:35 +0000)]
2005-04-28 Paul Jakma <paul.jakma@sun.com>

* rib.h: (struct rib) Add lock field for refcounting.
* zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
  'master' struct.
* zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
* zebra_rib.c: Clean up refcounting of route_node, make struct rib
  refcounted and convert rib_process to work-queue. In general,
  rib's should be rib_addnode'd and delnode'd to route_nodes, and
  these symmetrical functions will manage the locking of referenced
  route_node and freeing of struct rib - rather than having users
  manage each seperately - with much scope for bugs..
  (newrib_free) removed and replaced with rib_lock
  (rib_lock) new function, check state of lock and increment.
  (rib_unlock) new function, check lock state and decrement. Free
  struct rib if refcount hits 0, freeing struct nexthop's, as
  newrib_free did.
  (rib_addnode) Add RIB to route_node, locking both.
  (rib_delnode) Delete RIB from route_node, unlocking each.
  (rib_process) Converted to a work-queue work function.
  Functional changes are minimal, just arguments, comments and
  whitespace.
  (rib_queue_add_qnode) Helper function to setup a ribq item.
  (rib_queue_add) Helper function, same arguments as old
  rib_process, to replace in callers of rib_process.
  (rib_queue_qnode_del) ribq deconstructor.
  (rib_queue_init) Create the ribq.
  (rib_init) call rib_queue_init.
  (remainder) Sanitise refcounting of route_node's. Convert to
  rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
  to XCALLOC. Remove calls to nexthop_delete and nexthop_free.

19 years ago2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 28 Apr 2005 01:31:13 +0000 (01:31 +0000)]
2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

Add wall-clock timing statistics to 'show thread cpu' output.
* thread.h: Define struct rusage_t to contain wall-clock time
  and cpu time.  Change GETRUSAGE macro to collect both pieces
  of data.  Make appropriate changes to struct cpu_thread_history
  to track CPU time and real time.  Change proto for
  thread_consumed_time to return real and cpu time elapsed.
  And declare a new global variable 'struct timeval recent_time'.
* thread.c (struct timeval recent_time): New global timestamp variable.
  (timeval_adjust): If timeout is negative, set to 0 (not 10
  microseconds).  And remove upper bound of 1,000,000 seconds, since
  this does not seem to make any sense (and it breaks
  funcname_thread_add_timer_timeval).
  (timeval_cmp): Should return long, not int.
  (vty_out_cpu_thread_history): Show CPU time and real time.
  (cpu_record_hash_print): Calculate totals for CPU and real time.
  (cpu_record_print): Change 'show thread cpu' title to show CPU and
  real time.
  (thread_timer_remain_second): Put current time in global recent_time.
  (funcname_thread_add_timer_timeval): Fix assert.  Replace 2-case
  switch assignment with a ternary expression.  Use global recent_time
  variable.  Fix use of timeval_adjust (previously, the value was not
  actually being adjusted).
  (thread_cancel): Add missing "break" statement in case
  THREAD_BACKGROUND.
  (thread_timer_wait): Use global recent_time value instead of calling
  gettimeofday.  And there's no need to check for negative timeouts,
  since timeval_subtract already sets these to zero.
  (thread_timer_process): Timers are sorted, so bail out once we
  encounter a timer that has not yet popped.  And remove some
  extraneous asserts.
  (thread_fetch): Do not process foreground timers before calling
  select.  Instead, add them to the ready list just after the select.
  Also, no need to maintain a count of the number of ready threads,
  since we don't care how many there are, just whether there's
  one at the head of the ready list (which is easily checked).
  Stick current time in global variable recent_time to reduce
  the number of calls to gettimeofday.  Tighten logic for
  calculating the select timeout.
  (thread_consumed_time): Now returns real time and puts the elapsed
  cpu time in an additional argument.
  (thread_should_yield): Use real (wall-clock) time to decide whether
  to yield.
  (thread_call): Maintain CPU and real time statistics.
* vty.c (vty_command): For slow commands, show real and cpu time.

19 years ago2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 27 Apr 2005 16:29:54 +0000 (16:29 +0000)]
2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* workqueue.c (show_work_queues): Remove unused gettimeofday call.

19 years ago2005-04-27 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 27 Apr 2005 12:44:54 +0000 (12:44 +0000)]
2005-04-27 Paul Jakma <paul.jakma@sun.com>

* memory.h: memtypes is built source, default includes points to
  top_builddir, so we should refer to lib/memtypes.h

19 years ago2005-04-27 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 27 Apr 2005 12:39:27 +0000 (12:39 +0000)]
2005-04-27 Paul Jakma <paul.jakma@sun.com>

* workqueue.h: (struct work_queue_item) change retry_count to ran,
  its a count of number item has been run.
* workqueue.c: (show_work_queues) Fix formating of slightly
  bugfix: fix SIGFPE if wq->runs is 0.
  (work_queue_run) retry logic was slightly wrong.
  cycles.best is 0 initialy, granularity is 1, so update best
  if cycles >= granularity, not just >.

19 years ago2005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Tue, 26 Apr 2005 17:14:30 +0000 (17:14 +0000)]
2005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* buffer.c (buffer_write): Comment out call to buffer_flush_available.
  This should speed up buffering at the expense of a possible increase
  in latency in flushing the data if inside a long-running thread.

19 years ago2005-04-26 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 26 Apr 2005 02:35:03 +0000 (02:35 +0000)]
2005-04-26 Paul Jakma <paul.jakma@sun.com>

* quagga.xml.in: New, better, single integrated manifest for all
  the services, courtesy of alan.maguire@sun.com.
* {{ospf,ospf6,rip,ripng,bgp}d,zebra}.xml.in: removed due to
  previous
* quagga.init.in: Use the package tarname for properties, use
  the correct daemon name variable.
* Makefile.am: Updated to match single manifest
* prototype.daemons.in: ditto

19 years ago- build isisd per default
paul [Tue, 26 Apr 2005 02:23:44 +0000 (02:23 +0000)]
- build isisd per default

19 years ago2004-05-25 Paul Jakma <paul@dishone.st>
paul [Mon, 25 Apr 2005 16:42:24 +0000 (16:42 +0000)]
2004-05-25 Paul Jakma <paul@dishone.st>

* main.c: new file, common 'main' portion which then calls
  test_init.
* heavy.c: remove common portions now in 'main.
* heavy-wq.c: ditto
* heavy-thread.c: ditto
* heavy*.c: Set the slow_function iteration number lower, to 300, it
  was several orders of magnitude too 'slow' to be useful. :)
* Makefile.am: main is a source of the tests. heavy should link
  to the math library.

19 years ago- forgot to commit changelog, belongs to previous commit.
paul [Mon, 25 Apr 2005 16:29:10 +0000 (16:29 +0000)]
- forgot to commit changelog, belongs to previous commit.

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 16:26:42 +0000 (16:26 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* workqueue.{c,h}: Helper API for setting up and running queues via
  background threads.
* command.c: install the 'show workqueues' command
* memtypes.c: Add work queue mtypes, and a rib-queue type for
  a zebra rib work queue.
* memtypes.h: Updated to match memtypes.c
* Makefile.am: Add new workqueue files to build.

19 years ago- make various defines conditional, so that they can be specified from
paul [Mon, 25 Apr 2005 15:13:42 +0000 (15:13 +0000)]
- make various defines conditional, so that they can be specified from
  the rpmbuild commandline, eg rpmbuild --define 'keep_build 1'

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 14:53:46 +0000 (14:53 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* thread.c: Kill unused TIMER_NO_SORT bits

19 years ago- arg, fix the missing slash. Beat myself with the diff of the last commit
paul [Mon, 25 Apr 2005 14:18:43 +0000 (14:18 +0000)]
- arg, fix the missing slash. Beat myself with the diff of the last commit
  to HACKING (which I added..)

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 14:02:44 +0000 (14:02 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* memory.c: Make the string field much wider
* memtypes.c: Correct the prefix list str/entry strings

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 13:52:26 +0000 (13:52 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* Makefile.am: Refer to source files via srcdir variable, fix
  out-of-tree build breakage.

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 00:37:03 +0000 (00:37 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* HACKING: Add some notes about build system changes, to
  document common oversights (common for me anyway).
  Seperate sections with two newlines, easier to read.

19 years ago2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 22 Apr 2005 14:23:34 +0000 (14:23 +0000)]
2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* thread.h: Fix type for struct thread_master add_type: should be
  unsigned char.  Also, add some documentation of thread_add_background
  args.  And remove extraneous declaration of
  show_thread_work_queues_cmd.

19 years ago2005-04-22 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 22 Apr 2005 13:44:17 +0000 (13:44 +0000)]
2005-04-22 Paul Jakma <paul.jakma@sun.com>

* memory.h: Move include of memtypes.h to after the definition of
  struct memory_list, gcc 4.0 doesn't like arrays of incomplete
  types.

19 years ago2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 22 Apr 2005 13:14:49 +0000 (13:14 +0000)]
2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* bgpd.8,isisd.8,ospf6d.8,ospfd.8,ripd.8,ripngd.8,zebra.8: Fix
  spelling mistake: idenifier -> identifier.

19 years ago2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 22 Apr 2005 12:56:37 +0000 (12:56 +0000)]
2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* bgpd.8,isisd.8,ospf6d.8,ospfd.8,ripd.8,ripngd.8,zebra.8: Fix
  spelling mistake: intrefaces -> interfaces.

19 years ago- fix comment
paul [Fri, 22 Apr 2005 00:57:03 +0000 (00:57 +0000)]
- fix comment

19 years ago2004-05-22 Paul Jakma <paul@dishone.st>
paul [Fri, 22 Apr 2005 00:54:44 +0000 (00:54 +0000)]
2004-05-22 Paul Jakma <paul@dishone.st>

* Makefile.am: Build heavythread

19 years ago2004-05-22 Paul Jakma <paul@dishone.st>
paul [Fri, 22 Apr 2005 00:50:08 +0000 (00:50 +0000)]
2004-05-22 Paul Jakma <paul@dishone.st>

* heavy-thread.c: Andrew Schorr's adaptation of heavy.c to use a
  background thread to avoid responsivity problems.

19 years ago2005-04-22 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 22 Apr 2005 00:43:47 +0000 (00:43 +0000)]
2005-04-22 Paul Jakma <paul.jakma@sun.com>

* thread.h: Add background thread type and thread_add_background
  macro and accompanying funcname_... function.
  export thread_should_yield, background threads can use it.
  Lower thread yield time to 10ms, 100ms is noticeable lag and
  a thread would only be /starting/ to finish sometime afterward.
* thread.c: (general) Add background thread type and schedule
  nearly all thread types through the ready list for fairness.
  (timeval_adjust) static qualifier missing
  (vty_out_cpu_thread_history) add support for printout of
  background threads
  (show_thread_cpu) ditto.
  (thread_master_debug) add debug of background list
  (thread_master_create) fixup long line
  (thread_add_unuse) add asserts for required state.
  (thread_master_free) free background thread list
  (funcname_thread_add_timer_timeval) make generic, able to
  support arbitrary timer-like thread types.
  (funcname_thread_add_timer) pass thread type to .._add_timer_timeval
  (funcname_thread_add_timer_msec) ditto
  (funcname_thread_add_background) Add a background thread, with an
  optional millisecond delay factor, using .._add_timer_timeval.
  (thread_cancel) Add background thread type.
  Move the thread_list_delete common to all cases to bottom of
  function, after the switch statement..
  (thread_cancel_event) indent
  (thread_timer_wait) Static qualifier, and make it able to cope
  with arbitrary timer-like thread lists, so its of use to
  background threads too.
  (thread_process_fd) static qualifier. Again, make it take a list
  reference rather than thread_master. Fix indentation.
  (thread_timer_process) Check for ready timer-like threads in the
  given list and move them on to the ready list - code originally
  embedded in thread_fetch.
  (thread_fetch) Schedule all threads, other than events, through
  the ready list, to ensure fairness. Timer readying code moved to
  thread_timer_process so it can be reused for background threads.
  Remove the unneeded quagga_sigevent_process, as pointed out by
  John Lin <john.ch.lin@gmail.com>.
  (thread_should_yield) make this available.

19 years ago- bah, commit changelog
paul [Thu, 21 Apr 2005 17:23:48 +0000 (17:23 +0000)]
- bah, commit changelog

19 years ago2004-05-21 Paul Jakma <paul@dishone.st>
paul [Thu, 21 Apr 2005 16:58:44 +0000 (16:58 +0000)]
2004-05-21 Paul Jakma <paul@dishone.st>

* heavy.c: Add a timer thread to demonstrate thread interactivity,
  Add a daemon_exit command to assist with debugging (eg for memory
  tracers, etc..)

19 years ago2005-04-21 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 21 Apr 2005 10:24:43 +0000 (10:24 +0000)]
2005-04-21 Paul Jakma <paul.jakma@sun.com>

* Makefile.am: pkginfo.%.tmpl is a generated file, srcdir prefix
  is not appropriate.

19 years agoThere is no RIPv3. It is a RIPng (by the way for your information, the version of...
jardin [Wed, 20 Apr 2005 09:38:17 +0000 (09:38 +0000)]
There is no RIPv3. It is a RIPng (by the way for your information, the version of RIPng is v1).

19 years ago2005-04-20 Paul Jakma <paul@dishone.st>
paul [Wed, 20 Apr 2005 09:08:27 +0000 (09:08 +0000)]
2005-04-20 Paul Jakma <paul@dishone.st>

* Makefile.am: Add @INCLUDES@ and srcdir to allow out-of-tree
  builds to work.

19 years ago2004-05-19 Paul Jakma <paul@dishone.st>
paul [Tue, 19 Apr 2005 21:28:36 +0000 (21:28 +0000)]
2004-05-19 Paul Jakma <paul@dishone.st>

* heavy.c: test programme to show how long-running functions
  kill responsiveness. Demonstrating the most niggly problem
  left in bgpd.

19 years ago2005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 16 Apr 2005 17:11:24 +0000 (17:11 +0000)]
2005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* configure.ac: Added AC_ARG_ENABLE(time-check).  By default,
  warning messages will now be printed for threads or commands that take
  longer than 5 seconds, but this configure argument can be used
  to disable the checks or change the threshold.
* thread.h (thread_consumed_time): Declare new function to calculate
  elapsed microseconds.
* thread.c (thread_consumed_time): Must be global not static so we
  can call it from lib/vty.c:vty_command.
  (thread_should_yield): Surround with `#if 0' to make clear that this
  function is not currently being used anywhere.
  (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG
  warning message if the thread takes more than CONSUMED_TIME_CHECK
  microseconds.
* vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU
  HOG warning message if the command takes more than CONSUMED_TIME_CHECK
  microseconds.

19 years ago2005-04-16 Paul Jakma <paul@dishone.st>
paul [Sat, 16 Apr 2005 15:51:05 +0000 (15:51 +0000)]
2005-04-16 Paul Jakma <paul@dishone.st>

* memtypes.c: the comment about use of comments in the comments
  headers was causing comment within comment warnings from compiler
* memtypes.awk: Add extensive comments on the file format for
  memtypes.c.
  tighten the pattern for the MTYPE matching action (suggestion from
  Andrew) and tighten which field we try the match on.

19 years ago2005-04-16 Paul Jakma <paul.jakma@sun.com>
paul [Sat, 16 Apr 2005 15:38:23 +0000 (15:38 +0000)]
2005-04-16 Paul Jakma <paul.jakma@sun.com>

* configure.ac: check for gawk, needed to build memtypes.h

19 years ago2005-04-15 Paul Jakma <paul@dishone.st>
paul [Fri, 15 Apr 2005 22:18:37 +0000 (22:18 +0000)]
2005-04-15 Paul Jakma <paul@dishone.st>

        * Makefile.am: memtypes.awk is gawk dependent, use the GAWK automake
  var.
* memtypes.h: New file, auto-generated, checked in for convenience.

19 years ago2005-04-15 Paul Jakma <paul@dishone.st>
paul [Fri, 15 Apr 2005 22:12:51 +0000 (22:12 +0000)]
2005-04-15 Paul Jakma <paul@dishone.st>

* topology/Makefile.am: random.c is a source of libtopology, so list
  it.

19 years ago2005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
paul [Fri, 15 Apr 2005 12:10:17 +0000 (12:10 +0000)]
2005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>

* ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
  to approve LSAs for the case where metric has changed, lsa gets
  flushed otherwise. (backport candidate).

19 years ago2005-04-15 Paul Jakma <paul@dishone.st>
paul [Fri, 15 Apr 2005 11:47:15 +0000 (11:47 +0000)]
2005-04-15 Paul Jakma <paul@dishone.st>

* memtypes.c: The new, unified location for memory type definitions.
  The memtype enum and declarations for memory_lists are built from
          this automatically and put into memtypes.h.
        * memtypes.awk: New script to generate memtypes.h from memtypes.c
        * memory.h: Finally, the enum can banished!
        * memory.c: Finally, the seperate mtype memory_list definitions can
          be banished!
          (log_memstats) Increase width of fields
          (show_memory_zebra_cmd) display zebra specific memory types.
          Increase width of fields.
        * Makefile.am: Add memtypes.{c,h}, add BUILT_SOURCES for memtypes.h
          Add a rule to build memtypes.h using memtypes.awk.
          Add memtypes.awk to EXTRA_DIST.

19 years ago2005-04-13 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 13 Apr 2005 03:37:23 +0000 (03:37 +0000)]
2005-04-13 Paul Jakma <paul.jakma@sun.com>

* Makefile.am: {i,r}.manifest are (or will be) system provided files
  and not in CVS, hence dont depend on them or distribute them.

19 years ago- add changelog
paul [Wed, 13 Apr 2005 03:32:23 +0000 (03:32 +0000)]
- add changelog

19 years ago2004-05-13 Paul Jakma <paul@dishone.st>
paul [Wed, 13 Apr 2005 03:31:35 +0000 (03:31 +0000)]
2004-05-13 Paul Jakma <paul@dishone.st>

* test-buffer.c: Andrew's buffer tester
* test-memory.c: basic memory tester
* Makefile.am: Add new tests

19 years ago * isis_adjacency.c: Fix typo introduced with listloop cleanup.
hasso [Tue, 12 Apr 2005 14:48:19 +0000 (14:48 +0000)]
* isis_adjacency.c: Fix typo introduced with listloop cleanup.

19 years ago2005-04-11 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 11 Apr 2005 20:22:09 +0000 (20:22 +0000)]
2005-04-11 Paul Jakma <paul.jakma@sun.com>

* .cvsignore: Add built files

19 years ago2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Mon, 11 Apr 2005 15:51:40 +0000 (15:51 +0000)]
2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

Implement non-blocking zclient I/O with buffering.
* zclient.h (struct zclient): Add two fields to support non-blocking
  I/O: struct buffer *wb, and struct thread *t_write.
  (zclient_free): Remove function.
  (zebra_redistribute_send): Change 2nd arg from socket fd to
  struct zclient * (needed to support non-blocking I/O and buffering).
  (zclient_send_message): New function to send an arbitrary
  message with non-blocking I/O.
* zclient.c (zclient_new): Create write buffer.
  (zclient_free): Remove unused function.
  (zclient_stop): Must cancel new t_write thread.  Also, reset
  all buffers: ibuf, obuf, and wb.
  (zclient_failed): New helper function for typical error handling.
  (zclient_flush_data): New thread to flush queued data.
  (zclient_send_message): New function to send the message in
  zclient->obuf to zebra using non-blocking I/O and buffering.
  (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use
  new zclient_send_message function instead of calling writen.
  (zclient_start): Set socket non-blocking.  Also, change 2nd arg
  to zebra_redistribute_send from zclient->sock to zclient.
  (zebra_redistribute_send): Change 2nd arg to struct zclient *.
  Can now use zclient->obuf to assemble the message instead of
  allocating a temporary stream.  And call zclient_send_message to
  send the message instead of writen.
  (zclient_read): Convert to support non-blocking I/O by using
  stream_read_try instead of deprecated stream_read.
  (zclient_redistribute): Change 2nd arg to zebra_redistribute_send
  from zclient->sock to zclient.
* ospf6_zebra.c (ospf6_zebra_redistribute, ospf6_zebra_no_redistribute):
  Change 2nd arg to zebra_redistribute_send from zclient->sock
  to zclient.
* ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
  of writen.
* rip_zebra.c (rip_redistribute_set, rip_redistribute_unset,
  rip_redistribute_clean): Change 2nd arg to zebra_redistribute_send
  from zclient->sock to zclient.
* ripng_zebra.c (ripng_redistribute_unset, ripng_redistribute_clean):
  Change 2nd arg to zebra_redistribute_send from zclient->sock
  to zclient.
* bgp_zebra.c (bgp_redistribute_set, bgp_redistribute_unset):
  The 2nd arg to zebra_redistribute_send is now zclient instead of
  zclient->sock.
* isis_zebra.h (isis_zebra_finish): Remove declaration of unused
  function.
* isis_zebra.c (isis_zebra_route_add_ipv4): Call zclient_send_message
  to send the message to zebra instead of calling writen directly, since
  zclient_send_message understands non-blocking I/O and will manage
  the buffer queue appropriately.
  (isis_zebra_finish): Remove unused function, particularly since
  the zclient_free function has been removed.

19 years ago2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Mon, 11 Apr 2005 14:55:55 +0000 (14:55 +0000)]
2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* configure.ac: Move AC_CANONICAL_* stuff before AM_INIT_AUTOMAKE to
  eliminate warning message about AC_ARG_PROGRAM being called
  before AC_CANONICAL_TARGET.

19 years ago2005-04-11 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 11 Apr 2005 07:58:35 +0000 (07:58 +0000)]
2005-04-11 Paul Jakma <paul.jakma@sun.com>

* Makefile.am: README.txt to EXTRA_DIST
* README.txt: new file, package creation, install, usage notes.

19 years ago2005-04-11 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 11 Apr 2005 07:10:47 +0000 (07:10 +0000)]
2005-04-11 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Call AC_CANONICAL_{BUILD,TARGET} macros. Target isnt
  set otherwise, afaict. AC_SUBST enable_{user,group,vty_group} and
  quagga_statedir - the Solaris package bits for one need this.
  configure the solaris/ Makefile.
* Makefile.am: solaris is a subdir - unconditional or else it wont
  be included in non-solaris made dists.

19 years ago2005-04-11 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 11 Apr 2005 07:05:21 +0000 (07:05 +0000)]
2005-04-11 Paul Jakma <paul.jakma@sun.com>

* (all) Initial check-in of files for building S10 packages
* protototype.*.in: package prototype files for SysV packages
* *.xml.in: SMF manifests for Quagga daemons
* pkginfo.*.tmpl.in: daemon specific pkginfo, refererenced
  by prototype files.
* pkginfo.tmpl.in: Quagga common pkginfo bits
* quagga.init.in: SMF method script
* Makefile.am: Automake file for building packages
* depend.*: Solaris 10 dependencies for packages, referenced by
  prototype files.
* .cvsignore: no idea what this is for...

19 years ago2005-04-10 Paul Jakma <paul@dishone.st>
paul [Sun, 10 Apr 2005 16:54:26 +0000 (16:54 +0000)]
2005-04-10 Paul Jakma <paul@dishone.st>

* if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
  in ALL_LIST_ELEMENTS_RO macro.

19 years ago2005-04-10 Paul Jakma <paul@dishone.st>
paul [Sun, 10 Apr 2005 16:43:40 +0000 (16:43 +0000)]
2005-04-10 Paul Jakma <paul@dishone.st>

* quagga.info: Update to match bgpd.texi addition

19 years ago2005-04-10 Paul Jakma <paul.jakma@sun.com>
paul [Sun, 10 Apr 2005 16:31:51 +0000 (16:31 +0000)]
2005-04-10 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Fix host string recognition for Solaris Nevada aka
  solaris2.10.1, and hopefully future such strings.

19 years ago2005-04-10 Paul Jakma <paul@dishone.st>
paul [Sun, 10 Apr 2005 15:58:10 +0000 (15:58 +0000)]
2005-04-10 Paul Jakma <paul@dishone.st>

* Makefile.am: topology should not be a conditional SUBDIR,
  otherwise make dist breaks.
* topology/Makefile.am: remove EXTRA_DIST of files which dont
  exist in that directory, broke make dist.
* isisd.c: (show_isis_generated_topology_cmd) convert LIST_LOOP
* isis_lsp.c: (generate_topology_lsps) ditto
  (build_topology_lsp_data) ditto

19 years ago2005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sun, 10 Apr 2005 15:01:56 +0000 (15:01 +0000)]
2005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* zserv.c (zebra_client_read): Fix bug: first read attempt should
  read ZEBRA_HEADER_SIZE minus the number of bytes already read.
  Improve efficiency by maintaining a calculation of the number
  of bytes read instead of calling stream_get_endp multiple times.
  If message length is too small, issue a warning message (not debug)
  before closing the connection.  And also check that message length
  is not too big.

19 years ago * rt_netlink.c: One tiny missing comma caused pointless debug messages
hasso [Sat, 9 Apr 2005 16:59:28 +0000 (16:59 +0000)]
* rt_netlink.c: One tiny missing comma caused pointless debug messages
  about IPv6 nexthops.

19 years ago * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
hasso [Sat, 9 Apr 2005 16:38:51 +0000 (16:38 +0000)]
* rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
  status to unsigned here, because we already checked that it isn't
  negative or 0.
* rt_netlink.c (netlink_interface_addr): Prefix length belongs to the
  address, not to the interface.
* rt_netlink.c (netlink_route_multipath): Fix debug. No useless info
  is printed out now and IPv6 info is handeled.

19 years ago * routemap.c: Show description in "show route-map" output.
hasso [Sat, 9 Apr 2005 13:27:50 +0000 (13:27 +0000)]
* routemap.c: Show description in "show route-map" output.

19 years ago * bgp_vty.c: Make "exit-address-family" work in IPv4 unicast address
hasso [Sat, 9 Apr 2005 13:07:47 +0000 (13:07 +0000)]
* bgp_vty.c: Make "exit-address-family" work in IPv4 unicast address
  family node.

[backport candidate]

19 years ago2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 8 Apr 2005 19:02:04 +0000 (19:02 +0000)]
2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined.

19 years ago2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 8 Apr 2005 18:50:40 +0000 (18:50 +0000)]
2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* vty.c: (vty_log_fixed) Use casts to (void *) to try to eliminate
  compiler warnings when assigning a (const char *) value to
  struct iovec iov_base.

19 years ago2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 8 Apr 2005 16:42:03 +0000 (16:42 +0000)]
2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE.  This
  fixes a problem where we were not getting the declaration of strnlen
  in <string.h>.

19 years ago * bgpd.texi: Document new "bgp bestpath as-path confed" command.
hasso [Fri, 8 Apr 2005 15:40:36 +0000 (15:40 +0000)]
* bgpd.texi: Document new "bgp bestpath as-path confed" command.
* bgp_aspath.[ch], bgp_route.c, bgp_vty.c, bgpd.[ch]: Allow to enable
  the length of confederation path segments to be included during the
  as-path length check in the best path decision.

19 years ago * routemap.[ch]: Added "description ..." command.
hasso [Fri, 8 Apr 2005 14:20:18 +0000 (14:20 +0000)]
* routemap.[ch]: Added "description ..." command.
  Closes Bugzilla #167.

19 years ago * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more
hasso [Fri, 8 Apr 2005 01:30:51 +0000 (01:30 +0000)]
* prefix.[hc]: Pass argument to the inet6_ntoa by value making it more
  inet_ntoa alike.
* ripngd.[hc], ripng_interface.c, ripng_peer.c: inet6_ntoa() takes
  argument now by value.

19 years ago * extract.pl.in: Ignore "router zebra".
hasso [Thu, 7 Apr 2005 18:42:09 +0000 (18:42 +0000)]
* extract.pl.in: Ignore "router zebra".

19 years ago * Makefile.am: Remove rebuild4 target, it's not used any more by build
hasso [Thu, 7 Apr 2005 17:07:39 +0000 (17:07 +0000)]
* Makefile.am: Remove rebuild4 target, it's not used any more by build
  procedure. Define vtysh_cmd_FILES. Use EXTRA_DIST.

19 years ago2005-04-07 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 7 Apr 2005 07:30:20 +0000 (07:30 +0000)]
2005-04-07 Paul Jakma <paul.jakma@sun.com>

* (global): Fix up list loops to match changes in lib/linklist,
  and some basic auditing of usage.
* configure.ac: define QUAGGA_NO_DEPRECATED_INTERFACES
* HACKING: Add notes about deprecating interfaces and commands.
* lib/linklist.h: Add usage comments.
  Rename getdata macro to listgetdata.
  Rename nextnode to listnextnode and fix its odd behaviour to be
  less dangerous.
  Make listgetdata macro assert node is not null, NULL list entries
          should be bug condition.
          ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use
          with for loop, Suggested by Jim Carlson of Sun.
          Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the
          "safety" of previous macro.
  LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to
  distinguish from the similarly named functions, and reflect their
  effect better.
  Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section
  with the old defines which were modified above,
  for backwards compatibility - guarded to prevent Quagga using it..
* lib/linklist.c: fix up for linklist.h changes.
* ospf6d/ospf6_abr.c: (ospf6_abr_examin_brouter) change to a single
  scan of the area list, rather than scanning all areas first for
  INTER_ROUTER and then again for INTER_NETWORK. According to
  16.2, the scan should be area specific anyway, and further
  ospf6d does not seem to implement 16.3 anyway.

19 years ago * lib/prefix.[hc]: inet6_ntoa utility function copied from
hasso [Tue, 5 Apr 2005 14:36:49 +0000 (14:36 +0000)]
* lib/prefix.[hc]: inet6_ntoa utility function copied from
  ripngd/ripngd.c (inet6_ntop).
* ripngd.[hc]: Remove inet6_ntop() and any usage of it. inet6_ntoa()
  from lib is used now.
* ripng_interface.c: inet6_ntop() -> inet6_ntoa().
* ripng_peer.c: inet6_ntop() -> inet6_ntoa().

19 years ago2005-04-05 Paul Jakma <paul@dishone.st>
paul [Tue, 5 Apr 2005 10:14:50 +0000 (10:14 +0000)]
2005-04-05 Paul Jakma <paul@dishone.st>

* HACKING: Expand on the importance of supplying good ChangeLog's in
  the PATCH SUBMISSION section.

19 years ago2005-04-05 Paul Jakma <paul@dishone.st>
paul [Tue, 5 Apr 2005 10:10:06 +0000 (10:10 +0000)]
2005-04-05 Paul Jakma <paul@dishone.st>

* HACKING: remove the 'manually patch redhat/quagga.spec' bit
  from RELEASE section. Let the rpm revision be CONFDATE, will work
  fine.

19 years ago2005-04-05 Paul Jakma <paul@dishone.st>
paul [Tue, 5 Apr 2005 08:04:18 +0000 (08:04 +0000)]
2005-04-05 Paul Jakma <paul@dishone.st>

* Makefile.am: Get rid of built_sources. It causes them to be added
  to dist, and the dist host can not generate the PDFs.

19 years ago2004-04-05 Paul Jakma <paul@dishone.st>
paul [Tue, 5 Apr 2005 00:45:23 +0000 (00:45 +0000)]
2004-04-05 Paul Jakma <paul@dishone.st>

* lib/vty.c: Improve logging of failures to open vty socket(s).
  See bugid #163.
* zebra/zserv.c: print more helpful errors when we fail to successfully
  bind and listen on zserv socket. Closes bugzilla #163.

19 years ago * configure.ac: Fix AC_LANG_SOURCE usage. It needs double square
hasso [Sun, 3 Apr 2005 23:46:37 +0000 (23:46 +0000)]
* configure.ac: Fix AC_LANG_SOURCE usage. It needs double square
  brackets around source. Single ones broke square brackets in the
  code (arrays).

19 years ago * configure.ac: Use AC_RUN_IFELSE instead of obsolete AC_TRY_RUN macro
hasso [Sun, 3 Apr 2005 13:07:21 +0000 (13:07 +0000)]
* configure.ac: Use AC_RUN_IFELSE instead of obsolete AC_TRY_RUN macro
  and define action for cross-compiling.

[backport candidate]

19 years ago2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sun, 3 Apr 2005 03:40:52 +0000 (03:40 +0000)]
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
* if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
  avoid overflow.
* kernel_socket.c: (ifan_read) Use if_get_by_name_len.
* if.h: Fix comments to reflect that if_lookup_by_name and
  if_get_by_name now require the argument strings to be NUL-terminated.
* if.c: (if_lookup_by_name) Compare using strcmp.
  (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create.

19 years ago2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 2 Apr 2005 23:23:55 +0000 (23:23 +0000)]
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
  function that does not exist.
* ospf6_interface.[ch]: (ospf6_interface_lookup_by_name) Remove unused
  function.

19 years ago2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 2 Apr 2005 23:16:41 +0000 (23:16 +0000)]
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_zebra.c: (zebra_interface_if_lookup) Must use
  if_lookup_by_name_len.

19 years ago2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 2 Apr 2005 23:09:52 +0000 (23:09 +0000)]
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* isis_zebra.c: (isis_zebra_if_del) Must use if_lookup_by_name_len.

19 years ago2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 2 Apr 2005 23:05:56 +0000 (23:05 +0000)]
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* if.c: (if_nametoindex) The man page is rather vague, but it seems
  like the argument to if_nametoindex has an implicit maximum length
  of IFNAMSIZ characters.

19 years ago2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 2 Apr 2005 22:50:38 +0000 (22:50 +0000)]
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions.
* if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions.
  (if_get_by_name) Tighten up code.
  (interface) Use new function if_get_by_name_len.
* zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len
  function.
  (zebra_interface_state_read) Use new if_lookup_by_name_len function.
* kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
  to save a memcpy.
* if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
  if_get_by_name_len function.
* ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.

19 years ago * configure.ac: Add --enable-isis-topology to enable isisd topology
hasso [Sat, 2 Apr 2005 19:03:39 +0000 (19:03 +0000)]
* configure.ac: Add --enable-isis-topology to enable isisd topology
  generator code.
* isisd/Makefile.am: Variables to handle conditonal compiling of
  topology generator code.
* isisd/isis_lsp.c: lsppdu_realloc() is used by topology generator.
* isisd/isisd.c: Rename show_isis_topology_cmd to not conflict the one
  in the isis_spf.c.
* isisd/isisd.h: Remove TOPOLOGY_GENERATE define, it will be defined in
  toplevel config.h if topology generator is enabled.
* isisd/topology/Makefile.am: Handle the libtoolized Quagga libraries.

19 years ago2005-04-02 Paul Jakma <paul@dishone.st>
paul [Sat, 2 Apr 2005 18:53:00 +0000 (18:53 +0000)]
2005-04-02 Paul Jakma <paul@dishone.st>

* Makefile.am: Urg, dont use automake _SOURCES, _BUILT_SOURCES
  for figures, automake doesnt know anything about them.

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

* str.c: Replace strlcpy and strlcat with actual working versions
  copied from rsync-2.6.2/lib/compat.c.

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

Fix problems when netlink interfaces are renamed (same ifindex used
for a new interface).  Start cleaning up some problems with the way
interface names are handled.
* interface.c: (if_new_intern_ifindex) Remove obsolete function.
  (if_delete_update) After distributing the interface deletion message,
  set ifp->ifindex to IFINDEX_INTERNAL.
  (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
  IFINDEX_INTERNAL.
  (zebra_interface) Check return code from interface_cmd.func.
  Do not set internal ifindex values to if_new_intern_ifindex(),
  since we now use IFINDEX_INTERNAL for all pseudo interfaces.
* kernel_socket.c: (ifm_read) Fix code and comments to reflect that
  all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
        * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
  Detects interface rename events by checking if that ifindex is already
  being used.  If it is, delete the old interface before assigning
  the ifindex to the new interface.
  (netlink_interface, netlink_link_change) Call set_ifindex to update
  the ifindex.
* if.h: Remove define for IFINDEX_INTERNBASE and add define
  IFINDEX_INTERNAL 0, since all internal (i.e. non-kernel) pseudo-
  interfaces should have ifindex set to 0.
  (if_new) Remove function.
  (if_delete_retain) New function to delete an interface without
  removing from iflist and freeing the structure.
  (ifname2ifindex) New function.
* if.c: (if_new) Remove function (absorb into if_create).
  (if_create) Replace function if_new with call to calloc.
  Set ifp->ifindex to IFINDEX_INTERNAL.  Fix off-by-one error
  in assert to check length of interface name.  Add error message
  if interface with this name already exists.
  (if_delete_retain) New function to delete an interface without
  removing from iflist and freeing the structure.
  (if_delete) Implement with help of if_delete_retain.
  (ifindex2ifname) Reimplement using if_lookup_by_index.
  (ifname2ifindex) New function to complement ifindex2ifname.
  (interface) The interface command should check the name length
  and fail with a warning message if it is too long.
  (no_interface) Fix spelling in warning message.
  (if_nametoindex) Reimplement using if_lookup_by_name.
  (if_indextoname, ifaddr_ipv4_lookup) Reimplement using
  if_lookup_by_index.
* bgp_zebra.c: (bgp_interface_delete) After deleting, set ifp->ifindex
  to IFINDEX_INTERNAL.
* isis_zebra.c: (isis_zebra_if_del) Call if_delete_retain instead
  of if_delete, since it is generally not safe to remove interface
  structures.  After deleting, set ifp->ifindex to IFINDEX_INTERNAL.
  (zebra_interface_if_lookup) Tighten up code.
* ospf6_zebra.c: (ospf6_zebra_if_del) Previously, this whole function
  was commented out.  But this is not safe: we should at least update
  the ifindex when the interface is deleted.  So the new version
  updates the interface status and sets ifp->ifindex to
  IFINDEX_INTERNAL.
  (ospf6_zebra_route_update) Use if_indextoname properly.
* ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
  flags to help with debugging.
* ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
  to IFINDEX_INTERNAL.
  (zebra_interface_if_lookup) Make function static.  Tighten up code.
* rip_interface.c: (rip_interface_delete) After deleting, set
  ifp->ifindex to IFINDEX_INTERNAL.
* ripng_interface.c: (ripng_interface_delete) After deleting, set
  ifp->ifindex to IFINDEX_INTERNAL.

19 years ago2005-04-02 Paul Jakma <paul@dishone.st>
paul [Sat, 2 Apr 2005 17:24:43 +0000 (17:24 +0000)]
2005-04-02 Paul Jakma <paul@dishone.st>

* .cvsignore: ignore eps files, built from sources

19 years ago2005-04-02 Paul Jakma <paul@dishone.st>
paul [Sat, 2 Apr 2005 17:13:33 +0000 (17:13 +0000)]
2005-04-02 Paul Jakma <paul@dishone.st>

* INSTALL.quagga.txt: Add note about additional CVS build
  requirements, if one wishes to build ps/pdf docs.

19 years ago2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 2 Apr 2005 16:37:07 +0000 (16:37 +0000)]
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf6_route.c: (ospf6_route_show, ospf6_route_show_detail) Protect
  against the possibility that the string returned by if_indextoname
  may not terminate with '\0'.

19 years ago2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 2 Apr 2005 16:01:05 +0000 (16:01 +0000)]
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* configure.ac: Add strnlen to AC_CHECK_FUNCS.
* zebra.h: Should include str.h to pick up missing functions.
* str.h: Declare strnlen if needed.
* str.c: Do not include str.h since zebra.h now includes it.
  (strnlen) New function.

19 years ago2005-04-02 Paul Jakma <paul@dishone.st>
paul [Sat, 2 Apr 2005 12:13:59 +0000 (12:13 +0000)]
2005-04-02 Paul Jakma <paul@dishone.st>

* Makefile.am: quagga_TEXINFOS should depend on figures_BUILT_SOURCES.

19 years ago2005-04-02 Paul Jakma <paul@dishone.st>
paul [Sat, 2 Apr 2005 10:18:42 +0000 (10:18 +0000)]
2005-04-02 Paul Jakma <paul@dishone.st>

* fig{-{normal,rs}-processing,_topologies_{rs,full}}.dia: new
          files, dia diagramme XML versions of the original corresponding
          EPS encapsulated bitmaps.
* fig{-{normal,rs}-processing,_topologies_{rs,full}}.png: new
  files, png exports by dia of the source dia diagrammes above.
* fig{-{normal,rs}-processing,_topologies_{rs,full}}.eps: removed,
  replaced by above dia source.
* routeserver.texi: remove extension in image macros.
* quagga.info: updated build
* Makefile.am: Add rules to build eps (using 'convert'), png (using
  dia). Add figures_BUILT_SOURCES to extra_dist to avoid the
  dependency on dia :) (amongst other things) for dist users.

19 years ago * rt_netlink.c (netlink_talk_filter): Show always warning message,
hasso [Thu, 31 Mar 2005 20:13:49 +0000 (20:13 +0000)]
* rt_netlink.c (netlink_talk_filter): Show always warning message,
  it's not for debug.
* rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
  although we do now actually.
* rt_netlink.c (netlink_route, netlink_route_multipath): Always use
  netlink_cmd to send messages to the kernel.

[backport candidate]