]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
18 years ago[zebra] fix some small compile errors, mark several functions static
paul [Wed, 23 Nov 2005 13:02:08 +0000 (13:02 +0000)]
[zebra] fix some small compile errors, mark several functions static

2005-11-23 Paul Jakma <paul.jakma@sun.com>

* (general) fix some small compile errors, and mark several
          functions as static.
        * kernel_socket.c: (ifan_read) should be static.
          fix missing brackets.
          (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static
          (ifam_read_mesg) make static. fix incorrect variable name.
          (rtm_read) make static. Fix call to rib_delete_ipv4 which
          should be rib_delete_ipv6.
          (routing_socket,kernel_init) should be static. Void argument
          should be specified as such, not left incomplete.
        * rt_netlink.c: rt.h should be included, contains prototypes of
          exported functions.
          (kernel_delete_ipv6_old) fix sign of index argument.
        * rt_socket.c: Exact same as previous. Also, make various
          functions static.
        * rtread_getmsg.c: Include zserv.h, which prototypes
          route_read. Make static.
        * rtread_sysctl.c: zserv.h and rt.h should be included.
          fix definition of route_read.

18 years ago[tests] Add empty-path and sequence+1ASN test data to aspath_test.c
paul [Wed, 23 Nov 2005 02:48:14 +0000 (02:48 +0000)]
[tests] Add empty-path and sequence+1ASN test data to aspath_test.c

2005-11-23 Paul Jakma <paul.jakma@sun.com>

* aspath_test.c: Add an empty aspath to test segments, and to
  compare tests.
  Add a segment identical to seq1, but with one extra asn.
  Fix bogus free of stream in make_aspath for case where
  no stream was allocated (empty path data).

18 years ago[bgp] Fix SEGV if empty path is confed-compared ([quagga-users 5968])
paul [Wed, 23 Nov 2005 02:47:02 +0000 (02:47 +0000)]
[bgp] Fix SEGV if empty path is confed-compared ([quagga-users 5968])

2005-11-23 Paul Jakma <paul.jakma@sun.com>

* bgp_aspath.c: (assegments_parse) should be static

2005-11-23 Juergen Kammer <j.kammer@eurodata.de>

* bgp_aspath.c: (aspath_cmp_left_confed) fix SEGV for case
  where one or both paths are empty.

18 years ago2005-11-20 Paul Jakma <paul.jakma@sun.com>
paul [Sun, 20 Nov 2005 14:54:12 +0000 (14:54 +0000)]
2005-11-20 Paul Jakma <paul.jakma@sun.com>

        * ospf_abr.c: (ospf_abr_announce_network_to_area) check
          returned LSA of ospf_summary_lsa_refresh and print warning if
          it failed.
          (ospf_abr_announce_network_to_area) similar
          (ospf_abr_announce_rtr_to_area) similar
        * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid.
          (ospf_router_lsa_originate) similar
          (ospf_router_lsa_refresh, ospf_network_lsa_new) similar
          (ospf_summary_lsa_new) Check ID is valid.
          (ospf_summary_lsa_originate) ditto, and check returned LSA from
           previous function is !NULL.
          (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return
           is !NULL.
          (ospf_summary_asbr_lsa_new) ID valid check.
          (ospf_summary_asbr_lsa_originate) similar.

18 years ago2005-11-20 Paul Jakma <paul.jakma@sun.com>
paul [Sun, 20 Nov 2005 14:50:45 +0000 (14:50 +0000)]
2005-11-20 Paul Jakma <paul.jakma@sun.com>

        * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define
          (struct ospf) remove the router_id timer thread.
          remove export of ospf_router_id_update_timer.
        * ospfd.c: (ospf_router_id_update) call ospf_if_update to
          poke interfaces into action after ID has been configured.
          (ospf_router_id_update_timer) removed.
          (ospf_finish_final) t_router_id_update timer is gone.
          (ospf_network_run) router-id update timer gone.
          call ospf_router_id_update directly if ID not configured.
          In the per-iface loop, don't ospf_if_up interfaces if
          ID is still not configured. The update function will call
          ospf_if_update anyway.
          (ospf_if_update) ID update timer is gone. Just return if no
          ID is set.
        * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no
          timer needed.
        * ospf_zebra.c: (ospf_router_id_update_zebra) call
          ospf_router_id_update directly, not via timer.

18 years ago[isisd] remove includes of common system headers.
paul [Sun, 20 Nov 2005 02:15:50 +0000 (02:15 +0000)]
[isisd] remove includes of common system headers.

2005-11-20 Paul Jakma <paul.jakma@sun.com>

        * (general) remove includes of very common system headers,
          these are already picked up by zebra.h. Further, including
          them before zebra.h messes up all our lovely (sarcasm)
          autoconf'd detecting of platform specific things. Recent
          addition of stdint.h to configure.ac and zebra.h appears
          particularly to throw up this problem.

18 years ago- quagga.spec.in: Release sub-rev now release_rev macro, for rpmbuild -D
paul [Sun, 20 Nov 2005 02:09:32 +0000 (02:09 +0000)]
- quagga.spec.in: Release sub-rev now release_rev macro, for rpmbuild -D

18 years ago[ospfd] Standardize buffer sizes used for displaying timers.
ajs [Wed, 16 Nov 2005 20:17:52 +0000 (20:17 +0000)]
[ospfd] Standardize buffer sizes used for displaying timers.
2005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size
  for use with ospf_timer_dump and ospf_timeval_dump.
* ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and
  ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE.
  (show_ip_ospf_interface_sub) Fix possible buffer overflow in
  call to ospf_timer_dump.

18 years ago[ospfd] Make OSPF_ISM_TIMER_OFF macro safer.
ajs [Wed, 16 Nov 2005 19:33:22 +0000 (19:33 +0000)]
[ospfd] Make OSPF_ISM_TIMER_OFF macro safer.
2005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing
  in 'do {...} while(0)'.

18 years ago[workqueue] Update workqueue users callbacks to additional arguments
paul [Mon, 14 Nov 2005 14:46:35 +0000 (14:46 +0000)]
[workqueue] Update workqueue users callbacks to additional arguments

2005-11-14 Paul Jakma <paul.jakma@sun.com>

* (general) pass struct work-queue to callback functions.
* workqueue.h: (struct work_queue) move the state flag
  variables to end.
  Add an opaque pointer to spec, for user-data global to the
  queue.
  Pass reference to work_queue to all callbacks.
* workqueue.c: (work_queue_item_remove) pass ref to workqueue
  to user callbacks.
  (work_queue_run) ditto.

18 years ago2005-11-14 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 14 Nov 2005 14:31:49 +0000 (14:31 +0000)]
2005-11-14 Paul Jakma <paul.jakma@sun.com>

* zebra_rib.c: (rib_process) convert to new workqueue specs and
  shut up gcc, which complains about cast from void via
  function parameters, for some dumb reason. Do the cast
  inside the function instead.
  (rib_queue_qnode_del) ditto.
  (rib_queue_init) no need for the casts anymore.

18 years ago[bug #231] check and include stdint.h, also add std=c99 to gcc CFLAGS
paul [Mon, 14 Nov 2005 14:05:35 +0000 (14:05 +0000)]
[bug #231] check and include stdint.h, also add std=c99 to gcc CFLAGS

2005-11-14 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Tell gcc we like C99.
  [bug #231] Check and test for stdint.h.
* lib/zebra.h: [bug #231] include stdint, if its there.

18 years ago2005-11-14 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 14 Nov 2005 12:07:47 +0000 (12:07 +0000)]
2005-11-14 Paul Jakma <paul.jakma@sun.com>

* (general) Add state to detect queue floods.  There's no sense
  trying to be sparing of CPU resources, if the queue is
  flooding and using ever more memory resources. we should just
  get on with clearing the queue.
  The sense of delay and hold were wrong way around, fix.
* workqueue.h: (struct work_queue) Add status bitfield.  Add
  'flood' integer to workqueue spec.  Add runs_since_clear
  counter to workqueue.
* workqueue.c: (work_queue_new) set defaults for delay, hold
  and flood.
  (work_queue_add) initial schedule should use delay, not hold.
  (show_work_queues) Print flood field, conserve whitespace.
  (work_queue_unplug) use delay, not hold.
  (work_queue_run) consecutive runs should be seperated by hold
  time, not delay.
  Keep track of number of consecutive runs, go into 'overdrive'
  if queue is being flooded, we can't avoid making heavy use of
  resources, better to use CPU than ever more RAM.

18 years ago[ospfd] misc small fixes. Fix default stub router setting. no opaque compile.
paul [Mon, 14 Nov 2005 11:11:11 +0000 (11:11 +0000)]
[ospfd] misc small fixes. Fix default stub router setting. no opaque compile.

2005-11-14 Paul Jakma <paul.jakma@sun.com>

* ospfd.c: (ospf_new) stub-shutdown should just default to
  unconfigured, too strange otherwise.
  (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be
  preprocessor conditional on HAVE_OPAQUE_LSA.
* ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define.
  no longer used, plus it wasn't in range that the command
  accepted.
* ospf_zebra.h: Depends on vty.h, include it.

18 years ago[solaris] Extra debug and cross-checks for kernel_socket, two Sol9 fixes.
paul [Sat, 12 Nov 2005 22:55:10 +0000 (22:55 +0000)]
[solaris] Extra debug and cross-checks for kernel_socket, two Sol9 fixes.

2005-11-12 Alexander Gall <gall@switch.ch>

* See [quagga-dev 1815]
* kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN
  is not available.
* rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to
  AF_INET6 on ipv6 routes.

2005-11-12 Paul Jakma <paul.jakma@sun.com>

* kernel_socket.c: Add RTA_NAME_GET macro to extract name from
  sockaddr_dl. Add some more RTF_ flags.
* (ifan_read) Add some debug messages.
* (ifm_read) Add more debug messages. More robust cross-checks
  of index against name.
  Fall back to by-name lookup if the index lookup fails, future
  proofing more than anything else.
  (ifam_read_mesg) Read RTA_IFP. Add debug messages.
  (ifam_read) More debug. If there's an RTA_IFP and it isn't
  the name of the interface, save it as the label.
  (rtm_read_mesg) Read RTA_IFP.
  (rtm_read) allow name to be retrieved.
  (rtmsg_debug) expand on the debug message.

18 years ago[lib] 'show route-map' should print call action seperate from exit policy
paul [Sat, 12 Nov 2005 22:36:41 +0000 (22:36 +0000)]
[lib] 'show route-map' should print call action seperate from exit policy

2005-11-12 Paul Jakma <paul.jakma@sun.com>

* routemap.c: (vty_show_route_map_entry) call action is
  seperate from exit action, latter should still be printed
  regardless of whether a call is specified.

18 years ago[ospfd] SPF ospf_canonical_nexthops_free bugfix.
paul [Fri, 11 Nov 2005 12:10:03 +0000 (12:10 +0000)]
[ospfd] SPF ospf_canonical_nexthops_free bugfix.

18 years ago[doc] quagga.info updated /again/ due to version bump, d'oh.
paul [Fri, 11 Nov 2005 11:16:11 +0000 (11:16 +0000)]
[doc] quagga.info updated /again/ due to version bump, d'oh.

18 years ago2005-11-11 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 11 Nov 2005 10:28:59 +0000 (10:28 +0000)]
2005-11-11 Paul Jakma <paul.jakma@sun.com>

* NEWS: Update.
* configure.ac: Bump to 0.99.2

18 years ago- commit the actual file..
paul [Fri, 11 Nov 2005 09:59:10 +0000 (09:59 +0000)]
- commit the actual file..

18 years ago[trivia] update quagga.info, auto-built file
paul [Fri, 11 Nov 2005 09:58:35 +0000 (09:58 +0000)]
[trivia] update quagga.info, auto-built file

2005-11-11 Paul Jakma <paul.jakma@sun.com>

* quagga.info: update auto-built file. Methinks it's time to
  remove from CVS..

18 years ago[zebra] Fix warning and small connected-label changes merge error.
paul [Fri, 11 Nov 2005 09:52:40 +0000 (09:52 +0000)]
[zebra] Fix warning and small connected-label changes merge error.

2005-11-11 Paul Jakma <paul.jakma@sun.com>

* kernel_socket.c: (ifm_read) arithmetic on void pointer
  warning.
  (ifam_read) Fix error from connected-with-label merge,
  something crept in from the pending Solaris kernel_socket.c
          patch which shouldn't have.

18 years ago2005-11-10 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 10 Nov 2005 10:21:19 +0000 (10:21 +0000)]
2005-11-10 Paul Jakma <paul.jakma@sun.com>

* HACKING: Add recommendation to provide a single Subject
  style description to the commit message.
  Add some recommendations for ChangeLog.

18 years ago[doc] List snmptrap.texi as a source, so it gets included in dist
paul [Mon, 7 Nov 2005 03:19:51 +0000 (03:19 +0000)]
[doc] List snmptrap.texi as a source, so it gets included in dist

2005-11-07 Paul Jakma <paul.jakma@sun.com>

* Makefile.am: snmptrap.texi needs to be listed as a source,
  not disted otherwise.

18 years ago- Makefile.am: quagga.pam.stack should be in dists
paul [Sat, 5 Nov 2005 16:29:54 +0000 (16:29 +0000)]
- Makefile.am: quagga.pam.stack should be in dists
- quagga.spec.in: introduce dist variable to allow for differences
  e.g in buildreqs, pam config files. etc.

18 years ago2005-11-04 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 4 Nov 2005 21:53:59 +0000 (21:53 +0000)]
2005-11-04 Paul Jakma <paul.jakma@sun.com>

* quagga.info: Update auto-built file
* ospf6d.texi: Add example config
* bgpd.texi: Add example configs. Couple of cleanups of format
  and macros.
* routemap.texi: Add an explanation of how route-maps work.
  Document the call and exit-policy commands.

18 years ago2005-11-04 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 4 Nov 2005 12:48:25 +0000 (12:48 +0000)]
2005-11-04 Paul Jakma <paul.jakma@sun.com>

* snmptrap.texi: Contributed documentation, contributors name
  is lost (please get in touch). Configuring SNMP for logging
  traps.
* snmp.texi: Minor formatting changes.
* quagga.info: Update auto-built file

18 years ago2005-11-04 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 4 Nov 2005 12:34:06 +0000 (12:34 +0000)]
2005-11-04 Paul Jakma <paul.jakma@sun.com>

* prototype.dev.in: lib/md5-gnu.h is now lib/md5.h

18 years ago2005-11-04 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 4 Nov 2005 12:31:39 +0000 (12:31 +0000)]
2005-11-04 Paul Jakma <paul.jakma@sun.com>

* ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub
  function rather than unportable timersub.

18 years ago- quagga.pam: pam_stack.so module is deprecated, use 'include' instead.
paul [Fri, 4 Nov 2005 12:25:23 +0000 (12:25 +0000)]
- quagga.pam: pam_stack.so module is deprecated, use 'include' instead.
- quagga.pam.stack: the old pam_stack way, kept to allow spec file to
  backwards compatible (changes to spec file pending local testing)

18 years ago- bah, fix likkle typo.
paul [Thu, 3 Nov 2005 13:09:10 +0000 (13:09 +0000)]
- bah, fix likkle typo.

18 years ago2005-11-03 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 3 Nov 2005 13:00:54 +0000 (13:00 +0000)]
2005-11-03 Paul Jakma <paul.jakma@sun.com>

* memtypes.h: Update auto-built file.

18 years ago2005-11-03 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 3 Nov 2005 12:52:18 +0000 (12:52 +0000)]
2005-11-03 Paul Jakma <paul.jakma@sun.com>

* bgp_damp.c: (bgp_reuse_timer) struct bgp can be retrieved via
  the struct bgp_damp_info, no need to guess by using
  bgp_get_default().

18 years ago2005-11-03 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 3 Nov 2005 12:35:21 +0000 (12:35 +0000)]
2005-11-03 Paul Jakma <paul.jakma@sun.com>

* connected.{c,h}: Include memory.h
  (connected_add_ipv4) Use MTYPE for ifc label.
  (connected_add_ipv6) Also should accept label. Store it in ifp.
  (connected_del_ipv4) Taking label as argument is pointless.
* rt_netlink.c: (netlink_interface_addr) update label usage
  for connected_{add,delete} functions.
* if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6.
* if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT
  so we also find out about NOXMIT interfaces like VNI.
  Bit of hackery to turn interface names into the primary
  interface name, later with routing socket messages we only
  will about primary interfaces anyway, so we must normalise
  the name.
  (if_get_addr) take label as argument, so it can
  be passed to connected_add.
  If label is provided, then it is interface name to issue the
  ioctl for address information on, not the ifp name.
  (interface_list) List AF_UNSPEC too, just in case.
* if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6.
* interface.c: (if_addr_wakeup) Some very bogus code - sets
  IFF_RUNNING - add comment.
  (if_refresh)
  (ip_address_install) Use MTYPE for ifc label.
* ioctl_solaris.c: (if_mangle_up) New function. Hackery to make
  IFF_UP reflect whether any addresses are left on the
  interface, as we get signalled for IFF_UP flags change on the
  primary interface only. Logical interfaces dont generate
  IFINFO, but we do get an RTM_DELADDR.
  (if_get_flags) Call if_mangle_up before return.
* kernel_socket.c: (ifam_read) Fixup calls to
  connected_{add,delete} to match above changes. Rename gate
  variable to brd, less confusing.
  Pass the interface name as a label, if it is not same name
  as ifp->name.

18 years ago2005-11-03 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 3 Nov 2005 11:15:44 +0000 (11:15 +0000)]
2005-11-03 Paul Jakma <paul.jakma@sun.com>

* ospf_packet.c: Change level of some warnings to
  informational.

18 years ago2005-11-03 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 3 Nov 2005 11:04:07 +0000 (11:04 +0000)]
2005-11-03 Paul Jakma <paul.jakma@sun.com>

* if.c: (connected_free) use MTYPE for connected label.
  memtypes.c: Add MTYPE_CONNECTED_LABEL

18 years ago2005-11-03 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 3 Nov 2005 09:08:29 +0000 (09:08 +0000)]
2005-11-03 Paul Jakma <paul.jakma@sun.com>

* ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon
* ospf_packet.c: include checksum.h, remove the in_cksum extern
* prototypes.
* ospf_te.h: Add braces, quell warning.

18 years ago2005-11-03 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 3 Nov 2005 09:00:23 +0000 (09:00 +0000)]
2005-11-03 Paul Jakma <paul.jakma@sun.com>

* zebra.h: BSD BYTE_ORDER define isn't available everywhere,
  define if needs be.
* checksum.h: new file. checksum.c exports in_cksum, provide
  a header for it.
* checksum.c: (in_cksum) callers shouldn't have to know it uses
  a u_short internally, change to void *.
* Makefile.am: Add checksum.h
* command.h: remove bogus trailling slash.
* md5.c: (general) Update it for the twentieth century. ANSI
  declarations are widely supported now.. Don't include system
  headers, only include zebra.h. Use POSIX types (the
  alternative is to define u_int64_t in a portable way - rest
  of Quagga needs same cleanup).
  Make endian-conditional code be compiler conditional rather
  than preprocessor conditional, so that breakage gets noticed
  quicker.
* md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable
  compiler compatibility hack.

18 years ago2005-10-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sun, 30 Oct 2005 23:51:32 +0000 (23:51 +0000)]
2005-10-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ripd.c: (rip_response_process) Instead of calling
  rip_interface.c:if_valid_neighbor(), call the equivalent
  library function if_lookup_address().
* rip_interface.c: (if_valid_neighbor) Remove function, since it is
  essentially equivalent to the if_lookup_address() library function.
* ripd.h: (if_valid_neighbor) Remove function declaration.

18 years ago2005-10-29 Paul Jakma <paul@dishone.st>
paul [Sat, 29 Oct 2005 20:19:49 +0000 (20:19 +0000)]
2005-10-29 Paul Jakma <paul@dishone.st>

* ospfd.texi: Document the new spf and max-metric commands, and
  the additional form of dead-interval. Add documentation for
  various other commands. Cleanup misc stuff, citations, etc.
  Add some example configurations.
* overview.texi: RFC3137 support added.
* Makefile.am: Make quagga.pdf depend on the _TEXINFOS
  variable, this still doesn't fix the dependency though,
  sadly.

18 years ago2005-10-29 Paul Jakma <paul.jakma@sun.com>
paul [Sat, 29 Oct 2005 12:50:09 +0000 (12:50 +0000)]
2005-10-29 Paul Jakma <paul.jakma@sun.com>

* (general) RFC3137 stub-router support
* ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
  (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
  options, to allow shutdown to distinguish between complete
  shutdown and shutdown of a subset of ospf instances.
  (struct ospf)
  Add stub_router_{startup,shutdown_}time, configuration of startup
  and shutdown time for stub-router.
  Add t_graceful_shutdown struct thread, timer for graceful
  shutdown, if needed.
  (struct ospf_area) Add stub_router_state - run time state of
  stub-router for an area. Add flags for ADMIN, IS and WAS
  states.
  Add t_stub_router, timer thread to resend router-lsa for an
  area.
* ospf_lsa.c: (ospf_link_cost) new simple function to spit out
  either the given lnks cost or infinite cost if stub-router is
  in effect.
  (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
  previous function for transit-links.
  (ospf_stub_router_timer) timer thread for end of startup stub
  router. Change state as required for the area and setup
  re-origination of router-lsa.
  (ospf_stub_router_check) Check/do whether stub-router should be
  enabled, and whether it requires timer to be setup.
  (ospf_router_lsa_new) call previous function at top.
  (ospf_router_lsa_originate) no external callers, made static.
* ospf_lsa.h: (ospf_router_lsa_originate) removed.
* ospf_main.c: (sigint) make static.
  remove call to exit, as ospf_terminate now deals with
  exiting.
* ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
* ospf_vty.c: (show_ip_ospf_area) print out state of
  stub-router, if active.
  (show_ip_ospf) print out configuration of stub-router
  support, and details of graceful-shutdown if the timer is
  active.
  ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
  commands to (de-)?configure stub-router support.
  (config_write_stub_router) write out config of stub-router.
  (ospf_config_write) call previous.
  (ospf_vty_init) install the new stub-router commands.
* ospfd.c: various functions made static.
  (ospf_new) Set defaults for stub-router. Graceful shutdown
  is made to default on, just to be adventerous.
  (ospf_graceful_shutdown_finish) new function, final part of
  shutdown.
  (ospf_graceful_shutdown_timer) timer thread wrapper for
  graceful-shutdown.
  (ospf_graceful_shutdown_check) check whether to setup timer
  for shutdown or proceed directly to final shutdown.
  (ospf_terminate) moved here from ospf_route.c, call
  ospf_finish for each instance.
  (ospf_finish) renamed to ospf_finish_final and made static.
  (ospf_finish) new function, exported wrapper around
  ospf_graceful_shutdown_check.
  (ospf_finish_final) complete shutdown of an instance.
  Add missing TIMER_OFF's of two timer threads.
  (ospf_area_free) opaque self lsa timer should be turned off.

18 years ago2005-10-28 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 28 Oct 2005 10:23:09 +0000 (10:23 +0000)]
2005-10-28 Paul Jakma <paul.jakma@sun.com>

* Makefile.am: Add rip_interface.h, or else it doesn't get
  included in dists.

18 years ago2005-10-26 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 26 Oct 2005 05:49:54 +0000 (05:49 +0000)]
2005-10-26 Paul Jakma <paul.jakma@sun.com>

* command.c: Use MTYPE_HOST, MTYPE_STRVEC. Some other fixups,
  including fixing some likely leaks in config_write_file.
* vty.c: memory macro usage fixes.
  (vty_read_config) fix leak where relative config file is
  specified.

18 years ago2005-10-26 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 26 Oct 2005 05:05:16 +0000 (05:05 +0000)]
2005-10-26 Paul Jakma <paul.jakma@sun.com>

* (general) Cleanup a some calls to XFREE,strdup, etc. to use
  the memory.h macros.
* memtypes.c: Add MTYPE_IF_RMAP_NAME, MTYPE_PQUEUE,
  MTYPE_PQUEUE_DATA and MTYPE_HOST.
* memtypes.h: update auto-built file.
* if_rmap.c: Use MTYPE_IF_RMAP_NAME.
* pqueue.c: Use the two MTYPE_PQUEUE mtypes for allocations.

18 years ago2005-10-26 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 25 Oct 2005 23:35:28 +0000 (23:35 +0000)]
2005-10-26 Paul Jakma <paul.jakma@sun.com>

* ripd.c: Update couple more functions to specify void
  explicitely.

18 years ago2005-10-26 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 25 Oct 2005 23:31:05 +0000 (23:31 +0000)]
2005-10-26 Paul Jakma <paul.jakma@sun.com>

* (general) static/extern functions and definitions.
* rip_interface.h: new file, export the public functions from
  rip_interface.c

18 years ago2005-10-23 Paul Jakma <paul.jakma@sun.com>
paul [Sun, 23 Oct 2005 15:26:24 +0000 (15:26 +0000)]
2005-10-23 Paul Jakma <paul.jakma@sun.com>

* ospf_apiserver.c: (ospf_apiserver_term) This function should
  not have side-effects (eg segv) if no apiserver instances are
  active, ie be robust.

18 years ago2005-10-23 Paul Jakma <paul.jakma@sun.com>
paul [Sun, 23 Oct 2005 15:23:05 +0000 (15:23 +0000)]
2005-10-23 Paul Jakma <paul.jakma@sun.com>

* ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
  has not yet been run.

18 years ago2005-10-21 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 21 Oct 2005 20:04:41 +0000 (20:04 +0000)]
2005-10-21 Paul Jakma <paul.jakma@sun.com>

* ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
  Andrew Schorr.
* ospf_vty.c: (ospf_config_write) fix write out of spf timers
  configuration.

18 years ago2005-10-21 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 21 Oct 2005 09:23:12 +0000 (09:23 +0000)]
2005-10-21 Paul Jakma <paul.jakma@sun.com>

* (general) SPF millisecond resolution timer with adaptive,
  linear back-off holdtime. Prettification of ospf_timer_dump.
* ospf_dump.c: (ospf_timeval_dump) new function. The guts of
  ospf_timer_dump, but made to be more dynamic in printing out
  the relative timeval, sliding the precision printed out
  according to the value.
  (ospf_timer_dump) guts moved to ospf_timeval_dump.
* ospf_dump.h: export ospf_timeval_dump.
* ospf_flood.c: (ospf_flood) remove gettimeofday, use
  the libzebra exported recent_time instead, as it's not
  terribly critical to have time exactly right - the dropped
  LSA will be retransmited to us if we don't ACK it.
* ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
  not transmitting, just putting LSA back on update transmit list.
* ospfd.h: delay and holdtimes should be unsigned.
  Add spf_max_holdtime and spf_hold_multiplier.
  Update default defines for delay and hold time to be in msec.
  (struct ospf) change the SPF timestamp to a struct timeval.
  Remove ospf_timers_spf_(un)?set.
* ospfd.c: (ospf_timers_spf_{set,unset}) removed.
  (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
* ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
  now, update with gettimeofday.
  (ospf_spf_calculate_schedule) Change SPF timers to millisecond
  resolution.
  Make the holdtime be adaptive, with a linear increase in
  holdtime ever consecutive SPF run which occurs within holdtime
  of previous SPF, bounded by spf_max_holdtime.
* ospf_vty.c: Update spf timers commands.
  (ospf_timers_spf_set) trivial helper.
  (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
  initial hold and max hold times with millisecond resolution.
  (ospf_timers_spf_cmd) Deprecated. Accept the old values,
  convert to msec, truncate to new limits.
  (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
  (no_ospf_timers_spf_cmd) deprecated form, same as previous.
  (show_ip_ospf_cmd) Display SPF parameters and times.
  (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
  header.
  (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
  the multiple spaces which were making the lines even longer.
  (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
  (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
  widths for NBMA neighbours.
  (show_ip_ospf_neighbor_int) Use header function.
  (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
  local array - safer.
  (show_ip_ospf_neighbor_detail_sub) ditto
  (ospf_vty_init) install the new SPF throttle timer commands.

18 years ago2005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 21 Oct 2005 02:57:41 +0000 (02:57 +0000)]
2005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* sockopt.c: (setsockopt_multicast_ipv4) If IP_ADD_MEMBERSHIP
  fails with errno equal to EADDRINUSE, then issue an info
  message and try IP_DROP_MEMBERSHIP followed by IP_ADD_MEMBERSHIP.

18 years ago2005-10-21 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 21 Oct 2005 00:45:17 +0000 (00:45 +0000)]
2005-10-21 Paul Jakma <paul.jakma@sun.com>

* (general) OSPF fast, sub-second hello and 1s dead-interval
  support. A warning fix. Millisec support for ospf_timer_dump.
  Change auto-cost ref-bandwidth to add a comment to write out
  of config, rather than printing annoying messages to vty on
  startup.
* ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
  Callers typically specify a length of 9, so most see
  millisecs unless they specify the additional length.
* ospf_interface.h: (struct ospf_interface) new interface param,
  fast_hello.
* ospf_interface.c: (ospf_if_table_lookup) add brackets,
  gcc warning fix.
  (ospf_new_if_params) Initialise fast_hello param.
  (ospf_free_if_params) Check whether fast_hello is configured.
  (ospf_if_new_hook) set fast_hello to default.
* ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
  prevent funny side-effects from its if statement when this
  macro is used conditionally by other macros.
  (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
  (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
  to whether fast_hello is set.
* ospf_ism.c: Update all setting of the hello timer to use
  either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
  former is used when hello is to be sent immediately.
* ospf_nsm.c: ditto
* ospf_packet.c: (ospf_hello) hello-interval is not checked
  for mismatch if fast_hello is set.
  (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
  rather than a warning, as it can be perfectly normal to
  receive packets when logical subnets are used.
  (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
  configured.
* ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
  nit, don't vty_out if this command is given, it gets tired
  quick.
  (show_ip_ospf_interface_sub) Print the hello-interval
  according to whether fast-hello is set or not.
  Print the extra 5 millisec characters from (ospf_timer_dump)
  if fast-hello is configured.
  (ospf_vty_dead_interval_set) new function, common to all
  forms of dead-interval command, to set dead-interval and
  fast-hello correctly. If a dead-interval is given, unset
  fast-hello, else if a hello-multiplier is set, set
          dead-interval to 1 and fast-hello to given multiplier.
  (ip_ospf_dead_interval_addr_cmd) use
  ospf_vty_dead_interval_set().
  (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
  (no_ip_ospf_dead_interval) Unset fast-hello.
  (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
  should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
  OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
  (config_write_interface) Write out fast-hello.
  (ospf_config_write) Write a comment about
  "auto-cost reference-bandwidth" having to be equal on all
  routers. Hopefully just as noticeable as old practice of
  writing to vty, but less annoying.
  (ospf_vty_if_init) install the two new dead-interval
  commands.
* ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
  and OSPF_FAST_HELLO_DEFAULT.

18 years ago2005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 20 Oct 2005 22:28:14 +0000 (22:28 +0000)]
2005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* memory.c: (show_memory_vty) Omit zero statistics.  Print separators
  only if some non-zero stats have been printed in between.
  (show_separator) New function to print a separator.
  (show_memory_all) Keep track of whether a separator is needed
  between the different memory statistics groups.

18 years ago2005-10-17 Vincent Jardin <vincent.jardin@6wind.com>
jardin [Wed, 19 Oct 2005 19:29:59 +0000 (19:29 +0000)]
2005-10-17 Vincent Jardin <vincent.jardin@6wind.com>

        * ripd.c: rip_create_socket() for each packet, it does not bind to the
          proper interfaces because we forget to use the from address when
          it is specified.

18 years ago2005-10-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Tue, 18 Oct 2005 20:19:13 +0000 (20:19 +0000)]
2005-10-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c).

18 years ago2005-10-18 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 18 Oct 2005 04:20:33 +0000 (04:20 +0000)]
2005-10-18 Paul Jakma <paul.jakma@sun.com>

* (general) SPF memory management cleanup and fix for rare
  double-free bug.
* ospf_spf.h: (struct vertex_parent) New struct to hold parent
  specific data, eg the backlink and the parent vertex pointer,
  and point to the appropriate general struct vertex_nexthop.
  (struct vertex_nexthop) remove parent vertex pointer, so
  this struct can be shared across vertices.
  (struct vertex) rename list child to list children. Remove
  list of nexthops, replace with list of vertex_parents.
* ospf_spf.c: (update_stat) trivial, remove cast from void *.
  (vertex_nexthop_new) remove init of parent - field is gone
          from struct vertex_nexthop.
          (ospf_canonical_nexthops_free) Remove the canonical
          vertex_nexthop memory objects. These are the vertex_nexthops
          attached to the first level of router vertices from the root.
          (vertex_parent_new) new function, create a vertex_parent.
          (vertex_parent_free) ditto, but free it.
          (ospf_vertex_new) Update to match changes to struct vertex.
          (ospf_vertex_free) Recursively free a struct vertex and its
          children. The parent list is used as a reference count.
          vertex_nexthops must be free seperately, if required.
          (ospf_vertex_dump) update to match struct vertex changes.
          Print out backlink of parents too.
          (ospf_vertex_add_parent) ditto.
          (ospf_lsa_has_link) update comment.
          (ospf_nexthop_add_unique) removed, not needed anymore.
          (ospf_nexthop_merge) ditto.
          (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
          Simplified to just create vertex_parent and add it.
          (ospf_spf_flush_parents) new function, flush out the parent
  list.
  (ospf_nexthop_calculation) Take the relevant route_lsa_link
  as an argument, which simplifies things and removes the need
  for the hack in ospf_nexthop_add_unique - ospf_spf_next
  already knew exactly which link the cost calculated was for.
  Update to match struct vertex changes too.
  (ospf_spf_next) Don't create a vertex for W unnecessarily, if
          it's there's a vertex already created for W, use it, and
          hence there's no need to free it either.
          Update some manipulation/comparisons of distance to match.
          Flush the parent list if a lower cost path is found.
          (ospf_spf_route_free) unused, removed.
          (ospf_spf_dump) match the struct vertex changes, and dump the
          ifname if possible.
          (ospf_spf_calculate) At end of SPF, free the canonical nexthops
          and call ospf_vertex_free on the root vertex to free the
  entire tree.
* ospf_interface.c: (ospf_vl_set_params) match struct vertex
          changes.
        * ospf_route.c: (ospf_intra_route_add) ditto
          (ospf_route_copy_nexthops_from_vertex) ditto
* memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT.

18 years ago2005-10-11 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 11 Oct 2005 04:12:54 +0000 (04:12 +0000)]
2005-10-11 Paul Jakma <paul.jakma@sun.com>

* ospf_api.c: sign warnings.
* ospf_apiserver.c: sign warning and convert all the struct
  in_addr initialisations so as not to make assumptions about
  how this struct is organised, initialise the s_addr member
  explicitely.
* ospf_packet.c: Add const qualifier to auth_key.

18 years ago2005-10-11 Paul Jakma <paul@dishone.st>
paul [Tue, 11 Oct 2005 04:01:09 +0000 (04:01 +0000)]
2005-10-11 Paul Jakma <paul@dishone.st>

* quagga.texi: Rejiggle the copyright sections a bit, seems to
  make makeinfo happier and generates info pages again on FC4.
* quagga.info: Update this auto-built file.

18 years ago2005-10-11 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 11 Oct 2005 03:53:54 +0000 (03:53 +0000)]
2005-10-11 Paul Jakma <paul.jakma@sun.com>

* connected.{c,h}: (connected_{add,delete}_ipv4) label should
  be const qualified.

18 years ago2005-10-11 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 11 Oct 2005 03:48:28 +0000 (03:48 +0000)]
2005-10-11 Paul Jakma <paul.jakma@sun.com>

* test-privs.c: Privileges unit test.
* Makefile.am: build testprivs
* aspath_test.c: fix a few sign warnings

18 years ago2005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
vincent [Thu, 6 Oct 2005 07:46:22 +0000 (07:46 +0000)]
2005-10-06 Alain Ritoux <alain.ritoux@6wind.com>

        * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
          which now allows snmpwalk to work with ospfIfTable and
          also with ospfIfMetricTable

18 years ago2005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
vincent [Thu, 6 Oct 2005 07:45:43 +0000 (07:45 +0000)]
2005-10-06 Alain Ritoux <alain.ritoux@6wind.com>

        * rip_interface.c: Now the command "no ip rip split-horizon
          poisoned-reverse" just inhibates the poisoned-reverse effects
          but keep spli-horizon activ.

19 years ago2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 1 Oct 2005 17:38:06 +0000 (17:38 +0000)]
2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* zebra.h: Declare new functions zebra_route_string() and
  zebra_route_char().
* log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New
  functions to map zebra route numbers to strings.
* zebra_vty.c: (route_type_str) Remove obsolete function: use new
  library function zebra_route_string() instead.  Note that there
  are a few differences: for IPv6 routes, we now get "ripng" and
  "ospf6" instead of the old behavior ("rip" and "ospf").
  (route_type_char) Remove obsolete function: ues new library function
  zebra_route_char() instead.  Note that there is one difference:
  the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route,
  whereas the new one returns 'X'.
  (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace
  route_type_str() with zebra_route_string().
  (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char()
  with zebra_route_char().
* bgp_vty.c: (bgp_config_write_redistribute) Use new library function
  zebra_route_string instead of a local hard-coded table.
* ospf6_asbr.c: Remove local hard-coded tables zroute_name and
  zroute_abname. Change the ZROUTE_NAME macro to use new library
  function zebra_route_string().  Remove the ZROUTE_ABNAME macro.
  (ospf6_asbr_external_route_show): Replace ZROUTE_ABNAME() with
  a call to zebra_route_char(), and be sure to fix the format string,
  since we now have a char instead of a char *.
* ospf6_zebra.c: Remove local hard-coded tables zebra_route_name and
  zebra_route_abname.  Note that the zebra_route_name[] table
  contained mixed-case strings, whereas the zebra_route_string()
  function returns lower-case strings.
  (ospf6_zebra_read_ipv6): Change debug message to use new library
  function zebra_route_string() instead of zebra_route_name[].
  (show_zebra): Use new library function zebra_route_string() instead
  of zebra_route_name[].
* ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
  (ospf_redist_string) New function implemented using new library
  function zebra_route_string().  Note that there are a few differences
  in the output that will result: the new function returns strings
  that are lower-case, whereas the old table was mixed case.  Also,
  the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
  new function returns "ospf6".
* ospfd.h: Remove extern struct message ospf_redistributed_proto[],
  and add extern const char *ospf_redist_string(u_int route_type)
  instead.
* ospf_asbr.c: (ospf_external_info_add) In two messages, use
  ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
* ospf_vty.c: Remove local hard-coded table distribute_str.
  (config_write_ospf_redistribute,config_write_ospf_distribute): Use
  new library function zebra_route_string() instead of distribute_str[].
* ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
  ospf_redistribute_default_set,ospf_redistribute_check)
  In debug messages, use ospf_redist_string() instead of
  LOOKUP(ospf_redistributed_proto).
* rip_zebra.c: (config_write_rip_redistribute): Remove local hard-coded
  table str[]. Replace str[] with calls to new library function
  zebra_route_string().
* ripd.c: Remove local hard-coded table route_info[].
  (show_ip_rip) Replace uses of str[] with calls to new library
  functions zebra_route_char and zebra_route_string.
* ripng_zebra.c: (ripng_redistribute_write) Remove local hard-coded
  table str[].  Replace str[i] with new library function
  zebra_route_string(i).
* ripngd.c: Remove local hard-coded table route_info[].
  (show_ipv6_ripng) Use new library function zebra_route_char() instead
  of table route_info[].

19 years ago2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 1 Oct 2005 16:36:54 +0000 (16:36 +0000)]
2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* rt_netlink.c: (netlink_request) Use memset to clear structure
  before calling sendto (eliminates a valgrind error message about
  uninitialized data).

19 years ago * isis_adjacency.c: Stop expire timer while deleting adjacency.
hasso [Sat, 1 Oct 2005 06:03:04 +0000 (06:03 +0000)]
* isis_adjacency.c: Stop expire timer while deleting adjacency.
* isis_events.c: Stop pseudo LSP thread while resigning circuit from
  level.
* isis_route.c: Fix compiling with EXTREME_DEBUG. Mark route as not
  in sync with zebra if it's changed.
* isis_spf.c: Schedule route validating etc even if tent was empty.
  It's probably because we just don't have any adjacencies.
* isisd.c: Write minimum spf interval into configuration.

19 years ago2005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
jardin [Sat, 1 Oct 2005 00:09:39 +0000 (00:09 +0000)]
2005-09-30 Vincent Jardin <vincent.jardin@6wind.com>

* isis_route.c: fix EXTREME_DEBUG compilation

19 years ago2005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
jardin [Sat, 1 Oct 2005 00:08:54 +0000 (00:08 +0000)]
2005-09-30 Vincent Jardin <vincent.jardin@6wind.com>

* ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
  remove unused DEBUG

19 years ago2005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
jardin [Sat, 1 Oct 2005 00:07:50 +0000 (00:07 +0000)]
2005-09-30 Vincent Jardin <vincent.jardin@6wind.com>

* bgp_packet.c: fix compilation when DEBUG is used.

19 years ago2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
vincent [Thu, 29 Sep 2005 16:34:30 +0000 (16:34 +0000)]
2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>

    * lib/smux.[ch]: allow to retreive global OID (identified by <0
      namelen).
    * ospf_ism.c: generate SNMP traps on Interface state change
    * ospf_nsm.c: generate SNMP traps on Neighbour state change
    * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.

19 years ago2005-09-29 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 29 Sep 2005 14:39:32 +0000 (14:39 +0000)]
2005-09-29 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Add the test for Solaris least-privileges. Set
  defines for whether capabilities are supported and whether of
  the linux or solaris variety.
  Add missing-prototypes, missing-declarations, char-subscripts
  and cast-qual warnings to default cflags, cause Hasso enjoys warnings,
  and we really should clean the remaining ones up. (ie isisd..).
* (*/*main.c) Update the zebra_capabilities_t arrays in the various
  daemons to match the changes made in lib/privs.h.
* zebra.h: Solaris capabilities requires priv.h to be included.
* privs.{c,h}: Add support for Solaris Least-Privileges.
  privs.h: Reduce some of the abstract capabilities, which do
  not have rough equivalents on both systems. Rename the net
  related caps to _NET, as they should have been in first
  place.
  (zprivs_terminate) should take the zebra_privs_t as argument so
  that it can update change pointer.
  Add an additional privilege state, ZPRIVS_UNKNOWN.
* privs.c: (various capability functions) Add
  Solaris privileges variants.
  (zprivs_state) Use privs.c specific generic types to
          represent various capability/privilege related types, so that
          each can be typedef'd as appropriate on each platform.
  (zprivs_null_state) static added, to hold the state the null
  method should report (should be raised by default, and
          LOWERED if zprivs_terminate has been called)
          (zprivs_state_null) Report back the zprivs_null_state.
          (cap_map) Make it able to map abstract capability to multiple
          system capabilities.
          (zcaps2sys) Map to abstract capabilities to multiple system
          privileges/capabilities.
          (zprivs_init) move capability related init to seperate
  function, zprivs_caps_init.
          (zprivs_terminate) ditto, moved to zprivs_caps_terminate.
          Set the change_state callback to the NULL state, so the
          user can continue to run and use the callbacks.

19 years ago2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
vincent [Thu, 29 Sep 2005 13:56:14 +0000 (13:56 +0000)]
2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
   * Of course ISM_SNMP MACRO mist be defined

19 years ago2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
vincent [Thu, 29 Sep 2005 13:52:57 +0000 (13:52 +0000)]
2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>

    * ospfd/ospf_vty.c: forece default route LSA to be re_issued whenever
      cost is changed ( [no] ip ospf area XXX default-cost YYY)
      Support ignore-mtu option
    * ospfd/ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
    * ospfd/ospf_packet.c: support ignore-mtu option
    * ospfd/ospf_interface.h: field added for skipping MTU check
    * ospfd/ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
      Set mtu_ignore field to default value
    * ospfd/ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
    * ospfd/ospf_ism.h: add MACRO to convert internal ISM status into SNMP
      correct values
    * ospfd/ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
      convert OSPFIFSTATE internal status into SNMP values

19 years ago2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
vincent [Thu, 29 Sep 2005 11:25:50 +0000 (11:25 +0000)]
2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>

    * lib/filer.c: show protocol name in filter_show()
    * lib/plist.c: show protocol name in vty_show_prefix_entry()
    * routemap.c: show protocol name in vty_show_route_map_entry()
    * lib/vty.c: in vty_command(), show protocol name if command unknown

    * zebra/zserv.c: Always provide distance fo route add

    * ripd/rip_snmp.c: rip2IfConfReceive() sends values in conformance
      with RFC. Also PeerDomain is now set to a STRING type.
    * ripd/ripd.h: rip_redistribute_add() API includes metric and distance
    * ripd/ripd.c: rip_redistribute_add() API i.e. stores metric and distance
      Now allows a RIP-route to overcome a redistributed route coming
      from a protocol with worse (higher) administrative distance
      Metrics from redistribution are shown in show ip rip
    * ripd/rip_zebra.c: adapt to the rip_redistribute_add() API, i.e.
      provide distance and metric
    * ripd/rip_interface.c: adapt to the rip_redistribute_add() API
    * ripd/rip_routemap.c: no RMAP_COMPILE_ERROR on (metric > 16) usage
      rather a CMD_WARNING, because set metric ius shared with other
      protocols using larger values (such as OSPF)
      The match metric action takes first external metric if present
      (from redistribution) then RIP metric.

19 years ago * *.c: Massive cleanup of lists loops. Stop abusing ALL_LIST_ELEMENTS.
hasso [Wed, 28 Sep 2005 18:45:54 +0000 (18:45 +0000)]
* *.c: Massive cleanup of lists loops. Stop abusing ALL_LIST_ELEMENTS.
  Replace XMALLOC + memset with XCALLOC. Fix some indentation issues.
  The only really significant change is simplified isis_delete_adj
  function in isis_adjacency.c.

19 years ago * isis_dynh.c, isisd.h: Implement dynamic hostname cache cleanup.
hasso [Wed, 28 Sep 2005 18:30:51 +0000 (18:30 +0000)]
* isis_dynh.c, isisd.h: Implement dynamic hostname cache cleanup.
* isis_lsp.c: Refresh dynamic hostname in the cache while refreshing
  topology LSP.

19 years ago * isis_lsp.c: Make topology generator generate TE TLVs if necessary.
hasso [Wed, 28 Sep 2005 18:26:25 +0000 (18:26 +0000)]
* isis_lsp.c: Make topology generator generate TE TLVs if necessary.
  Also take care of inserting dynamic hostname of topology TLVs into
  cache.

19 years ago2005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
vincent [Wed, 28 Sep 2005 15:47:44 +0000 (15:47 +0000)]
2005-09-28 Alain Ritoux <alain.ritoux@6wind.com>

    * lib/md5-gnu.h: removed
    * lib/md5.h: replaces md5-gnu.h
    * lib/Makefile.am: use correct md5.h
    * lib/md5.c: import from WIDE
    * ospfd/ospf_packet.c: use new md5 API
    * ripd/ripd.c: use new md5 API

19 years ago * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
vincent [Wed, 28 Sep 2005 13:42:11 +0000 (13:42 +0000)]
* connected.c: flag connected_up_ipv6() and connected_down_ipv6()
      usage with HAVE_IPV6

19 years ago * isis_spf.c: Changing cost from uint16_t to uint32_t. Unset
hasso [Mon, 26 Sep 2005 18:26:26 +0000 (18:26 +0000)]
* isis_spf.c: Changing cost from uint16_t to uint32_t. Unset
  ISIS_ROUTE_FLAG_ACTIVE flag before running SPF.
* isisd.[ch]: Separate route tables for different levels. SPF is done
  separately, but in case of L1L2 area they have to be merged.
* isis_zebra.c: Set/unset ISIS_ROUTE_FLAG_ZEBRA_SYNC flag correctly in
  case of adding/removing IPv4 routes.
* zebra_route.c: Rework route validating process. Merging L1 and L2
  tables in case of L1L2 area.

        In short - many changes to make SPF work more correctly, add/remove
        to/from RIB also works now. It's still very far from perfect though.

19 years ago * isis_spf.[ch]: Added TE TLVs to the SPF process. It seems to work
hasso [Mon, 26 Sep 2005 18:15:36 +0000 (18:15 +0000)]
* isis_spf.[ch]: Added TE TLVs to the SPF process. It seems to work
  mostly, but needs certainly much more testing, especially transition
  situation.

19 years ago * isis_lsp.c: Put correct metric info into TE TLV's. Wide metric is
hasso [Mon, 26 Sep 2005 18:06:47 +0000 (18:06 +0000)]
* isis_lsp.c: Put correct metric info into TE TLV's. Wide metric is
  used only if only wide metric style (extended TLV's) is in use.

19 years ago * isis_tlv.[ch]: New function tlv_add_in_addr() to put just one IPv4
hasso [Mon, 26 Sep 2005 17:58:24 +0000 (17:58 +0000)]
* isis_tlv.[ch]: New function tlv_add_in_addr() to put just one IPv4
  address into TLV. Used for IPv4 address TLV (in case of LSP) and TE
  router ID TLV.
* isis_lsp.c: Use tlv_add_in_addr() and include router ID in LSP.

19 years ago * isis_lsp.c: Support for originating TE IS and IPv4 TLV's. No any sub
hasso [Mon, 26 Sep 2005 17:39:48 +0000 (17:39 +0000)]
* isis_lsp.c: Support for originating TE IS and IPv4 TLV's. No any sub
  TLV handling yet.

19 years ago * isis_tlv.[ch]: Two new functions - tlv_add_te_is_neighs() and
hasso [Mon, 26 Sep 2005 17:11:12 +0000 (17:11 +0000)]
* isis_tlv.[ch]: Two new functions - tlv_add_te_is_neighs() and
  tlv_add_te_ipv4_reachs() to handle TLV's with new metric. None of
  them handle sub TLVs though for now.

19 years ago * isis_circuit.[ch]: Some preliminary support for specifying wide
hasso [Mon, 26 Sep 2005 17:05:55 +0000 (17:05 +0000)]
* isis_circuit.[ch]: Some preliminary support for specifying wide
  circuit metrics. Needs more thinking though, but should do for now.

19 years ago * isisd.[ch]: Introduce oldmetric flag for area and transition
hasso [Mon, 26 Sep 2005 16:49:07 +0000 (16:49 +0000)]
* isisd.[ch]: Introduce oldmetric flag for area and transition
  metricstyle command. With metricstyle wide only extended TLVs
  should be used.

19 years ago * dict.[ch]: Revert all nonfunctional changes. It's external module
hasso [Sun, 25 Sep 2005 12:04:25 +0000 (12:04 +0000)]
* dict.[ch]: Revert all nonfunctional changes. It's external module
  imported from kazlib and it's better not to screw it - there is
  theoretical chance that we might want to merge changes from upstream
  at some point. Also avoid the loss of info about upstream version
  (rcsid).

19 years ago * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
hasso [Sat, 24 Sep 2005 14:00:26 +0000 (14:00 +0000)]
* rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
  add is treated as implicit withdraw.

19 years ago * isis_route.c: Fix output of nexthops in case of extreme debug.
hasso [Wed, 21 Sep 2005 18:52:14 +0000 (18:52 +0000)]
* isis_route.c: Fix output of nexthops in case of extreme debug.

19 years ago * zebra_rib.c: Reduce the height of some staircases. Fix
hasso [Wed, 21 Sep 2005 14:58:20 +0000 (14:58 +0000)]
* zebra_rib.c: Reduce the height of some staircases. Fix
  rib_delete_ipv6() to match routes in the RIB by their gateway as
  well as by destination.

19 years ago2005-09-21 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 21 Sep 2005 14:06:35 +0000 (14:06 +0000)]
2005-09-21 Paul Jakma <paul.jakma@sun.com>

* memtypes.{c,h}: Add MTYPE_AS_SEG_DATA.

19 years ago2005-09-21 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 21 Sep 2005 12:30:08 +0000 (12:30 +0000)]
2005-09-21 Paul Jakma <paul.jakma@sun.com>

* zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt
  removal of static routes with multiple-hops introduced with
  the workqueue conversion. We should free the relevant
  nexthop and then get rib_process to run, otherwise we just
  get same static route back again (with no way to unconfigure
          it, because its already deleted from configuration).

19 years ago2005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Mon, 19 Sep 2005 13:28:05 +0000 (13:28 +0000)]
2005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
  (nexthop) since it is not used in the function (except inside
  some commented-out code).
* ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
  Comment out the 5th argument to ospf_external_lsa_flush.
* ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
  to ospf_external_lsa_flush.
* ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
  uninitialized nexthop arg to ospf_external_lsa_flush.
* ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
  to ospf_external_lsa_flush.
* ospfd.c: (ospf_network_set) Comment out 5th arg
  to ospf_external_lsa_flush.

19 years ago * isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code.
hasso [Mon, 19 Sep 2005 10:44:04 +0000 (10:44 +0000)]
* isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code.

19 years ago * configure.ac: Test existance of strndup.
hasso [Mon, 19 Sep 2005 09:53:21 +0000 (09:53 +0000)]
* configure.ac: Test existance of strndup.
* lib/str.[ch]: Add strndup() from glibc.

19 years ago * isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4
hasso [Mon, 19 Sep 2005 06:35:47 +0000 (06:35 +0000)]
* isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4
  reachibility metric display.

19 years ago * isis_tlv.h: Cleanup comment about TLVs we should support, remove info
hasso [Mon, 19 Sep 2005 06:02:34 +0000 (06:02 +0000)]
* isis_tlv.h: Cleanup comment about TLVs we should support, remove info
  about useless (in sense of IP(v6)) TLVs.

19 years ago * isis_lsp.h: Added backpointer to the area from LSP. For now it's used
hasso [Mon, 19 Sep 2005 04:23:34 +0000 (04:23 +0000)]
* isis_lsp.h: Added backpointer to the area from LSP. For now it's used
  only in generated topology LSPs.
* isisd.[ch]: Cleanup CLI commands related to topology generation and
  added command to specify base fo dynamic hostname for topology LSPs.
* isis_lsp.c: Rewrite almost all code related to generation topology
  LSPs (top_lsp_refresh(), generate_topology_lsps() and
  build_topology_lsp_data() functions). Topology is connected to own
  LSP now (lsp_build_nonpseudo). Commented out lsppdu_realloc
  functions, it's not used any more hopefully.

Topology generation feature is actually useful now.

19 years ago * isis_lsp.c (lsp_update): Fix previous commit - manipulate the right
hasso [Sun, 18 Sep 2005 17:51:02 +0000 (17:51 +0000)]
* isis_lsp.c (lsp_update): Fix previous commit - manipulate the right
  database and only if LSP is really in the database (sanity check).

19 years ago2005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Sat, 17 Sep 2005 18:53:38 +0000 (18:53 +0000)]
2005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_opaque.c:
  (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
  No need to call ospf_lookup(), just use lsa0->area->ospf instead.