]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
16 years ago[link-detect] Improve BSD support.
Andrew J. Schorr [Fri, 11 Jan 2008 15:57:13 +0000 (15:57 +0000)]
[link-detect] Improve BSD support.
2008-01-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* lib/zebra.h: Revert previous change, no need to include
  <net/if_media.h> here.
* zebra/ioctl.c: If HAVE_BSD_LINK_DETECT is defined, include
  <net/if_media.h>
  (if_get_flags) Remove debug messages about BSD link state.
* zebra/kernel_socket.c: (bsd_linkdetect_translate) If link state
  is unknown, we should set the IFF_RUNNING flag.

16 years ago[link-detect] Try to get BSD link-detect to work properly.
Andrew J. Schorr [Thu, 10 Jan 2008 15:24:32 +0000 (15:24 +0000)]
[link-detect] Try to get BSD link-detect to work properly.

2008-01-10 Ingo Flaschberger <if@xip.at>

* configure.ac: Define HAVE_BSD_LINK_DETECT if <net/if_media.h> is
  present.
* lib/zebra.h: If HAVE_BSD_LINK_DETECT is defined,
  include <net/if_media.h>.
* zebra/ioctl.c: (if_get_flags) If HAVE_BSD_LINK_DETECT, use the
  SIOCGIFMEDIA ioctl to ascertain link state.
* zebra/kernel_socket.c: (bsd_linkdetect_translate) New function to
  map the ifm_data.ifi_link_state value into the IFF_RUNNING flag.
  (ifm_read) Call bsd_linkdetect_translate to fix the IFF_RUNNING
  flag before calling if_flags_update.

16 years ago[link-detect] Static interface routes should behave properly with link-detect.
Andrew J. Schorr [Tue, 8 Jan 2008 20:12:46 +0000 (20:12 +0000)]
[link-detect] Static interface routes should behave properly with link-detect.

2008-01-08 Michael Larson <mike@vyatta.com>

* zebra_rib.c: (nexthop_active_check) Replace if_is_up with
  if_is_operative to solve problems with static interface
  routes not behaving properly with link-detect.

16 years ago[lib] add mising UL qualifier to numerical constant
Paul Jakma [Tue, 8 Jan 2008 13:50:11 +0000 (13:50 +0000)]
[lib] add mising UL qualifier to numerical constant

2008-01-08 Pavol Rusnak <prusnak@suse.cz>

* memory.c: (mtype_memstr) Fix accidental shift past width of type,
  constant should have been forced to UL, rather than being left to
  default to int.

16 years ago[bgpd] Fix number of DoS security issues, restricted to configured peers.
Paul Jakma [Sat, 22 Dec 2007 16:49:52 +0000 (16:49 +0000)]
[bgpd] Fix number of DoS security issues, restricted to configured peers.

2007-12-22 Paul Jakma <paul.jakma@sun.com>

* Fix series of vulnerabilities reported by "Mu Security
  Research Team", where bgpd can be made to crash by sending
  malformed packets - requires that bgpd be configured with a
  session to the peer.
* bgp_attr.c: (bgp_attr_as4_path) aspath_parse may fail, only
  set the attribute flag indicating AS4_PATH if we actually managed
  to parse one.
  (bgp_attr_munge_as4_attrs) Assert was too general, it is possible
  to receive AS4_AGGREGATOR before AGGREGATOR.
  (bgp_attr_parse) Check that we have actually received the extra
  byte of header for Extended-Length attributes.
* bgp_attr.h: Fix BGP_ATTR_MIN_LEN to account for the length byte.
* bgp_open.c: (cap_minsizes) Fix size of CAPABILITY_CODE_RESTART,
  incorrect -2 left in place from a development version of as4-path
  patch.
* bgp_packet.c: (bgp_route_refresh_receive) ORF length parameter
  needs to be properly sanity checked.
* tests/bgp_capability_test.c: Test for empty capabilities.

16 years ago+ fixed no_set_aspath_prepend() to correctly match existing "set" statement
Denis Ovsienko [Tue, 18 Dec 2007 15:13:06 +0000 (15:13 +0000)]
+ fixed no_set_aspath_prepend() to correctly match existing "set" statement

16 years ago[bgpd] Fix typo in previous commit to bgp_main.c
Paul Jakma [Wed, 21 Nov 2007 21:25:34 +0000 (21:25 +0000)]
[bgpd] Fix typo in previous commit to bgp_main.c

16 years ago[bgpd] small fix for crash if 'listenon' argument is not given
Paul Jakma [Tue, 13 Nov 2007 09:32:23 +0000 (09:32 +0000)]
[bgpd] small fix for crash if 'listenon' argument is not given

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

* bgp_main.c: Small fix, format string parameters should never
  be NULL - it's not strictly valid and some libc's don't let
  you away with.

16 years ago+ fixed bug #418 (changing address on an existing interface doesn't cause existing...
Denis Ovsienko [Mon, 12 Nov 2007 14:55:01 +0000 (14:55 +0000)]
+ fixed bug #418 (changing address on an existing interface doesn't cause existing static routes to be revalidated)

16 years ago2007-10-30 Nick Hilliard <nick@inex.ie>
Paul Jakma [Thu, 1 Nov 2007 14:29:11 +0000 (14:29 +0000)]
2007-10-30 Nick Hilliard <nick@inex.ie>

* bgp_main.c: Add 'listenon' argument, to pass address to bind
  to.
* bgp_network.c: (bgp_socket) Extend to take bind address.
* bgpd.c: (bgp_init) Pass stored address.
* bgpd.h: (struct bgp_master) storage for bind address

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

* tools/multiple-bgpd.sh: New, quick script to launch a bunch of
  bgpds.

16 years ago+ fix the bug reported by Milan Kocian (IPv6 route handling was broken by the RIB...
Denis Ovsienko [Wed, 24 Oct 2007 13:13:21 +0000 (13:13 +0000)]
+ fix the bug reported by Milan Kocian (IPv6 route handling was broken by the RIB debug changeset).
after

16 years ago[ospf6d] Fix removal of defunct ASBR routes
Paul Jakma [Mon, 22 Oct 2007 18:34:41 +0000 (18:34 +0000)]
[ospf6d] Fix removal of defunct ASBR routes

2007-10-22 Phil Spagnolo <phillip.a.spagnolo@boeing.com>

* ospf6_asbr.c: (ospf6_asbr_lsentry_remove) Remove shortcut
  of LSDB search - it's based on assumption non-BEST routes
  can't have ASBR routes, which appears to be wrong. Safest to
  search.

16 years ago[snmp-smux] Fix problems if 'smux peer ...' is issued multiple times
Paul Jakma [Mon, 22 Oct 2007 15:53:17 +0000 (15:53 +0000)]
[snmp-smux] Fix problems if 'smux peer ...' is issued multiple times

2007-10-22 Lorenzo Colitti <lorenzo@colitti.com>

* smux.c: (smux_stop) Avoid cancelling a defunct thread pointer
  (smux_start) Stop smux before trying to start it, possibly again.

16 years ago[news] Fix top-line version
Paul Jakma [Mon, 22 Oct 2007 12:02:57 +0000 (12:02 +0000)]
[news] Fix top-line version

16 years ago[tests] Forgot to commit ecommunity_tests.c
Paul Jakma [Thu, 18 Oct 2007 16:33:08 +0000 (16:33 +0000)]
[tests] Forgot to commit ecommunity_tests.c

16 years ago[bgpd] Merge AS4 support
Paul Jakma [Sun, 14 Oct 2007 22:32:21 +0000 (22:32 +0000)]
[bgpd] Merge AS4 support

2007-10-14 Paul Jakma <paul.jakma@sun.com>

* NEWS: Note that MRT dumps are now version 2
* (general) Merge in Juergen Kammer's AS4 patch.

2007-09-27 Paul Jakma <paul.jakma@sun.com>

* bgp_aspath.c: (assegment_normalise) remove duplicates from
  from sets.
  (aspath_reconcile_as4) disregard a broken part of the RFC around
  error handling in path reconciliation.
* aspath_test.c: Test dupe-weeding from sets.
  Test that reconciliation merges AS_PATH and AS4_PATH where
  former is shorter than latter.

2007-09-26 Paul Jakma <paul.jakma@sun.com>

* aspath_test.c: Test AS4_PATH reconcilation where length
  of AS_PATH and AS4_PATH is same.

2007-09-25 Paul Jakma <paul.jakma@sun.com>

* bgp_open.c: (peek_for_as4_capability) Fix to work.
* bgp_packet.c: (bgp_open_receive) Fix sanity check of as4.
* tests/bgp_capability_test.c: (general) Extend tests to validate
  peek_for_as4_capability.
  Add test of full OPEN Option block, with multiple capabilities,
  both as a series of Option, and a single option.
  Add some crap to beginning of stream, to prevent code depending
  on getp == 0.

2007-09-18 Paul Jakma <paul.jakma@sun.com>

* bgp_open.c: (bgp_capability_as4) debug printf inline with others.
  (peek_for_as4_capability) There's no need to signal failure, as
  failure is better dealt with through full capability parser -
  just return the AS4, simpler.
* bgp_packet.c: (bgp_open_receive) Update to match
  peek_for_as4_capability change.
  Allow use of BGP_AS_TRANS by 2b speakers.
  Use NOTIFY_OPEN_ERR rather than CEASE for OPEN parsing errors.
  (bgp_capability_msg_parse) missing argument to debug print
  (bgp_capability_receive) missing return values.
* tests/bgp_capability_test.c: (parse_test) update for changes to
  peek_for_as4_capability

2007-07-25 Paul Jakma <paul.jakma@sun.com>

* Remove 2-byte size macros, just make existing macros take
  argument to indicate which size to use.
  Adjust all users - typically they want '1'.
* bgp_aspath.c: (aspath_has_as4) New, return 1 if there are any
  as4's in a path.
  (aspath_put) Return the number of bytes actually written, to
  fix the bug Juergen noted: Splitting of segments will change
  the number of bytes written from that already written to the
  AS_PATH header.
  (aspath_snmp_pathseg) Pass 2-byte flag to aspath_put. SNMP
  is still defined as 2b.
  (aspath_aggregate) fix latent bug.
  (aspath_reconcile_as4) AS_PATH+NEW_AS_PATH reconciliation
  function.
  (aspath_key_make) Hash the AS_PATH string, rather than
  just taking the addition of assegment ASes as the hash value,
  hopefully sligthly more collision resistant.
  (bgp_attr_munge_as4_attrs) Collide the NEW_ attributes
  together with the OLD 2-byte forms, code Juergen
  had in bgp_attr_parse but re-organised a bit.
  (bgp_attr_parse) Bunch of code from Juergen moves
  to previous function.
  (bgp_packet_attribute) Compact significantly by
  just /always/ using extended-length attr header.
  Fix bug Juergen noted, by using aspath_put's
  (new) returned size value for the attr header rather
  than the (guesstimate) of aspath_size() - the two could
  differ when aspath_put had to split large segments, unlikely
  this bug was ever hit in the 'wild'.
  (bgp_dump_routes_attr) Always use extended-len and
  use aspath_put return for header length. Output 4b ASN
  for AS_PATH and AGGREGATOR.
* bgp_ecommunity.c: (ecommunity_{hash_make,cmp}) fix
  hash callback declarations to match prototypes.
  (ecommunity_gettoken) Updated for ECOMMUNITY_ENCODE_AS4,
  complete rewrite of Juergen's changes (no asdot support)
* bgp_open.c: (bgp_capability_as4) New, does what it says
  on the tin.
  (peek_for_as4_capability) Rewritten to use streams and
  bgp_capability_as4.
* bgp_packet.c: (bgp_open_send) minor edit
  checked (in the abstract at least) with Juergen.
  Changes are to be more accepting, e.g, allow AS_TRANS on
  a 2-byte session.
* (general) Update all commands to use CMD_AS_RANGE.
* bgp_vty.c: (bgp_clear) Fix return vals to use CMD_..
  Remove stuff replicated by VTY_GET_LONG
  (bgp_clear_vty) Return bgp_clear directly to vty.
* tests/aspath_test.c: Exercise 32bit parsing. Test reconcile
  function.
* tests/ecommunity_test.c: New, test AS4 ecommunity changes,
  positive test only at this time, error cases not tested yet.

2007-07-25 Juergen Kammer <j.kammer@eurodata.de>

* (general) AS4 support.
* bgpd.h: as_t changes to 4-bytes.
* bgp_aspath.h: Add BGP_AS4_MAX and BGP_AS_TRANS defines.
* bgp_aspath.c: AS_VALUE_SIZE becomes 4-byte, AS16_VALUE_SIZE
  added for 2-byte.
  Add AS16 versions of length calc macros.
  (aspath_count_numas) New, count number of ASes.
  (aspath_has_as4) New, return 1 if there are any as4's in a
  path.
  (assegments_parse) Interpret assegment as 4 or 2 byte,
  according to how the caller instructs us, with a new
  argument.
  (aspath_parse) Add use32bit argument to pass to
  assegments_parse. Adjust all its callers to pass 1, unless
  otherwise noted.
  (assegment_data_put) Adjust to be able to write 2 or 4 byte
  AS, according to new use32bit argument.
  (aspath_put) Adjust to write 2 or 4.
  (aspath_gettoken) Use a long for passed in asno.
* bgp_attr.c: (attr_str) Add BGP_ATTR_AS4_PATH and
  BGP_ATTR_AS4_AGGREGATOR.
  (bgp_attr_aspath) Call aspath_parse with right 2/4 arg, as
  determined by received-capability flag.
  (bgp_attr_aspath_check) New, code previously in attr_aspath
  but moved to new func so it can be run after NEW_AS_PATH
  reconciliation.
  (bgp_attr_as4_path) New, handle NEW_AS_PATH.
  (bgp_attr_aggregator) Adjust to cope with 2/4 byte ASes.
  (bgp_attr_as4_aggregator) New, read NEW_AGGREGATOR.
  (bgp_attr_parse) Add handoffs to previous parsers for the two
  new AS4 NEW_ attributes.
  Various checks added for NEW/OLD reconciliation.
  (bgp_packet_attribute) Support 2/4 for AS_PATH and
  AGGREGATOR, detect when NEW_ attrs need to be sent.
* bgp_debug.{c,h}: Add 'debug bgp as4'.
* bgp_dump.c: MRTv2 support, unconditionally enabled, which
  supports AS4. Based on patches from Erik (RIPE?).
* bgp_ecommunity.c: (ecommunity_ecom2str) ECOMMUNITY_ENCODE_AS4
  support.
* bgp_open.c: (peek_for_as4_capability) New, peek for AS4
  capability prior to full capability parsing, so we know which
  ASN to use for struct peer lookup.
  (bgp_open_capability) Always send AS4 capability.
* bgp_packet.c: (bgp_open_send) AS4 handling for AS field
  (bgp_open_receive) Peek for AS4 capability first, and figure
  out which AS to believe.
* bgp_vty.c: (bgp_show_peer) Print AS4 cap
* tests/aspath_test.c: Support asn32 changes, call aspath_parse
  with 16 bit.
* vtysh/extract.pl: AS4 compatibility for router bgp ASNUMBER
* vtysh/extract.pl.in: AS4 compatibility for router bgp ASNUMBER
* vtysh/vtysh.c: AS4 compatibility for router bgp ASNUMBER

16 years ago+ pidfiles are now always created with 0644 perms instead if LOGFILE_MASK (0600)
Denis Ovsienko [Thu, 4 Oct 2007 15:09:19 +0000 (15:09 +0000)]
+ pidfiles are now always created with 0644 perms instead if LOGFILE_MASK (0600)

16 years ago+ rib_process() speedup for multi-nexthop route nodes
Denis Ovsienko [Thu, 4 Oct 2007 10:49:21 +0000 (10:49 +0000)]
+ rib_process() speedup for multi-nexthop route nodes

16 years ago+ Minor bugfix: IPv6 prefixes were logged incorrectly in RIB debugging calls. Fixed.
Denis Ovsienko [Wed, 3 Oct 2007 12:27:16 +0000 (12:27 +0000)]
+ Minor bugfix: IPv6 prefixes were logged incorrectly in RIB debugging calls. Fixed.

17 years ago[privs/Solaris] Quagga should work in zones with IP instances
Paul Jakma [Tue, 18 Sep 2007 18:07:18 +0000 (18:07 +0000)]
[privs/Solaris] Quagga should work in zones with IP instances

2007-09-18  Paul Jakma <paul.jakma@sun.com>

* privs.c: definition of ZCAP_NET_ADMIN on Solaris should
  be PRIV_SYS_IP_CONFIG, when that's available. Thus allowing
  Quagga to work with in Solaris zones with exclusive IP
  instances.

17 years ago[bgpd] Fix typo, which prevented advertisement of MP (non-IPv4) prefixes
Paul Jakma [Tue, 18 Sep 2007 12:11:26 +0000 (12:11 +0000)]
[bgpd] Fix typo, which prevented advertisement of MP (non-IPv4) prefixes

2007-09-17 Paul Jakma <paul.jakma@sun.com>

* bgp_open.c: (bgp_capability_mp) We were setting
  afc_nego[safi][safi] rather than afc_nego[afi][safi], thus
  failling to announce any non-IPv4 prefixes. Remove the extra,
  typo-ed character.
* bgp_capability_test.c: Test that peer's adv_recv and adv_nego get
  set correctly for MP capability and given AFI/SAFI.
  Colour OK/failed result so it's easier to find them.

17 years ago+ fix missing arg to zlog_warn()
Denis Ovsienko [Tue, 18 Sep 2007 09:03:13 +0000 (09:03 +0000)]
+ fix missing arg to zlog_warn()

17 years ago+ fix minor regression in OSPF sending buffer adjustment logic
Denis Ovsienko [Tue, 18 Sep 2007 09:01:13 +0000 (09:01 +0000)]
+ fix minor regression in OSPF sending buffer adjustment logic

17 years ago+ sayonara old_pid!
Denis Ovsienko [Fri, 14 Sep 2007 14:56:28 +0000 (14:56 +0000)]
+ sayonara old_pid!

17 years ago+ fixed bug #402: now the second zebra process doesn't destroy routes
Denis Ovsienko [Fri, 14 Sep 2007 13:31:52 +0000 (13:31 +0000)]
+ fixed bug #402: now the second zebra process doesn't destroy routes
  of the first one before dying
+ we are not going to receive routing messages originated by old_pid,
  because rib_sweep_route() is called after damon() now. This will allow
  to drop old_pid completely soon.

17 years agoSwitch from LOOKUP() to lookup() for rtm_type (see bug #401 for details).
Denis Ovsienko [Fri, 14 Sep 2007 11:31:55 +0000 (11:31 +0000)]
Switch from LOOKUP() to lookup() for rtm_type (see bug #401 for details).

17 years ago* rt_socket.c: (kernel_rtm_ipv4) prefix_buf could be passed
Denis Ovsienko [Wed, 12 Sep 2007 15:24:27 +0000 (15:24 +0000)]
* rt_socket.c: (kernel_rtm_ipv4) prefix_buf could be passed
  to zlog_err() uninitialized with debug disabled. Fixed.

17 years ago[release] bump to 0.99.9
Paul Jakma [Fri, 7 Sep 2007 16:54:01 +0000 (16:54 +0000)]
[release] bump to 0.99.9

2007-09-07 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Bump version to 0.99.9

17 years ago[bgpd] low-impact DoS: crash on malformed community with debug set
Paul Jakma [Fri, 7 Sep 2007 14:24:55 +0000 (14:24 +0000)]
[bgpd] low-impact DoS: crash on malformed community with debug set

2007-09-07 Paul Jakma <paul.jakma@sun.com>

* (general) bgpd can be made crash by remote peers if debug
  bgp updates is set, due to NULL pointer dereference.
  Reported by "Mu Security Research Team",
  <security@musecurity.com>.
* bgp_attr.c: (bgp_attr_community) If community length is 0,
  don't set the community-present attribute bit, just return
  early.
* bgp_debug.c: (community_str,community_com2str) Check com
  pointer before dereferencing.

17 years ago+ fixed bug #400: adjusted rtread_sysctl.c:route_read()
Denis Ovsienko [Thu, 6 Sep 2007 14:34:41 +0000 (14:34 +0000)]
+ fixed bug #400: adjusted rtread_sysctl.c:route_read()

17 years ago[bgpd] bug #398 Bogus free on out route-map, and assert() with rsclients
Paul Jakma [Thu, 30 Aug 2007 13:36:17 +0000 (13:36 +0000)]
[bgpd] bug #398 Bogus free on out route-map, and assert() with rsclients

2007-08-27 Paul Jakma <paul.jakma@sun.com>

* bgp_route.c: (bgp_announce_check) Fix bug #398, slight
  modification of Vladimir Ivanov's suggested fix - to keep
  memory alloc conditional.
  (bgp_process_announce_selected) Don't take struct attr as
  argument, none of the callers need it and it needlessly
  distances allocation from use.
  Free the extended attr, the attr itself is on the stack.
  Fix bad indentation.
* bgp_attr.c: (bgp_packet_attribute) Remove incorrect assert,
  and adjust conditional to test attr->extra, diagnosis by
  Vladimir Ivanov in bug #398.

2007-08-27 Vladimir Ivanov <wawa@yandex-team.ru>

* bgp_route.c: (bgp_announce_check_rsclient) copy of
  ri->attr is no longer deep enough, due to addition of
  attr->extra. It should use bgp_attr_dup, as
  bgp_announce_check() does.

17 years ago[bgpd] Pass NOSUB to regexec
Paul Jakma [Thu, 23 Aug 2007 23:22:02 +0000 (23:22 +0000)]
[bgpd] Pass NOSUB to regexec

2007-08-23 Paul Jakma <paul.jakma@sun.com>

* bgp_regex.c: (bgp_regcomp) Pass NOSUB flag to regcomp to
  prevent parsing of substitutions, which can have profound
  performance effects on bgpd and are of no use to the CLI
  anyway. How much it helps depends on the regex
  implementation.

17 years agoBug #362 is fixed now.
Denis Ovsienko [Tue, 21 Aug 2007 16:32:56 +0000 (16:32 +0000)]
Bug #362 is fixed now.

17 years agoLooks like bug #320 is finally fixed now.
Denis Ovsienko [Tue, 21 Aug 2007 16:15:39 +0000 (16:15 +0000)]
Looks like bug #320 is finally fixed now.

17 years agoFixed ioctl_solaris.c:if_get_mtu() for IPv6'less operation
Denis Ovsienko [Tue, 21 Aug 2007 16:12:40 +0000 (16:12 +0000)]
Fixed ioctl_solaris.c:if_get_mtu() for IPv6'less operation

17 years agoFixed bug #394 "RTF_DONE is ignored in rtm_read()"
Denis Ovsienko [Fri, 17 Aug 2007 14:16:30 +0000 (14:16 +0000)]
Fixed bug #394 "RTF_DONE is ignored in rtm_read()"

17 years agoMerged own patch for bug #390 (rewrite zebra/zebra_rib.c:nexthop_active_update())
Denis Ovsienko [Tue, 14 Aug 2007 09:46:48 +0000 (09:46 +0000)]
Merged own patch for bug #390 (rewrite zebra/zebra_rib.c:nexthop_active_update())

17 years agoMerged own patch for the bug #391 (debugging and comments mostly).
Denis Ovsienko [Mon, 13 Aug 2007 16:03:06 +0000 (16:03 +0000)]
Merged own patch for the bug #391 (debugging and comments mostly).

17 years agoUse the proper field length for the peer's address (netlink_interface_addr)
vize [Fri, 10 Aug 2007 06:25:20 +0000 (06:25 +0000)]
Use the proper field length for the peer's address (netlink_interface_addr)

17 years ago[tests] Add bgp_capability_test.c, should have been part of earlier commit
Paul Jakma [Wed, 8 Aug 2007 14:13:03 +0000 (14:13 +0000)]
[tests] Add bgp_capability_test.c, should have been part of earlier commit

17 years ago[isisd] Commit new files which should have been part of previous commit..
Paul Jakma [Wed, 8 Aug 2007 11:19:27 +0000 (11:19 +0000)]
[isisd] Commit new files which should have been part of previous commit..

17 years ago[isisd] Add support for Solaris DLPI
Paul Jakma [Tue, 7 Aug 2007 18:49:18 +0000 (18:49 +0000)]
[isisd] Add support for Solaris DLPI

2007-08-07 James Carlson <james.d.carlson@sun.com>

* configure.ac: Added support for separate link-layer access
  mechanisms in isisd.
* isis_network.c: split up into isis_bpf.c, isis_dlpi.c, and
  isis_pfpacket.c, selected by autoconf, and added DLPI support.
* (general) Fixed to allow compilation and use on Solaris.

17 years ago[ospfd] Finish explanatory comment started in previous commit..
Paul Jakma [Tue, 7 Aug 2007 16:22:05 +0000 (16:22 +0000)]
[ospfd] Finish explanatory comment started in previous commit..

2007-08-07 Paul Jakma <paul.jakma@sun.com>

* ospf_spf.c: (ospf_spf_next) Finish off the explanatory
  comment made in previous commit

17 years ago[zebra] Add extra debug logging for RIB and RIB queueing
Paul Jakma [Mon, 6 Aug 2007 19:25:11 +0000 (19:25 +0000)]
[zebra] Add extra debug logging for RIB and RIB queueing

2007-08-06  Denis Ovsienko

* zebra_rib.c: (general) Add extra debug logging for RIB and
  RIB queue.

17 years ago[ospfd] Fix bad SPF calculation on some topologies - incorrect sorting
Paul Jakma [Mon, 6 Aug 2007 18:52:45 +0000 (18:52 +0000)]
[ospfd] Fix bad SPF calculation on some topologies - incorrect sorting

2007-08-07 Atis Elsts <atis@mikrotik.com>

* ospf_spf.c: (ospf_spf_next) Sort heap in correct direction
  after vertex cost is changed, thus fixing incorrect SPF
  calculation on certain topologies.
* lib/pqueue.{c,h}: Export trickle_up

17 years agoFix last commit - add back in closing paren which was apparently
Greg Troxel [Mon, 6 Aug 2007 15:50:20 +0000 (15:50 +0000)]
Fix last commit - add back in closing paren which was apparently
uninentionally deleted along with a test.

17 years ago[ospfd] Bug #331, NSSA ASBR regression - failure to set E-bit in NSSA areas
Paul Jakma [Mon, 6 Aug 2007 15:27:12 +0000 (15:27 +0000)]
[ospfd] Bug #331, NSSA ASBR regression - failure to set E-bit in NSSA areas

2007-08-06 Paul Jakma <paul.jakma@sun.com>

* ospf_lsa.c: (router_lsa_flags) Bug #331, NSSA regression caused
  caused ASBRs to not advertise E-bit into NSSA areas.

17 years ago[bgpd] Add support for AS_PATHLIMIT / draft-ietf-idr-as-pathlimit
Paul Jakma [Mon, 6 Aug 2007 15:24:51 +0000 (15:24 +0000)]
[bgpd] Add support for AS_PATHLIMIT / draft-ietf-idr-as-pathlimit

2007-07-31 Paul Jakma <paul.jakma@sun.com>

* (general) Support for draft-ietf-idr-as-pathlimit-03.
* bgp_attr.h: (struct attr) Add pathlimit struct
          bgp_attr.c: (attr_str) Add BGP_ATTR_AS_PATHLIMIT string.
          (attrhash_key_make) tally pathlimit too
          (attrhash_cmp) cmp pathlimit attr
          (bgp_attr_aspathlimit) New, parse AS_PATHLIMIT attr.
          (bgp_attr_parse) ditto
          (bgp_packet_attribute) Write out AS_PATHLIMIT when set
          (bgp_dump_routes_attr) ditto
         * bgp_route.h: (struct bgp_static) Add TTL field
         * bgp_route.c: (bgp_announce_check) Drop paths that are over
           their hop-count TTL before sending via EBGP.
           Mangle ASN in pathlimit for confeds/private as best we can.
           (bgp_static_update_{rsclient,main}) Add any configure pathlimit
           information.
           (bgp_pathlimit_update_parents) New, update atomic-aggr setting for
           parents of an aspathlimit'ed static.
           (bgp_static_set) Add TTL argument, for all the 'bgp network'
           commands.
           Call previous for TTL changed statics.
           (bgp_static_unset) Call pathlimit_update_parents.
           (various bgp network commands) Add 'pathlimit <0-255>' qualifier
           to all the various forms, bar route-map - which can set ttl
           itself.
         * bgp_routemap.c: (general) Add support for 'set pathlimit ttl' and
           'match pathlimit as'.
         * doc/bgpd.texi: Document 'network ... pathlimit <ttl>'

17 years ago[bgpd] cleanup, compact and consolidate capability parsing code
Paul Jakma [Mon, 6 Aug 2007 15:21:45 +0000 (15:21 +0000)]
[bgpd] cleanup, compact and consolidate capability parsing code

2007-07-26 Paul Jakma <paul.jakma@sun.com>

* (general) Clean up and compact capability parsing slightly.
  Consolidate validation of length and logging of generic TLV, and
  memcpy of capability data, thus removing such from cap specifc
  code (not always present or correct).
* bgp_open.h: Add structures for the generic capability TLV header
  and for the data formats of the various specific capabilities we
  support.  Hence remove the badly named, or else misdefined, struct
  capability.
* bgp_open.c: (bgp_capability_vty_out) Use struct capability_mp_data.
  Do the length checks *before* memcpy()'ing based on that length
  (stored capability - should have been validated anyway on input,
  but..).
  (bgp_afi_safi_valid_indices) new function to validate (afi,safi)
  which is about to be used as index into arrays, consolidates
  several instances of same, at least one of which appeared to be
  incomplete..
  (bgp_capability_mp) Much condensed.
  (bgp_capability_orf_entry) New, process one ORF entry
  (bgp_capability_orf) Condensed. Fixed to process all ORF entries.
  (bgp_capability_restart) Condensed, and fixed to use a
  cap-specific type, rather than abusing capability_mp.
  (struct message capcode_str) added to aid generic logging.
  (size_t cap_minsizes[]) added to aid generic validation of
  capability length field.
  (bgp_capability_parse) Generic logging and validation of TLV
  consolidated here. Code compacted as much as possible.
* bgp_packet.c: (bgp_open_receive) Capability parsers now use
  streams, so no more need here to manually fudge the input stream
  getp.
  (bgp_capability_msg_parse) use struct capability_mp_data. Validate
  lengths /before/ memcpy. Use bgp_afi_safi_valid_indices.
  (bgp_capability_receive) Exported for use by test harness.
* bgp_vty.c: (bgp_show_summary) fix conversion warning
  (bgp_show_peer) ditto
* bgp_debug.h: Fix storage 'extern' after type 'const'.
        * lib/log.c: (mes_lookup) warning about code not being in
          same-number array slot should be debug, not warning. E.g. BGP
          has several discontigious number spaces, allocating from
          different parts of a space is not uncommon (e.g. IANA
          assigned versus vendor-assigned code points in some number
          space).

17 years agoAdd comment questioning part of previous change (Denis?).
Greg Troxel [Thu, 2 Aug 2007 14:13:56 +0000 (14:13 +0000)]
Add comment questioning part of previous change (Denis?).
Fix indentation to match accumulated changes.

17 years agoBugzilla #384.
Greg Troxel [Thu, 2 Aug 2007 14:07:07 +0000 (14:07 +0000)]
Bugzilla #384.

2007-08-02  Denis Ovsienko

* rt_socket.c (kernel_rtm_ipv4): Only call rtm_write when changes
are intended.  Don't set FIB flag on failed additions (such as
occur with multiple paths.

http://bugzilla.quagga.net/attachment.cgi?id=235&action=view

17 years agodisable gmake workaround now that solaris directory is not built by
Greg Troxel [Thu, 2 Aug 2007 13:38:38 +0000 (13:38 +0000)]
disable gmake workaround now that solaris directory is not built by
default

17 years agonote the use of GNU make extensions.
Greg Troxel [Thu, 2 Aug 2007 13:37:30 +0000 (13:37 +0000)]
note the use of GNU make extensions.

17 years agoAdd --enable-solaris to descend into solaris-specific build directory.
Greg Troxel [Thu, 2 Aug 2007 13:36:56 +0000 (13:36 +0000)]
Add --enable-solaris to descend into solaris-specific build directory.
While it doesn't take a long time to build, this is currently the only
thing in the tree that doesn't work with BSD make, and there's no
reason to build solaris package control files on other systems.

17 years agoworkaround buggy solaris/Makefile.am which requires GNU make.
Greg Troxel [Thu, 2 Aug 2007 13:23:57 +0000 (13:23 +0000)]
workaround buggy solaris/Makefile.am which requires GNU make.

17 years ago[bgpd] Dont schedule dumps multiple times for same command
Paul Jakma [Tue, 31 Jul 2007 17:35:36 +0000 (17:35 +0000)]
[bgpd] Dont schedule dumps multiple times for same command

2007-07-31 Lorenzo Colitti <lorenzo@colitti.com>

* bgp_dump.c: (general) Add comments to code.
  (bgp_dump_interval_add) remove some redundant lines.
  (bgp_dump_set) Use enum for type argument.
  Avoid scheduling dump twice if exact same command
  is given twice..

17 years ago2007-07-27 Paul Jakma <paul.jakma@sun.com>
Paul Jakma [Fri, 27 Jul 2007 16:48:55 +0000 (16:48 +0000)]
2007-07-27 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Bump version to 0.99.8

17 years ago[lib] Add comments regarding setsockopt_multicast_ipv4 arguments.
Andrew J. Schorr [Fri, 6 Jul 2007 17:00:24 +0000 (17:00 +0000)]
[lib] Add comments regarding setsockopt_multicast_ipv4 arguments.

2007-07-06 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* sockopt.{c,h}: (setsockopt_multicast_ipv4) Add some comments about
  the arguments.

17 years ago[zebra] rib loop check for RIB_ENTRY_REMOVED checks wrong var
Paul Jakma [Wed, 27 Jun 2007 11:12:38 +0000 (11:12 +0000)]
[zebra] rib loop check for RIB_ENTRY_REMOVED checks wrong var

2007-06-25 Denis Ovsienko

* zebra_rib.c: (rib_add_ipv4_multipath) Loop through RIB
  is using 'same' variable, but RIB_ENTRY_REMOVED check
  is testing the constant 'rib' variable, fix. Impact
  unknown at this point.

17 years ago2007-06-25 Hasso Tepper <hasso@quagga.net>
Hasso Tepper [Mon, 25 Jun 2007 19:30:59 +0000 (19:30 +0000)]
2007-06-25 Hasso Tepper <hasso@quagga.net>

* configure.ac: Fix typo so it compiles again on BSD systems.

17 years ago[bgpd] bug #368: Fix possible loop between peers going Idle<->OpenSent
Paul Jakma [Fri, 22 Jun 2007 19:11:14 +0000 (19:11 +0000)]
[bgpd] bug #368: Fix possible loop between peers going Idle<->OpenSent

2007-06-22 Paul Jakma <paul.jakma@sun.com>

* bgp_fsm.c: (struct FSM) Bug #368. TCP Errors during OpenSent
  should cycle to Active, not to Idle or else peer bringup can
  race and cycle Idle<->Active. Reported and fix tested by
  Mukesh Agrawal.

17 years ago[build] configure needs to check for struct icmphdr for IRDP
Paul Jakma [Fri, 22 Jun 2007 16:14:42 +0000 (16:14 +0000)]
[build] configure needs to check for struct icmphdr for IRDP

2007-06-22 Paul Jakma <paul.jakma@sun.com>

* configure.ac: IRDP also depends on struct icmphdr, enabling
  only on in_pktinfo breaks when an OS acquires pktinfo, as
  Solaris NV has. Reported by Jim Carlson.

17 years ago[vtysh] bug #371: vtysh forgets to print 'end' for write-terminal
Paul Jakma [Wed, 20 Jun 2007 15:22:14 +0000 (15:22 +0000)]
[vtysh] bug #371: vtysh forgets to print 'end' for write-terminal

2007-06-20 Nicolas Deffayet <nicolas@deffayet.com>

* vtysh.c: (vtysh_write_terminal) Write 'end' when done,
  to be consistent with telnet vty, and expected by tools
  like rancid.

17 years ago[bgpd] bug #370, default-originate was broken by a silly thinko
Paul Jakma [Thu, 14 Jun 2007 11:17:58 +0000 (11:17 +0000)]
[bgpd] bug #370, default-originate was broken by a silly thinko

2007-05-25 Paul Jakma <paul.jakma@sun.com>

* bgp_route.c: (bgp_default_originate) Sanity check added
  previously was broken and always failed, thus this function
  never could run, bug #370.

17 years ago[ospf6d] Fix silly bug: muse use strcmp to compare strings
Andrew J. Schorr [Thu, 7 Jun 2007 13:11:58 +0000 (13:11 +0000)]
[ospf6d] Fix silly bug: muse use strcmp to compare strings

2007-06-07 Pavol Rusnak <prusnak@suse.cz>

* ospf6_lsa.c: (no_debug_ospf6_lsa_hex_cmd) Fix bug: must use strcmp
  to compare strings.

17 years ago[linux] Fix strange compilation problem by explicitly including <linux/types.h>
Andrew J. Schorr [Fri, 1 Jun 2007 13:21:20 +0000 (13:21 +0000)]
[linux] Fix strange compilation problem by explicitly including <linux/types.h>

2007-06-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* zebra.h: On linux, we seem to need to include <linux/types.h> before
  <sys/sysctl.h>, otherwise we get isisd compilation errors about
  __be16 not being defined.

17 years ago[zebra] Trivial patches so we can compile when IPv6 is not enabled
Andrew J. Schorr [Wed, 30 May 2007 20:10:34 +0000 (20:10 +0000)]
[zebra] Trivial patches so we can compile when IPv6 is not enabled

2007-05-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* zebra_routemap.c: (route_set_src_compile) Use '#ifdef HAVE_IPV6'
  as needed.
* zebra_vty.c: (vty_show_ip_route_detail, vty_show_ip_route) Use
  '#ifdef HAVE_IPV6' as needed.
  (show_ip_protocol) Move function definition outside of
  '#ifdef HAVE_IPV6' section.

17 years ago[PtP] Fix BSD problems with PtP interfaces: must treat RTA_BRD as peer address
Andrew J. Schorr [Thu, 17 May 2007 15:00:41 +0000 (15:00 +0000)]
[PtP] Fix BSD problems with PtP interfaces: must treat RTA_BRD as peer address

2007-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* kernel_socket.c: (ifam_read_mesg) Grab RTA_DST and RTA_GATEWAY
  addresses from the message (if present, which seems unlikely on
  current BSD platforms), and show them in the debug messages.
  Also, add ifam_flags to the debug messages.
  (ifam_read) If the interface is point-to-point, then the RTA_BRD
  address should be treated as a peer address.

17 years ago[autoconf] Fix missing space character in previous commit
Paul Jakma [Thu, 10 May 2007 17:05:16 +0000 (17:05 +0000)]
[autoconf] Fix missing space character in previous commit

17 years ago[autoconf] GNU_SOURCE can be defined twice, through AC_FUNC_STRNLEN
Paul Jakma [Thu, 10 May 2007 16:53:04 +0000 (16:53 +0000)]
[autoconf] GNU_SOURCE can be defined twice, through AC_FUNC_STRNLEN

2007-05-10 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Use AC_GNU_SOURCE to define _GNU_SOURCE, rather
  than having lib/zebra.h do it.
  AC_FUNC_STRNLEN has side-effects with latest autoconf, use
  AC_CHECK_FUNC on strnlen instead.
* lib/zebra.h: Don't try define _GNU_SOURCE, autoconf should do it.

17 years ago[autoconf] add back check for inet_aton
Paul Jakma [Thu, 10 May 2007 16:52:26 +0000 (16:52 +0000)]
[autoconf] add back check for inet_aton

2007-05-10 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Add back check for inet_aton, which got dropped
  somehow in previous jumbo patch.

17 years ago[ospfd] Fix address qualified 'ip ospf auth' commands
Paul Jakma [Thu, 10 May 2007 03:00:09 +0000 (03:00 +0000)]
[ospfd] Fix address qualified 'ip ospf auth' commands

2007-05-09 Milan Kocian <milon@wq.cz>

* ospf_vty.c: Fix commands: 'ip ospf authentication A.B.C.D',
  'no ip ospf authentication A.B.C.D', 'no ip ospf
  authentication-key A.B.C.D'. Simply fix argv's indexes and
          argc check in DEFUN functions.

17 years ago[autoconf] bugs 162,303,178: Fix 'present but can not be compiled' warnings
Paul Jakma [Thu, 10 May 2007 02:38:51 +0000 (02:38 +0000)]
[autoconf] bugs 162,303,178: Fix 'present but can not be compiled' warnings

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().

17 years ago[ospfd] Bug #330 regression: Fix ospf_spf_add_parent assert
Paul Jakma [Mon, 7 May 2007 16:38:35 +0000 (16:38 +0000)]
[ospfd] Bug #330 regression: Fix ospf_spf_add_parent assert

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.

17 years ago[bgpd] Trim memory usage of BGP routes
Paul Jakma [Fri, 4 May 2007 20:15:47 +0000 (20:15 +0000)]
[bgpd] Trim memory usage of BGP routes

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

17 years ago[zebra] Add zebra_routemap.c
Paul Jakma [Fri, 4 May 2007 20:13:20 +0000 (20:13 +0000)]
[zebra] Add zebra_routemap.c

* zebra_routemap.c should have been in the commit of Steven's
  routemap patch.

17 years ago[zebra] Routemap support on received routes, with 'set src' command (linux)
Paul Jakma [Wed, 2 May 2007 16:05:35 +0000 (16:05 +0000)]
[zebra] Routemap support on received routes, with 'set src' command (linux)

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

17 years ago[build] Improve portability by invoking gcc with -std=gnu99 instead of -std=c99
Andrew J. Schorr [Mon, 30 Apr 2007 19:14:08 +0000 (19:14 +0000)]
[build] Improve portability by invoking gcc with -std=gnu99 instead of -std=c99

2007-04-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* configure.ac: Change gcc CFLAGS from '-std=c99' to '-std=gnu99'
  to improve portability.

17 years ago[ospfd] network command now behaves more logically when a peer prefix is defined
Andrew J. Schorr [Mon, 30 Apr 2007 16:52:05 +0000 (16:52 +0000)]
[ospfd] network command now behaves more logically when a peer prefix is defined

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.

17 years ago[0.99] Version bump to 0.99.7
Paul Jakma [Sun, 29 Apr 2007 20:13:35 +0000 (20:13 +0000)]
[0.99] Version bump to 0.99.7

2007-04-29 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Bump to 0.99.7

17 years ago[bgpd] Use defines for default weight
Paul Jakma [Sun, 29 Apr 2007 18:31:07 +0000 (18:31 +0000)]
[bgpd] Use defines for default weight

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.

17 years ago[bgpd] Fix warnings: hash callbacks should match hash API declarations
Paul Jakma [Sun, 29 Apr 2007 18:25:17 +0000 (18:25 +0000)]
[bgpd] Fix warnings: hash callbacks should match hash API declarations

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.

17 years ago[zebra/solaris] fix if_get_index passing wrong arg to lifreq_set_name
Paul Jakma [Sun, 29 Apr 2007 17:32:08 +0000 (17:32 +0000)]
[zebra/solaris] fix if_get_index passing wrong arg to lifreq_set_name

2007-04-29 Paul Jakma <paul.jakma@sun.com>

* if_ioctl_solaris.c: (if_get_index) Fix bogus argument passed
  to lifreq_set_name().

17 years ago[zebra] Fix merge error in previous solaris changeset
Paul Jakma [Sun, 29 Apr 2007 16:50:46 +0000 (16:50 +0000)]
[zebra] Fix merge error in previous solaris changeset

2007-04-29 Paul Jakma <paul.jakma@sun.com>

* ioctl{_solaris,}.c: (if_get_mtu) Fix missing ; in last commit.

17 years ago[logging] Minor performance tweak
Andrew J. Schorr [Sun, 29 Apr 2007 15:48:22 +0000 (15:48 +0000)]
[logging] Minor performance tweak

2007-04-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* log.c: (quagga_timestamp) Optimize the subsecond timestamp generation.

17 years ago[logging] Add new "log timestamp precision" command for subsecond timestamps
Andrew J. Schorr [Sun, 29 Apr 2007 15:24:15 +0000 (15:24 +0000)]
[logging] Add new "log timestamp precision" command for subsecond timestamps

2007-04-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* basic.texi: Document the new 'log timestamp precision' command.

17 years ago[logging] Add new "log timestamp precision" command for subsecond timestamps
Andrew J. Schorr [Sun, 29 Apr 2007 03:53:31 +0000 (03:53 +0000)]
[logging] Add new "log timestamp precision" command for subsecond timestamps

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.

17 years ago[logging] Add new "log timestamp precision" command for subsecond timestamps
Andrew J. Schorr [Sat, 28 Apr 2007 22:14:10 +0000 (22:14 +0000)]
[logging] Add new "log timestamp precision" command for subsecond timestamps

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.

17 years ago[64-bit] Fix 4 problems with printf formats and 64-bit size_t
Andrew J. Schorr [Fri, 27 Apr 2007 18:13:15 +0000 (18:13 +0000)]
[64-bit] Fix 4 problems with printf formats and 64-bit size_t

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.

17 years ago[ripd, ripngd] Remove useless code in rip_vty_out_uptime function
Andrew J. Schorr [Fri, 27 Apr 2007 18:03:11 +0000 (18:03 +0000)]
[ripd, ripngd] Remove useless code in rip_vty_out_uptime function

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.

17 years ago[ospfd] Fix bug in 'passive-interface default' behavior
Andrew J. Schorr [Sat, 21 Apr 2007 20:46:31 +0000 (20:46 +0000)]
[ospfd] Fix bug in 'passive-interface default' behavior

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).

17 years agoUse 'path (category)' form.
David Young [Mon, 16 Apr 2007 23:13:01 +0000 (23:13 +0000)]
Use 'path (category)' form.

17 years agoNote my change to zebra/connected.c.
David Young [Mon, 16 Apr 2007 23:11:19 +0000 (23:11 +0000)]
Note my change to zebra/connected.c.

17 years agoOnly suppress adding a connected route to the kernel if it is
David Young [Mon, 16 Apr 2007 05:54:02 +0000 (05:54 +0000)]
Only suppress adding a connected route to the kernel if it is
already marked "real" (ZEBRA_IFC_REAL), i.e., "in kernel." According
to Paul Jakma, this probably fixes Quagga bug #202.

17 years ago[bgpd] Minor performance improvement patch
Andrew J. Schorr [Sun, 15 Apr 2007 19:17:24 +0000 (19:17 +0000)]
[bgpd] Minor performance improvement patch

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.

17 years agoFix the display of some timers. (show ipv6 ripng and show ipv6 ripng status)
Vincent Jardin [Thu, 12 Apr 2007 07:43:49 +0000 (07:43 +0000)]
Fix the display of some timers. (show ipv6 ripng and show ipv6 ripng status)

17 years agoFix the display of route timeout in "show ip rip". (Use thread_timer_remain_second)
Vincent Jardin [Wed, 11 Apr 2007 15:12:05 +0000 (15:12 +0000)]
Fix the display of route timeout in "show ip rip". (Use thread_timer_remain_second)

17 years ago[zebra] MTU change should propogate to zserv client on BSD/Solaris
Paul Jakma [Tue, 10 Apr 2007 19:43:43 +0000 (19:43 +0000)]
[zebra] MTU change should propogate to zserv client on BSD/Solaris

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.

17 years ago[bgpd] Bug #354: Take care to keep reads of MP_(UN)REACH_NLRI in bounds
Paul Jakma [Tue, 10 Apr 2007 19:36:48 +0000 (19:36 +0000)]
[bgpd] Bug #354: Take care to keep reads of MP_(UN)REACH_NLRI in bounds

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.

17 years ago[bgpd] V. quick route flap gets mistaken for duplicate, route is then ignored
Paul Jakma [Tue, 10 Apr 2007 19:32:10 +0000 (19:32 +0000)]
[bgpd] V. quick route flap gets mistaken for duplicate, route is then ignored

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.