| Age | Commit message (Collapse) | Author | 
|---|
|  | 2007-05-09 Paul Jakma <paul.jakma@sun.com>
	* configure.ac: sys/conf.h depends on sys/param.h, at least on
	  FBSD 6.2.
	  (bug #363) Should check for in_pktinfo for IRDP
2006-05-27 Paul Jakma <paul.jakma@sun.com>
	* configure.ac: General cleanup of header and type checks, introducing
	  an internal define, QUAGGA_INCLUDES, to build up a list of
	  stuff to include so as to avoid 'present but cant be compiled'
	  warnings.
	  Misc additional checks of things missing according to autoscan.
	  Add LIBM, for bgpd's use of libm, so as to avoid burdening
	  LIBS, and all the binaries, with libm linkage.
	  Remove the bad practice of using m4 changequote(), just
	  quote the []'s in the case statements properly.
	  This should fix bugs 162, 303 and 178.
	* */*.{c,h}: Update all HAVE_* to the standard autoconf namespaced
	  HAVE_* defines. I.e. HAVE_SA_LEN -> HAVE_STRUCT_SOCKADDR_SA_LEN,
	* bgpd/Makefile.am: Add LIBM to bgpd's LDADD, for pow(). | 
|  | 2007-05-07 Paul Jakma <paul.jakma@sun.com>
	* ospf_spf.c: (ospf_vertex_new) Dont init vertices to infinity,
	  just let 0 be a special case.
	  (ospf_spf_add_parent) 0 distance candidate vertex is special,
	  cost still to be initialised - asserting that new distance
	  is <= existing only makes sense where w already has a cost.
	  (ospf_spf_next) Infinite cost links should not be followed,
	  bar those of the root. | 
|  | 2007-05-03 Paul Jakma <paul.jakma@sun.com>
	* bgp_route.h: (struct info) Move less frequently used
	  fields to a lazily allocated struct info_extra.
	  Export bgp_info_extra_get
	* bgp_route.c: (bgp_info_extra_new) allocate extra
	  (bgp_info_extra_free) Free damp info and the info_extra.
	  (bgp_info_extra_get) Retrieve the info_extra of a struct
	  info, allocating as required.
	  (generally) adjust to use info->extra
	* bgp_damp.c: (generally) use bgp_info_extra_get to access
	  dampinfo
	* bgp_attr.h: Move rarely allocated attributes from struct attr
	  to a struct attr_extra, for a substantial saving in size of
	  struct attr.
	* bgp_attr.c: (bgp_attr_extra_{new,free}), new, self-explanatory.
	  (bgp_attr_extra_get) Get the attr_extra for a given struct
	  attr, allocating it if needs be.
	  (bgp_attr_dup) Shallow copy the struct attr and its attr_extra.
	  (generally) adjust to know about attr->extra.
	* bgp_debug.c: (bgp_dump_attr) ditto
	* bgp_vty.c: (show_bgp_memory) print attr and info extra sizes.
	* bgp_nexthop.c: (generally) adjust to know about attr->extra
	  and info->extra.
	* bgp_{packet,routemap,snmp,zebra}.c: ditto
	* lib/memtypes.c: Add MTYPE_ATTR_EXTRA and MTYPE_BGP_ROUTE_EXTRA | 
|  | * zebra_routemap.c should have been in the commit of Steven's
	  routemap patch. | 
|  | 2007-05-01 David L Stevens <dlstevens@us.ibm.com>
	* (general) These changes collectively add route-map and
	  prefix-list support to zebra and fix a bug in "show
	  route-map" (with no argument).
	* doc/main.texi: added route-map, prefix-list, ip protocol
	  and set src documentation
	* lib/command.h: added PROTOCOL_NODE type
	* lib/log.c: (proto_name2num) new function, protocol name to
	  number translation.
	* lib/routemap.c: (vty_show_route_map) fixed "show route-map"
	  without route-map name
	* lib/routemap.h: added RMAP_ZEBRA type
	* lib/zebra.h: added proto_name2num() prototype
	* vtysh/extract.pl.in: added VTYSH_ZEBRA flag for route-map and
	  plist
	* vtysh/Makefile.am: added zebra_routemap.c
	* vtysh/vtysh.h: added VTYSH_ZEBRA flag to VTYSH_RMAP
	* zebra/connected.c: (connected_up_ipv4) added src preference argument
	  to rib_add_ipv4()
	* zebra/kernel_socket.c: (rtm_read) ditto
	* zebra/main.c: added prefix list initialization
	* zebra/Makefile.am: added zebra_routemap.c source file
	* zebra/rib.h: added generic address union "g_addr" and use in
	  existing places that had an explicit union.
	  Added "src" to struct nexthop.
	  Added preferred src arg to nexthop_ipv4_add and rib_add_ipv4.
	* zebra/rt_netlink.c: (netlink_routing_table) set preferred source on
	  netlink messages.
	  (netlink_route_change) ditto
	  (netlink_route_multipath) ditto.
	* zebra/rtread_getmsg.c: (handle_route_entry) added (NULL) src to
	  rib_add_ipv4() call.
	* zebra/rtread_proc.c: (proc_route_read) ditto
	* zebra/zebra_rib.c: (nexthop_ipv4_add) add src argument.
	  (nexthop_ipv4_ifindex_add) ditto
	  (rib_add_ipv4) ditto
	  (nexthop_active_check) Add route-map processing.
	* zebra/zebra_routemap.c: new file for zebra route-map commands.
	* zebra/zebra_vty.c: (ip_protocol_cmd) Apply route-map to protocol
	  (vty_show_ip_route_detail) added "src" printing
	  (vty_show_ip_route) ditto
	  (show_ip_protocol_cmd) new command, list routemaps.
	  (config_write_protocol) write out routemap protocl config.
	  (zebra_vty_init) Install the new routemap protocol commands.
	* zebra/zserv.c: (zread_ipv4_add) added (NULL) src arg
	  (zebra_init) init zebra route-maps.
	* zebra/zserv.h: add zebra_route_map_init | 
|  | 2007-04-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* configure.ac: Change gcc CFLAGS from '-std=c99' to '-std=gnu99'
	  to improve portability. | 
|  | 2007-04-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* ospfd/ospfd.c: (ospf_network_match_iface) Comment out
	  COMPATIBILITY_MODE.  Going forward, the ospf "network" command
	  will use a simple test: does the network command prefix
	  contain the connected (destination) prefix of the interface?
	* doc/ospfd.texi: Add a paragraph to the description of the OSPFv2
	  network command to explain how we handle interfaces with
	  peer addresses. | 
|  | 2007-04-29 Paul Jakma <paul.jakma@sun.com>
	* configure.ac: Bump to 0.99.7 | 
|  | 2007-04-22 Sebastien Tandel <sebastien@tandel.be>
	* bgp_attr.h : Definition of BGP_ATTR_DEFAULT_WEIGHT.
	* bgp_attr.c : (bgp_attr_default_intern) now uses
	  bgp_attr_default_set instead of duplicating the same code.
	  (general) Use of BGP_ATTR_DEFAULT_WEIGHT. Replace two 16 by
	  IPV6_MAX_BYTELEN. | 
|  | 2007-04-22 Sebastien Tandel <sebastien@tandel.be>
	* bgp_advertise.c : (baa_hash_alloc, baa_hash_key, baa_hash_cmp)
	  conforms to quagga hash API. Defines _hash_[alloc|key|cmp] with
	  void * arguments as defined by the API.
	* bgp_aspath.c,h : (aspath_key_make) conforms to quagga hash API.
	  Defines _hash_[alloc|key|cmp] with void * arguments as defined by
	  the API.
	* bgp_attr.c,h : (cluster_hash_alloc, cluster_hash_key_make,
	  cluster_hash_cmp, transit_hash_alloc, transit_hash_key_make,
	  transit_hash_cmp, attrhash_key_make, attrhash_cmp,
	  bgp_attr_hash_alloc) conforms to quagga hash API. Defines
	  _hash_[alloc|key|cmp] with void * arguments as defined by the API. | 
|  | 2007-04-29 Paul Jakma <paul.jakma@sun.com>
	* if_ioctl_solaris.c: (if_get_index) Fix bogus argument passed
	  to lifreq_set_name(). | 
|  | 2007-04-29 Paul Jakma <paul.jakma@sun.com>
	* ioctl{_solaris,}.c: (if_get_mtu) Fix missing ; in last commit. | 
|  | 2007-04-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* log.c: (quagga_timestamp) Optimize the subsecond timestamp generation. | 
|  | 2007-04-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* basic.texi: Document the new 'log timestamp precision' command. | 
|  | 2007-04-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* vtysh.c: (vtysh_log_timestamp_precision,
	  no_vtysh_log_timestamp_precision) Implement new log timestamp
	  precision commands: send to all daemons.
	  (vtysh_init_vty) Install new log timestamp precision commands. | 
|  | 2007-04-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* command.c: (config_write_host) Save "log timestamp precision"
	  if not default value.
	  (show_logging) Show configured timestamp precision.
	  (config_log_timestamp_precision) Enable configuration of timestamp
	  precision.
	  (no_config_log_timestamp_precision) Restore default timestamp
	  precision.
	  (cmd_init) Install new timestamp precision commands.
	* log.h: (struct zlog) New timestamp_precision field.
	  (quagga_timestamp) New function to generate a timestamp with the
	  desired precision.
	  (struct timestamp_control) Declare a structure for use in avoiding
	  repeated duplicate calls to quagga_timestamp.
	* log.c: (quagga_timestamp) New function to generate a timestamp
	  of the desired precision.
	  (time_print) Call quagga_timestamp if the time hasn't already been
	  calculated.
	  (vzlog) Initialize a timestamp_control structure and pass it to
	  time_print and vty_log.
	  (zlog_backtrace) Fix 64-bit problem: cannot print size_t with %u.
	* vty.h: Must now include "log.h".
	  (vty_log) Takes an additional struct timestamp_control argument.
	* vty.c: (vty_log_out) Use new struct timestamp_control and new
	  quagga_timestamp function to print timestamps of the desired
	  precision.
	  (vty_time_print) Use new quagga_timestamp function.
	  (vty_log) Accept new struct timestamp_control argument and pass it
	  down to vty_log_out. | 
|  | 2007-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* lib/smux.c: (smux_trap) Fix printf format to work with 64-bit size_t.
	* ospf6d/ospf6_snmp.c: (ospfv3AreaEntry, ospfv3AreaLsdbEntry) Fix some
	  zlog_debug printf formats to work with 64-bit size_t. | 
|  | 2007-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* ripd/ripd.c: (rip_vty_out_uptime) Remove unused variable timer_now.
	* ripngd/ripngd.c: (ripng_vty_out_uptime) Remove unused variable
	  timer_now. | 
|  | 2007-04-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* ospf_interface.c: (ospf_if_set_multicast) Fix bug: was testing
	  interface passive status improperly in light of the recent
	  'passive-interface default' patch.  Now need to test
	  OSPF_IF_PASSIVE_STATUS(oi) instead of
	  OSPF_IF_PARAM(oi, passive_interface). | 
|  |  | 
|  |  | 
|  | already marked "real" (ZEBRA_IFC_REAL), i.e., "in kernel." According
to Paul Jakma, this probably fixes Quagga bug #202. | 
|  | 2007-04-15 Sebastien Tandel <sebastien@tandel.be>
	* bgp_aspath.c: (aspath_as_add, aspath_segment_add) Minor performance
	  optimization: while loop should test one pointer instead of two. | 
|  |  | 
|  | thread_timer_remain_second) | 
|  | 2007-04-10 Paul Jakma <paul.jakma@sun.com>
	* ioctl{_solaris,}.c: (if_get_mtu) Ping clients via
          zebra_interface_up_update if MTU is changed. | 
|  | 2007-04-08 Paul Jakma <paul.jakma@sun.com>
	* bgp_attr.c: (general) Bug #354: parsing of MP_REACH_NLRI and
	  MP_UNREACH_NLRI does not take sufficient care to ensure reads
	  from stream buffer stay in-bounds. Hence bgpd may attempt to read
	  beyond end of stream, if given a crafted packet. As it uses the
	  stream access methods to do so, this will typically result in
	  assert() being hit in stream.c. Where code is compiled without
	  assert() enabled, result is unknown.
	  (struct message attr_str) should be static.
	  (bgp_mp_reach_parse) Carefully check length remaining in stream
	  against amount desired to read from stream, prior to each read,
	  particularly where lengths are conditional on data obtained from
	  stream - using STREAM_READABLE.
	  Remove code to parse SNPA-number, it's a defunct field and changed
	  to a fixed size in latest BGP MP update RFC - log warning if
	  SNPA-number is not 0.
	  (bgp_mp_unreach_parse) Check withdraw_length carefully against
	  STREAM_READABLE.
	  (bgp_attr_parse) If attribute-parser function returns error, log
	  warning.
	  Log attribute type on mismatch. | 
|  | 2007-04-08 Paul Jakma <paul.jakma@sun.com>
	* bgp_route.c: (general) Same bug as fixed on 2006-11-28 by ajs for
	  bgp static routes, but for main BGP RIB: Quick 'flap' of routes
	  can cause bgpd to mistake a new route for a duplicate route,
	  due to presence of removed, but not yet processed BGP RIB entry.
	  (bgp_update_rsclient) Ignore REMOVED bgp_info for duplicate,
	  restore route instead.
	  (bgp_update_main) Ditto. | 
|  | 2007-04-08 Paul Jakma <paul.jakma@sun.com>
	* interface.c: (if_delete_update) Address removal triggered
	  by kernel shouldn't remove configured IPv4 address from connected
	  list. | 
|  | 2007-04-08 Paul Jakma <paul.jakma@sun.com>
	* {ioctl,kernel}_null.c: Install of IP address should
	  reflect back to zebra via kernel_address_add..., makes
	  testzebra more useful. | 
|  | 2007-04-07 Paul Jakma <paul.jakma@sun.com>
	* lib/prefix.h: Add define to match IPv4 Link-Local addresses
	* zebra/redistribute.c: (zebra_check_addr) Don't redistribute routes
	  to IPv4 link-local prefixes, fixes bug #351.
	* zebra/redistribute.h: Export zebra_check_addr.
	* zebra/router-id.c: (router_id_bad_address) re-use zebra_check_addr
	  rather than implementing similar logic. | 
|  | 2007-04-07 Paul Jakma <paul.jakma@sun.com>
	* bgpd.c: (general) Fix bug #352
	  (bgp_config_write_family_header) write ipv6/multicast
	  address family header.
	  (bgp_config_write) write out ipv6 multicast AF config. | 
|  | 2007-03-23 Paul Jakma <paul.jakma@sun.com>
	* ospf_spf.c: (ospf_nexthop_calculation) Fix silly regression
	  causing ospfd to fail to calculate paths past networks not
	  attached to root vertex, introduced with bug #330 fixes. | 
|  | 2007-03-23 Paul Jakma <paul.jakma@sun.com>
	* ospf_spf.c: (various) Add more debug statements. | 
|  | 2007-03-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* Makefile.am: Patch rule for draft-zebra-00.txt to work
	  in VPATH build environments. | 
|  | 2007-03-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* ripd.c: (show_ip_rip_status) Use new thread_timer_remain_second
	  function instead of rip_next_thread_timer to display the time until
	  next update properly.
	  (rip_next_thread_timer) Remove obsolete function. | 
|  | 2007-03-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* log.c: (mes_lookup) Make the function more robust: check for
	  cases where the index does not match the key value at that position.
	  If so, give a warning and fall back to a linear search.
	  And improve the error message in cases where even that fails. | 
|  | 2007-03-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* ospf_snmp.c: (ospf_snmp_neighbor_state) New function to
	  map internal quagga neighbor states to SNMP standard values.
	  (ospfNbrEntry) Call new ospf_snmp_neighbor_state function. | 
|  | 2007-03-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* ospf_zebra.c: (ospf_zebra_add, ospf_zebra_delete) Fix bug
	  where inet_ntoa was used twice in the same debug message,
	  which doesn't work because there's a single shared buffer
	  for the returned string.  The fix is to use inet_ntop. | 
|  | 2007-03-08 David Siebörger d.sieborger@ru.ac.za
	* ospf6_neighbor.c: (ospf6_neighbor_show) Fix bug #322, ospf6d
	  wasn't updated to match thread times changing to relative
	  time. | 
|  | 2007-03-06 Paul Jakma <paul.jakma@sun.com>
	* kernel_socket.c: (ifam_read) Do not update interface metric on
	  receipt of NEW/DEL ADDR messages, bogus as: a) some systems
	  dont include iface metric for address events b) we didn't
	  update clients either. Initial diagnosis by Eugene Grosbein. | 
|  | 2007-02-27  Pavol Rusnak <prusnak@suse.cz>
	* ospf6_lsa.c: (ospf6_lsa_handler_name) Fix bug: must use strcmp
	  to compare strings. | 
|  | 2007-02-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* ospfd.c: (ospf_terminate) Exit immediately if ospf is not
	  actually running (e.g. the config file was empty).  Fixes
	  bug where SIGTERM would not kill ospfd. | 
|  | 2007-02-26 Paul Jakma <paul.jakma@sun.com>
	* ospf_spf.c: Fix regression introduced with bug #330 fix: The
	  cost update added to ospf_spf_add_parent only handled PtP
	  case, differing from same functionality in higher-level
	  ospf_spf_next. Regression diagnosed by Anders Pedersen,
	  mailnews+router-quagga-dev@news.cohaesio.com.
	  (ospf_vertex_new) Initialise vertices to max-cost.
	  (ospf_spf_init) Root vertex always creates with 0 cost.
	  (ospf_spf_add_parent) Remove the buggy V->W cost calculating
	  code, instead take the new distance as a parameter.
	  (ospf_nexthop_calculation) Take distance as parameter, so it
	  can be passed down to add_parent.
	  (ospf_spf_next) Dont initialise candiate vertex distance,
	  vertex_new does so already. Pass distance down to
	  nexthop_calculation (see above). | 
|  | 2007-02-26 Robert Olsson <Robert.Olsson@data.slu.se>
	* irdp_main.c: (irdp_send_thread) Skip non-AF_INET addresses,
	   i.e. do not try interpret IPv6 addresses as IPv4 addresses
	   to broadcast in IRDP announcements.. | 
|  | 2007-02-22 Paul Jakma <paul.jakma@sun.com>
	* quagga.{xml,init}.in: Add licence boilerplate to ensure
	  licence terms are clear. | 
|  | 2007-02-22 Paul Jakma <paul.jakma@sun.com>
	* bgp_fsm.c: (bgp_fsm_change_status) Handle state change into
	  clearing or greater here. Simpler.
	  (bgp_event) Clearing state change work moved to previous
	* bgp_route.c: (bgp_clear_route_node) Clearing adj-in here
	  is too late, as it leaves a race between a peer being deleted
	  and an identical peer being configured before clearing
	  completes, leading to a crash.
	  Simplest fix is to clean peers Adj-in up-front, rather than
	  queueing such work.
	  (bgp_clear_route_table) Clear peer's Adj-In and Adj-Out
	  up-front here, rather than queueing such work.
	  Extensive comment added on the various bits of indexed data
	  that exist and how they need to be dealt with.
	  (bgp_clear_route) Update comment. | 
|  |  | 
|  | Update notes on required tool versions Note that autoconf 2.59 is the
standard (even though it's old, 2.60 and 2.61 are pretty recent).  For
others, pick releases that are at least 1.5 years old.
Note that GNU awk is required.
Replace update-autotools reference with bootstrap.sh.
(no changelog, doc change only, per GNU coding standards) | 
|  |  |