Makefile.am                 |    2 
 bgpd/bgp_advertise.c        |    4 
 bgpd/bgp_aspath.c           |   88 +++++++----
 bgpd/bgp_attr.c             |   54 +++++--
 bgpd/bgp_attr.h             |    1 
 bgpd/bgp_clist.c            |   18 --
 bgpd/bgp_clist.h            |    1 
 bgpd/bgp_community.c        |   11 +
 bgpd/bgp_community.h        |    1 
 bgpd/bgp_damp.c             |   14 -
 bgpd/bgp_damp.h             |    4 
 bgpd/bgp_debug.c            |   30 +--
 bgpd/bgp_debug.h            |    4 
 bgpd/bgp_dump.c             |    9 +
 bgpd/bgp_dump.h             |    1 
 bgpd/bgp_ecommunity.c       |   15 +
 bgpd/bgp_ecommunity.h       |    2 
 bgpd/bgp_filter.c           |   57 +++++--
 bgpd/bgp_filter.h           |    1 
 bgpd/bgp_fsm.c              |    4 
 bgpd/bgp_main.c             |  127 +++++++++++++++-
 bgpd/bgp_network.c          |    7 
 bgpd/bgp_nexthop.c          |   54 ++++---
 bgpd/bgp_nexthop.h          |    1 
 bgpd/bgp_open.c             |   19 +-
 bgpd/bgp_packet.c           |    7 
 bgpd/bgp_regex.h            |   12 +
 bgpd/bgp_route.c            |  331 +++++++++++++++++++++++++++-----------------
 bgpd/bgp_route.h            |   12 +
 bgpd/bgp_routemap.c         |   23 +--
 bgpd/bgp_snmp.c             |    2 
 bgpd/bgp_table.c            |   55 +++++--
 bgpd/bgp_table.h            |    8 -
 bgpd/bgp_vty.c              |   36 +++-
 bgpd/bgp_zebra.c            |    2 
 bgpd/bgpd.c                 |  118 ++++++++++-----
 bgpd/bgpd.h                 |    6 
 configure.ac                |  127 +++++++++++-----
 doc/Makefile.am             |   19 +-
 doc/ipv6.texi               |   10 +
 doc/ospfd.8                 |    3 
 doc/ripngd.8                |    3 
 doc/zebra.8                 |    5 
 isisd/isis_circuit.c        |    2 
 isisd/isis_lsp.c            |    2 
 isisd/isisd.c               |    2 
 lib/command.c               |  113 ++++++++++++---
 lib/command.h               |    8 -
 lib/distribute.c            |    7 
 lib/filter.c                |    4 
 lib/hash.c                  |    3 
 lib/if.c                    |    8 -
 lib/keychain.c              |   14 -
 lib/linklist.c              |   12 -
 lib/log.c                   |   27 ++-
 lib/log.h                   |   20 +-
 lib/memory.c                |   47 +++++-
 lib/memory.h                |    1 
 lib/plist.c                 |    4 
 lib/routemap.c              |   11 +
 lib/routemap.h              |    1 
 lib/smux.c                  |   18 +-
 lib/smux.h                  |    5 
 lib/sockopt.c               |   44 +++++
 lib/sockunion.c             |    4 
 lib/thread.c                |   28 +++
 lib/thread.h                |    8 -
 lib/vty.c                   |   16 +-
 lib/vty.h                   |    1 
 lib/zclient.c               |   10 -
 lib/zclient.h               |    1 
 lib/zebra.h                 |   12 +
 ospf6d/ospf6_abr.c          |    2 
 ospf6d/ospf6_area.c         |    6 
 ospf6d/ospf6_asbr.c         |    3 
 ospf6d/ospf6_flood.c        |    6 
 ospf6d/ospf6_interface.c    |   10 -
 ospf6d/ospf6_intra.c        |    4 
 ospf6d/ospf6_lsa.c          |   27 ++-
 ospf6d/ospf6_message.c      |    2 
 ospf6d/ospf6_neighbor.c     |   10 -
 ospf6d/ospf6_route.c        |    6 
 ospf6d/ospf6_spf.c          |    4 
 ospf6d/ospf6_top.c          |   18 +-
 ospf6d/ospf6_zebra.c        |    2 
 ospf6d/ospf6d.c             |    8 -
 ospfclient/ospf_apiclient.c |    3 
 ospfclient/ospfclient.c     |    1 
 ospfd/ospf_api.c            |   10 -
 ospfd/ospf_apiserver.c      |    3 
 ospfd/ospf_asbr.c           |    3 
 ospfd/ospf_ase.c            |   27 ++-
 ospfd/ospf_dump.c           |   22 +-
 ospfd/ospf_flood.c          |   11 -
 ospfd/ospf_interface.c      |   17 --
 ospfd/ospf_lsa.c            |   43 +----
 ospfd/ospf_lsdb.c           |    1 
 ospfd/ospf_main.c           |    3 
 ospfd/ospf_neighbor.c       |    3 
 ospfd/ospf_nsm.c            |    8 -
 ospfd/ospf_packet.c         |   15 +
 ospfd/ospf_route.c          |   15 +
 ospfd/ospf_snmp.c           |    8 -
 ospfd/ospf_te.c             |    6 
 ospfd/ospf_vty.c            |   11 -
 ospfd/ospf_zebra.c          |    5 
 ospfd/ospfd.c               |   10 -
 ospfd/ospfd.h               |   24 +--
 ripd/rip_debug.c            |    2 
 ripd/rip_interface.c        |    5 
 ripd/rip_offset.c           |    6 
 ripd/rip_peer.c             |    6 
 ripd/rip_zebra.c            |    2 
 ripd/ripd.c                 |   21 +-
 ripngd/ripng_debug.c        |    2 
 ripngd/ripng_interface.c    |    2 
 ripngd/ripng_main.c         |    7 
 ripngd/ripng_peer.c         |    6 
 ripngd/ripng_zebra.c        |    2 
 ripngd/ripngd.c             |    5 
 solaris/Makefile.am         |   18 +-
 solaris/quagga.init.in      |    4 
 tests/test-checksum.c       |   80 +++++++++-
 vtysh/vtysh.c               |   52 +++---
 vtysh/vtysh.h               |    4 
 vtysh/vtysh_config.c        |    2 
 vtysh/vtysh_main.c          |   67 ++++++++
 vtysh/vtysh_user.c          |    5 
 zebra/connected.c           |    8 -
 zebra/if_netlink.c          |    5 
 zebra/interface.c           |   16 +-
 zebra/interface.h           |   12 +
 zebra/irdp_interface.c      |    7 
 zebra/irdp_packet.c         |    2 
 zebra/kernel_socket.c       |    2 
 zebra/main.c                |    9 -
 zebra/redistribute.c        |   10 -
 zebra/rt_netlink.c          |    6 
 zebra/rtadv.c               |   78 ++++++++--
 zebra/rtadv.h               |    2 
 zebra/rtread_netlink.c      |    6 
 zebra/test_main.c           |    7 
 zebra/zebra_rib.c           |  208 +++++++++++++--------------
 zebra/zebra_vty.c           |  125 +++++++++++-----
 zebra/zserv.c               |   12 -
 145 files changed, 1885 insertions(+), 1026 deletions(-)

New commits:
commit 5b40b1b57e1fad1caf579e032adf4e111128e486
Author: Thijs Kinkhorst <[email protected]>
Date:   Tue Jul 21 19:24:29 2009 +0400

    [doc] zebra.8 via Christian Hammers (#531)
    
    The man page for zebra(8) mentions as port number to connect to 2602,
    but it's acutally 2601 (as shown in /etc/services). 2602 belongs to ripd.
    Attached patch fixes this typo.

commit 998274cd7c559bd04d7b7f6e615ad120af915d86
Author: Paul Jakma <[email protected]>
Date:   Tue Jul 21 15:21:20 2009 +0100

    [build] Bump release to 0.99.14

commit 638b70ba9893705bb3268aa00c25b8cb0e060b32
Author: Vasilis Tsiligiannis <[email protected]>
Date:   Mon Jul 20 01:25:16 2009 +0300

    [bgp] Fix nexthop reachability check on confederations
    
    * bgp_route.c: (bgp_update_main) Nexthop reachability should be checked for
      confederations too in case a prefix is received from more than one
      confederation peers.

commit a294365797da8b72e51507cbf92dbc6940e5103b
Author: Paul Jakma <[email protected]>
Date:   Tue Jul 21 14:02:04 2009 +0100

    [bgpd] fix typo made by paul in previous commit

commit e8eb000e15e2bbe63467d7c056f2b21b72ba7bd6
Author: Timo Teräs <[email protected]>
Date:   Tue Feb 17 12:14:23 2009 +0200

    [bgpd] Avoid zombie accepted peer entries
    
    Currently, when accepting the connection, it can be left as zombie, when the
    peer just initiates a connection, but never sends data (and the TCP
    connection end packets are lost).  This happens because for accepted
    connections a temporary new peer entry is created until OPEN message is
    exchanged, and this temporary peer entry does not get the hold time
    parameter set at all.
    
    * bgp_network.c: (bgp_accept) Set hold time and keepalive values for ACCEPT
      peers.

commit e7cc3b383e5e9190aa7784554c605a3a661ebe2b
Author: Nick Hilliard <[email protected]>
Date:   Tue Mar 17 22:14:25 2009 +0000

    [bgpd] Small buffer overrun in bgp_clear_node_queue_init
    
    * bgp_route.c: (bgp_clear_node_queue_init) fix buffer
      overrun.

commit 67b9467f6cad5097a3e4c6e49348be4d6c17a5bb
Author: Chris Caputo <[email protected]>
Date:   Sat Jul 18 04:02:26 2009 +0000

    [zebra] Silence noisy process_subq
    
    zebra_rib.c: process_subq(): #ifdef out debug code.

commit 228da42898c4f7bd72d9c1ee4135108e8d40d860
Author: Chris Caputo <[email protected]>
Date:   Sat Jul 18 05:44:03 2009 +0000

    [bgpd] Stability fixes including bugs 397, 492
    
    I've spent the last several weeks working on stability fixes to bgpd.
    These patches fix all of the numerous crashes, assertion failures, memory
    leaks and memory stomping I could find.  Valgrind was used extensively.
    
    Added new function bgp_exit() to help catch problems.  If "debug bgp" is
    configured and bgpd exits with status of 0, statistics on remaining
    lib/memory.c allocations are printed to stderr.  It is my hope that other
    developers will use this to stay on top of memory issues.
    
    Example questionable exit:
    
      bgpd: memstats: Current memory utilization in module LIB:
      bgpd: memstats:  Link List                     :          6
      bgpd: memstats:  Link Node                     :          5
      bgpd: memstats:  Hash                          :          8
      bgpd: memstats:  Hash Bucket                   :          2
      bgpd: memstats:  Hash Index                    :          8
      bgpd: memstats:  Work queue                    :          3
      bgpd: memstats:  Work queue item               :          2
      bgpd: memstats:  Work queue name string        :          3
      bgpd: memstats: Current memory utilization in module BGP:
      bgpd: memstats:  BGP instance                  :          1
      bgpd: memstats:  BGP peer                      :          1
      bgpd: memstats:  BGP peer hostname             :          1
      bgpd: memstats:  BGP attribute                 :          1
      bgpd: memstats:  BGP extra attributes          :          1
      bgpd: memstats:  BGP aspath                    :          1
      bgpd: memstats:  BGP aspath str                :          1
      bgpd: memstats:  BGP table                     :         24
      bgpd: memstats:  BGP node                      :          1
      bgpd: memstats:  BGP route                     :          1
      bgpd: memstats:  BGP synchronise               :          8
      bgpd: memstats:  BGP Process queue             :          1
      bgpd: memstats:  BGP node clear queue          :          1
      bgpd: memstats: NOTE: If configuration exists, utilization may be 
expected.
    
    Example clean exit:
    
      bgpd: memstats: No remaining tracked memory utilization.
    
    This patch fixes bug #397: "Invalid free in bgp_announce_check()".
    
    This patch fixes bug #492: "SIGBUS in bgpd/bgp_route.c:
    bgp_clear_route_node()".
    
    My apologies for not separating out these changes into individual patches.
    The complexity of doing so boggled what is left of my brain.  I hope this
    is all still useful to the community.
    
    This code has been production tested, in non-route-server-client mode, on
    a linux 32-bit box and a 64-bit box.
    
    Release/reset functions, used by bgp_exit(), added to:
    
      bgpd/bgp_attr.c,h
      bgpd/bgp_community.c,h
      bgpd/bgp_dump.c,h
      bgpd/bgp_ecommunity.c,h
      bgpd/bgp_filter.c,h
      bgpd/bgp_nexthop.c,h
      bgpd/bgp_route.c,h
      lib/routemap.c,h
    
    File by file analysis:
    
    * bgpd/bgp_aspath.c: Prevent re-use of ashash after it is released.
    
    * bgpd/bgp_attr.c: #if removed uncalled cluster_dup().
    
    * bgpd/bgp_clist.c,h: Allow community_list_terminate() to be called from
      bgp_exit().
    
    * bgpd/bgp_filter.c: Fix aslist->name use without allocation check, and
      also fix memory leak.
    
    * bgpd/bgp_main.c: Created bgp_exit() exit routine.  This function frees
      allocations made as part of bgpd initialization and, to some extent,
      configuration.  If "debug bgp" is configured, memory stats are printed
      as described above.
    
    * bgpd/bgp_nexthop.c: zclient_new() already allocates stream for
      ibuf/obuf, so bgp_scan_init() shouldn't do it too.  Also, made it so
      zlookup is global so bgp_exit() can use it.
    
    * bgpd/bgp_packet.c: bgp_capability_msg_parse() call to bgp_clear_route()
      adjusted to use new BGP_CLEAR_ROUTE_NORMAL flag.
    
    * bgpd/bgp_route.h: Correct reference counter "lock" to be signed.
      bgp_clear_route() now accepts a bgp_clear_route_type of either
      BGP_CLEAR_ROUTE_NORMAL or BGP_CLEAR_ROUTE_MY_RSCLIENT.
    
    * bgpd/bgp_route.c:
      - bgp_process_rsclient(): attr was being zero'ed and then
        bgp_attr_extra_free() was being called with it, even though it was
        never filled with valid data.
    
      - bgp_process_rsclient(): Make sure rsclient->group is not NULL before
        use.
    
      - bgp_processq_del(): Add call to bgp_table_unlock().
    
      - bgp_process(): Add call to bgp_table_lock().
    
      - bgp_update_rsclient(): memset clearing of new_attr not needed since
        declarationw with "= { 0 }" does it.  memset was already commented
        out.
    
      - bgp_update_rsclient(): Fix screwed up misleading indentation.
    
      - bgp_withdraw_rsclient(): Fix screwed up misleading indentation.
    
      - bgp_clear_route_node(): Support BGP_CLEAR_ROUTE_MY_RSCLIENT.
    
      - bgp_clear_node_queue_del(): Add call to bgp_table_unlock() and also
        free struct bgp_clear_node_queue used for work item.
    
      - bgp_clear_node_complete(): Do peer_unlock() after BGP_EVENT_ADD() in
        case peer is released by peer_unlock() call.
    
      - bgp_clear_route_table(): Support BGP_CLEAR_ROUTE_MY_RSCLIENT.  Use
        struct bgp_clear_node_queue to supply data to worker.  Add call to
        bgp_table_lock().
    
      - bgp_clear_route(): Add support for BGP_CLEAR_ROUTE_NORMAL or
        BGP_CLEAR_ROUTE_MY_RSCLIENT.
    
      - bgp_clear_route_all(): Use BGP_CLEAR_ROUTE_NORMAL.
    
      Bug 397 fixes:
    
        - bgp_default_originate()
        - bgp_announce_table()
    
    * bgpd/bgp_table.h:
      - struct bgp_table: Added reference count.  Changed type of owner to be
        "struct peer *" rather than "void *".
    
      - struct bgp_node: Correct reference counter "lock" to be signed.
    
    * bgpd/bgp_table.c:
      - Added bgp_table reference counting.
    
      - bgp_table_free(): Fixed cleanup code.  Call peer_unlock() on owner if
        set.
    
      - bgp_unlock_node(): Added assertion.
    
      - bgp_node_get(): Added call to bgp_lock_node() to code path that it was
        missing from.
    
    * bgpd/bgp_vty.c:
      - peer_rsclient_set_vty(): Call peer_lock() as part of peer assignment
        to owner.  Handle failure gracefully.
    
      - peer_rsclient_unset_vty(): Add call to bgp_clear_route() with
        BGP_CLEAR_ROUTE_MY_RSCLIENT purpose.
    
    * bgpd/bgp_zebra.c: Made it so zclient is global so bgp_exit() can use it.
    
    * bgpd/bgpd.c:
      - peer_lock(): Allow to be called when status is "Deleted".
    
      - peer_deactivate(): Supply BGP_CLEAR_ROUTE_NORMAL purpose to
        bgp_clear_route() call.
    
      - peer_delete(): Common variable listnode pn.  Fix bug in which rsclient
        was only dealt with if not part of a peer group.  Call
        bgp_clear_route() for rsclient, if appropriate, and do so with
        BGP_CLEAR_ROUTE_MY_RSCLIENT purpose.
    
      - peer_group_get(): Use XSTRDUP() instead of strdup() for conf->host.
    
      - peer_group_bind(): Call bgp_clear_route() for rsclient, and do so with
        BGP_CLEAR_ROUTE_MY_RSCLIENT purpose.
    
      - bgp_create(): Use XSTRDUP() instead of strdup() for peer_self->host.
    
      - bgp_delete(): Delete peers before groups, rather than after.  And then
        rather than deleting rsclients, verify that there are none at this
        point.
    
      - bgp_unlock(): Add assertion.
    
      - bgp_free(): Call bgp_table_finish() rather than doing XFREE() itself.
    
    * lib/command.c,h: Compiler warning fixes.  Add cmd_terminate().  Fixed
      massive leak in install_element() in which cmd_make_descvec() was being
      called more than once for the same cmd->strvec/string/doc.
    
    * lib/log.c: Make closezlog() check fp before calling fclose().
    
    * lib/memory.c: Catch when alloc count goes negative by using signed
      counts.  Correct #endif comment.  Add log_memstats_stderr().
    
    * lib/memory.h: Add log_memstats_stderr().
    
    * lib/thread.c: thread->funcname was being accessed in thread_call() after
      it had been freed.  Rearranged things so that thread_call() frees
      funcname.  Also made it so thread_master_free() cleans up cpu_record.
    
    * lib/vty.c,h: Use global command_cr.  Add vty_terminate().
    
    * lib/zclient.c,h: Re-enable zclient_free().

commit 54a15182e05ca757db3bb90a4135e9f8fd3c84f2
Author: Chris Caputo <[email protected]>
Date:   Sat Jul 18 05:42:34 2009 +0000

    [bgpd] Fix compiler warnings related to MD5
    
    This patch fixes:
    
    bgp_network.c: In function 'bgp_md5_set':
    bgp_network.c:107: warning: cast from pointer to integer of different size
    bgp_network.c: In function 'bgp_socket':
    bgp_network.c:447: warning: cast to pointer from integer of different size

commit 62c9f504bdd4b09df6cf677e96367f3b31ef9dea
Author: Paul Jakma <[email protected]>
Date:   Sun Jul 19 17:33:21 2009 +0100

    [build] fix default CFLAGS and squish warning
    
    * configure.ac: Move down the AC_SYS_LARGEFILE test - it was setting CFLAGS
      and so disabling the default CFLAGS setting section.
      Squish warning by adding AC_CONFIG_MACRO_DIR on the reccommendation of
      autoreconf.

commit fd35b948dbb35674cd9ded431f94b59aeced40cc
Author: Paul Jakma <[email protected]>
Date:   Thu Jul 16 19:27:32 2009 +0100

    [bgpd] Bug #533: Fix crash with copy/pasted commands, inc 'no bgp ...'
    
    * bgpd.c: Removal of (struct bgp *) from the master list was being left to
      bgp_free time.  This meant there was a window of time between bgp_delete
      and refcounts hitting 0 (e.g.  routes to be processed) where bgp_lookup's
      could return a deleted (struct bgp *).
    
      (bgp_delete) This is the logical place where a (struct bgp *) should lose
      its visibility, so move the deletion from the bgp-master list to here,
      from bgp_free.
    
      Many thanks to Fritz Reichmann for his thorough debugging of the problem
      and testing of fixes and Chris Caputo for his further analysis.

commit 3fa3f957e70f594cc2c1cac03644ddf48554c178
Author: Stephen Hemminger <[email protected]>
Date:   Sat Jul 11 21:27:51 2009 -0700

    [lib] Fix IPv6 normalisation
    
    * lib/sockunion.c: (sockunion_normalise_mapped) The code to normalize
      address was not copying port value - probably reason why IPV4 in IPV6
      never worked right.

commit 9b4ef258a9d9c5f1052afe0e19ebaef9f6740fa2
Author: Tom Henderson <[email protected]>
Date:   Thu Jul 16 17:20:37 2009 +0100

    [ospf6d] Fix regression in monotonic time patch - LSA max-aging broke
    
    * ospf6_lsa.c: (ospf6_lsa_premature_aging) set age to MAX_AGE - don't
      rely on 0 magically meaning same.
      (ospf6_lsa_age_current) handle MAXAGE.

commit 41b2373cece77f0cc9a06fba076c99a7be653593
Author: Paul Jakma <[email protected]>
Date:   Tue Jun 30 16:12:49 2009 +0100

    [lib/cleanup] Use a typedef for the thread type
    
    * lib/thread.{c,h}: As per subject. This will avoid head-scratching for next
      person who adds a thread-type and gets strange breakage.

commit bd2462425205a681d75e04c94a94bf4cea5da58b
Author: Joakim Tjernlund <[email protected]>
Date:   Mon Jan 5 17:44:46 2009 +0100

    [ospfd] Do not use stale Network/Router LSAs
    
    Should a self originated Network/Router LSA with higher
    LS seq. nr. be received we should flood and install it in
    the LSDB but we cannot use it for our internal calculations
    as it is stale.
    Reorginate an new LSA to replace the stale one as soon
    as possible.

commit 650f76c2e1b0b12e1c46fdd3be22c5f505245d83
Author: Paul Jakma <[email protected]>
Date:   Thu Jun 25 18:06:31 2009 +0100

    [bgpd] Log a debug/update warning if filters are configured but don't exist
    
    * bgp_route.c: (bgp_{input,output}_filter) Log a debug warning if a route is
      received or sent and a filter name is configured for a prefix, as or
      distribute list but none is found - guaranteed configuration mistake.

commit 439c52f19007badffc6707673121f5a76784e728
Author: Joakim Tjernlund <[email protected]>
Date:   Mon Dec 1 16:25:06 2008 +0100

    Add test for Internet checksum.
    
    Add 2 impl. of the Internet Checksum. One new optimized nad
    one form RFC 1071. Turns out that the current Quagga in_cksum()
    is buggy. On Big Endian routers it miscalculates odd sized buffers.

commit 77a1c4e05ca5a7d7bf07456758f7c934ee867884
Author: Joakim Tjernlund <[email protected]>
Date:   Sun Feb 1 11:12:11 2009 +0100

    [ospfd] compare ifIndex too when matching paths
    
    ospf_path_lookup(), ospf_route_match_same() and
    ospf_ase_route_match_same() needs to
    compare if the interface matches too.

commit cbcd9bfc503f08b99f5360b1aae3a5362d25a665
Author: Joakim Tjernlund <[email protected]>
Date:   Mon Feb 16 09:40:39 2009 +0100

    [doc] Add "--disable-doc" to configure
    
    Configure option "--disable-doc" will prevent building
    the documents under doc. Saves build time and the need to
    have document building tools installed. Useful when your build
    machine is different from your development machine.

commit 3d8617b853af511ca5f019b2f51c7902e2689212
Author: Joakim Tjernlund <[email protected]>
Date:   Wed Feb 4 15:05:19 2009 +0100

    [ospfd] external LSA route_unlock_node() fixes
    
    A few route_unlock_node() calls was missing.

commit f65431380428c3cb8eb5c0a0ac93debc30717a3f
Author: Joakim Tjernlund <[email protected]>
Date:   Tue Nov 4 13:37:29 2008 +0000

    [ospfd] Fix a few LSA performance "bugs"
    
    ospf_lsa_install() will calculate LSA checksum so no
    need to do it before calling ospf_lsa_install().
    
    Set the OSPF_LSA_SELF_CHECKED flag on own LSA's to
    save ospf_lsa_is_self_originated() some work.
    
    Do not memset() memory that is about to overwritten
    with memcpy().

commit c3a5606302777cdd33d4025fc30bed723fc84d79
Author: Joakim Tjernlund <[email protected]>
Date:   Wed Jun 24 19:15:36 2009 +0200

    zebra: Static route does not reach kernel.
    
    A static route like below: ip route 172.16.1.0/30 192.168.101.162 11
    does not move properly to a new interface when the
    interface used goes down. Zebra reports that it have
    moved but kernel isn't informed so the route is lost.
    
    * zebra_rib.c: (nexthop_active_update) if ifindex has changed, then the
      route should be considered to have changed.
    
    Signed-off-by: Joakim Tjernlund <[email protected]>

commit 3f4ab7f9e9ffaee7c448744f45d6e5e2176cce89
Author: Tomasz Pala <[email protected]>
Date:   Wed Jun 24 22:23:11 2009 +0100

    [vtysh] Save vtysh history to a file
    
    vtsh_main.c: save 1000 last lines of history to $HOME/.history_quagga (the
    file must be created by hand first, this is intended behaviour)

commit 80abd9fe37d8aa5d929686f3d4a717b72bfacb3c
Author: Tomasz Pala <[email protected]>
Date:   Wed Jun 24 22:09:46 2009 +0100

    [configure] Allow for large-file support, e.g. for log files >2GB

commit 3fc1eca92a7022f1c5b567505a7d86aab0d3cbd4
Author: Tomasz Pala <[email protected]>
Date:   Wed Jun 24 21:48:22 2009 +0100

    [cleanup] Add log.h includes

commit 2a71e9ce89c6f76c099dea67dddbe8da454d9de7
Author: Tomasz Pala <[email protected]>
Date:   Wed Jun 24 21:36:50 2009 +0100

    [bgpd] Add 'show ip bgp view WORD neighbors IP (advertised|received)-routes'
    
    * bgp_route.c: Was missing these commands.

commit c9035ccd13078b6a5d53566979a66c1ac892b47a
Author: Dmitry Tejblum <[email protected]>
Date:   Wed Jun 24 20:14:30 2009 +0400

    [ospfd] discount IP header size from a new LSA pkt

commit 014b670e02cc1f38e8e4e786269fc1787412f9b7
Author: Denis Ovsienko <[email protected]>
Date:   Tue Jun 23 21:10:45 2009 +0400

    [bgpd] review 32-bit AS-path hotfix for 0.99.12
    
    The patch by Chris Caputo, which was used to prepare 0.99.12
    release, consists of three parts:
    
    1. memory allocation fix itself
    2. fix for warnings about constant variables
    3. fix for printf format specs (%d was used instead of %u)
    
    It was confirmed later, that:
    a. a much simpler bugfix was available for memory allocation
    b. committed version of the bugfix wasn't optimal CPU-wise
    
    At this point I consider reasonable to revert the allocation
    portion of that patch and to replace it with the shorter
    version, which is:
    
    -#define ASN_STR_LEN (5 + 1)
    +#define ASN_STR_LEN (10 + 1)
    
    Other two parts of Mr. Caputo's patch remain intact.

commit d13c3b4fcf802f904ef47ad82fdc9763fc704fdf
Author: Mathieu Goessens <[email protected]>
Date:   Tue Jun 23 15:59:45 2009 +0100

    [zebra] linux policy routing support with ipv6
    
    Quagga support linux policy routing (ip route ... table $X) with zebra.conf
    table $X option.  It works fine on ipv4.  On ipv6 the parameter is ignored
    (table 0 is used).
    
    * zebra/...: Pass appropriate table arg to rib_{add,delete}_ipv6

commit 3523bea8cbe98c83e3d1bdeb60180c8e59622773
Author: Jingjing Duan <[email protected]>
Date:   Tue Jun 23 17:28:23 2009 +0400

    [trivia] work around ksh93 builtin name (#451)
    
    ksh93 script cannot have 'stop' functions w/o cancelling
    existing definition first. Fixed.

commit 50aef6f3b0e36b56cfa9f3d374be0c1d25c30c45
Author: Chris Caputo <[email protected]>
Date:   Tue Jun 23 06:06:49 2009 +0000

    Fix "show ip bgp dampened-paths" garbage output.
    
    * bgpd/bgp_damp.c: Make bgp_damp_reuse_time_vty() accept a buffer and
      length, rather than returning a local var buffer whose contents can get
      trounced.  Remove duplicate BGP_UPTIME_LEN define.
    * bgpd/bgp_damp.h: bgp_damp_reuse_time_vty() prototype change.
    * bgpd/bgp_route.c: Provide bgp_damp_reuse_time_vty() with a buffer and
      length.  Remove duplicate BGP_UPTIME_LEN define.
    
    This problem was noticed in 2005...
    
      http://hibernia.jakma.org/~paul/patches/quagga-test.diff
    
    ...but the fix didn't make it into the code.
    
    Signed-off-by: Chris Caputo <[email protected]>

commit 6e79f8bba438823d84b7464a9acc1e6fc9126a27
Author: Chris Caputo <[email protected]>
Date:   Tue Jun 23 05:55:57 2009 +0000

    Fix vtysh based "write term" output.
    
    * vtysh/vtysh.c: "end" should be printed at the bottom, not the top.
    * vtysh/vtysh_config.c: PROTOCOL_NODE was not being handled, and thus was
      being displayed at the top of a config, rather than in its rightful
      place near the bottom.
    
    Signed-off-by: Chris Caputo <[email protected]>

commit 2b35ae41c2c5d39801c943fa740c72fc15613141
Author: Chris Caputo <[email protected]>
Date:   Tue Jun 23 05:34:29 2009 +0000

    Fixes to RFC2385/MD5 BGP
    
    * bgpd/bgp_network.c: Fix MD5 listen in IPv4 version of bgp_socket() by
      adding listen socket to listen_sockets list so that MD5 passwords can
      get set.
    * lib/sockopt.c: (sockopt_tcp_signature) Fix bogus "% Error while applying
      TCP-Sig to session(s)" / "can't set TCP_MD5SIG option" startup error
      messages by not returning error when there isn't one.

commit 774eb1524c3a1e0a9567e6aff3315b4686ab3e75
Author: Dmitry Tejblum <[email protected]>
Date:   Tue Jun 23 17:16:32 2009 +0400

    [ospfd] cancel OSPF timer hack in nsm_change_state
    
    This piece of code causes all Quagga routers on a broadcast link to
    send a HELLO packet simultaneously if they see a new neighbor. It also
    resets the HELLO timer, so all the quagga routers will continue to
    send HELLO packets simultaneously in the future. This is not good
    (especially on networks with a lot of Quagga routers connected), and
    is explicitly discouraged by the OSPF standard, RFC 2328 (chapter
    4.4.Timers).
    
    I suggest to remove the code snippet, it does not provide much benefit
    anyway.

commit b60668d092f1778395b6c10b406059b8cbf235b8
Author: Chris Caputo <[email protected]>
Date:   Sun May 3 04:40:57 2009 +0000

    RFC 4191 Default Router Preference support for router advertisements
    
    Adds "ipv6 nd router-preference (high|medium|low)" and
    "no ipv6 nd router-preference" interface commands.
    
    Files modified:
    
       doc/ipv6.texi
       zebra/interface.c
       zebra/interface.h
       zebra/rtadv.c
       zebra/rtadv.h
    
    Signed-off-by: Chris Caputo <[email protected]>

commit 5bc52c76c2816a3be9a033c3e5bf4fea1908e3cd
Author: Paul Jakma <[email protected]>
Date:   Mon Jun 22 16:11:06 2009 +0100

    [doc] remove -dither arg to imagemagick, in building PDFs
    
    * doc/Makefile.am: arguments for the 'convert' programme seem to have
      changed incompatibly at some stage - just remove the problematic -dither.

commit 86f72dcba35f055b5344deeb5f057c2f1d9a291f
Author: Takashi Sogabe <[email protected]>
Date:   Mon Jun 22 13:07:02 2009 +0900

    Convert ospf6d over to quagga_gettime() wrappers.

commit f7e0db80693aea7f5fd3d8d4f00e97347c8d0ba5
Author: Paul Jakma <[email protected]>
Date:   Mon Jun 22 11:30:47 2009 +0100

    [bgpd] Fix 'update-source' command: It doesn't accept interface names
    
    * bgp_vty.c: BGP_UPDATE_SOURCE_STR define should only specify IP addresses,
      the underlying mechanisms won't do anything useful with interface names.
      Fix bug #527.

commit c514adc61d56c3fb6fe5119a7b4b55c79a9c065d
Author: Jeremy Jackson <[email protected]>
Date:   Fri Jan 23 15:48:10 2009 -0500

    [ospfd/BSD] add missing UINT16_MAX - picked up from FreeBSD ports patch
    
    Should probably have AC_TYPE_UINT16_T in configure.ac to make it really
    clean...  and a fresh import of gnulib, the existing copy of gnulib seems to
    be manually put some stuff in zebra.h.  I'm leaving that alone for now,
    since a fresh import will probably clean up a lot of cruft and it would be a
    duplicated effort to fix some things now.
    
    The FreeBSD port 0.99.11_1 files/patch-ospfd-ospfd.h can probably go away
    after this is applied.

commit 7ec573661ff046f6fa97d694de7a68dede2532fd
Author: Jeremy Jackson <[email protected]>
Date:   Wed Jan 21 22:10:40 2009 -0500

    [configure] fix check for GNU awk/gawk to abort ./configure if missing
    
    It also prints what were comments explaining why gawk is necessary, and
    not-in-PATH to help user figure out why it's not found.
    
    Build was mysteriously failing with the old version of this check when gawk
    wasn't installed.

commit ec5e42b3c50e3a8e95963161319fa1a56466b2ae
Author: Jeremy Jackson <[email protected]>
Date:   Wed Jan 21 20:51:57 2009 -0500

    [cleanup] convert bzero() deprecated by POSIX to memset()
    
    autoscan 2.62 complains about bzero(), so a good fix
    nowadays is to just replace it.

commit e84999d93afd0f727f7325431c055cc26c988c68
Author: Jeremy Jackson <[email protected]>
Date:   Wed Jan 21 20:29:39 2009 -0500

    [configure] remove unused/broken autoconf cache variable ac_statedir
    
    It wasn't used, and the code wasn't printing progress or the result in some
    cases.  the test uses minimal resources, so it's probably better to not
    cache so as to avoid inconsistencies if --with-prefix or directory variables
    are changed between ./configure runs.

commit 5589ffa7dd6846a83e1d312f3dc3f2aa47e40f92
Author: Jeremy Jackson <[email protected]>
Date:   Wed Jan 21 18:27:37 2009 -0500

    [configure/cleanup] fix broken autoconf cache variables
    
    Fix zebra_rtread and zebra_ipforward_path.
    
    It looks like someone tried to make this cached, but it was being ignored at
    least on autoconf 2.6.1.  2.6.2 now gives a warning about the situation,
    hence this fix.
    
    Although they are just warnings, it's dangerous to leave them as-is, because
    someone not diligent in reading the autoconf manual might just stick _cv_ in
    the name, with the effect that running a ./configure --config-cache would
    fail horribly, since variables are being set inside the AC_CACHE_CHECK()
    block that would not be seen when the variable's value was read from cache.
    
    Also added m4 quotes [] to macro arguments as autoconf manual
    suggests.

commit 7f177ee8df0437ba0d002c1226201150639dcd09
Author: Jeremy Jackson <[email protected]>
Date:   Wed Jan 21 16:35:51 2009 -0500

    [configure] remote support for AIX, it conflicts on newer autoconf
    
    AC_AIX and AC_GNU_SOURCE conflict > autoconf 2.53 or so,
    but the replacement AC_USE_SYSTEM_EXTENSIONS isn't available
    until later versions.  So either we narrow the supported
    autconf version range, or disable AIX (if it has any effect),
    or determin that AC_AIX doesn't do anything useful anyhow.

commit 4bf6461e0f6cc6dcb8ca54314bc6c1865a366e70
Author: Jeremy Jackson <[email protected]>
Date:   Wed Jan 21 14:15:44 2009 -0500

    [build] cleanup low-hanging autoreconf warnings
    
    Some uses of GNU make extensions were not necessary.  There are still some,
    but they might exist as workarounds for older versions of autoconf that have
    since been solved.
    
    Lesson learned: implicit target rules have opposite order to pattern target
    rules.

commit 25f45887abf320401745dd433c4e82bfd6db5d4d
Author: Jeremy Jackson <[email protected]>
Date:   Mon Jan 12 16:06:12 2009 -0500

    [configure] add configure support for PCRE Posix library
    
    Debian tried unsuccessfully to build with libpcreposix.  This adds proper
    support to autoconf/configure.ac for it.
    
    Based on the patch by C.J.  Adams-Collier in bug #483.
    
    bgpd/bgp_{regex,routemap}.h: Pull in PCRE POSIX header if available.

commit c77cffdd69bf08ed54e390a3485cbd5024836a9a
Author: Jeremy Jackson <[email protected]>
Date:   Sun Dec 28 12:57:42 2008 -0500

    [daemons/cleanup] Remove disabled log_mode argument support.
    
    * */*main.c: Seems that the actual code was removed previously, but the
      argument processing code remained.

commit c546afaed229106c2fcb54b57906414b9503dcc9
Author: Jeremy Jackson <[email protected]>
Date:   Sun Dec 28 12:40:06 2008 -0500

    [doc] Removes documentation of nonexistant option.
    
    Expansion of Ubuntu quagga-0.99.11-1 30_doc__ospfd.8__nolog.dpatch

commit 6511cab26728453d1b5e572bbbc3775f70c10c0e
Author: Paul Jakma <[email protected]>
Date:   Thu Jun 18 17:38:01 2009 +0100

    [configure] Refine CLOCK_MONOTONIC test
    
    * configure.ac: Check for the actual CLOCK_MONOTONIC symbol, as 
clock_gettime
      need not imply that clock type is supported
    * lib/zebra.h: use the method given in autoconf docs for sys/time.h
      inclusion

commit c4376c9d28f1282f502ed5279ee80ec5c4cb810d
Author: Stephen Hemminger <[email protected]>
Date:   Thu May 28 15:29:10 2009 -0700

    [configure] Detect support for monotonic clock
    
    Quagga has code to support monotonic clock to avoid issues where
    time of day changes. The support was incomplete since it was not being
    detected by autoconf.

commit 8f5abac1c3f5ad18561cad560bd42b50d2419d94
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 10:16:34 2009 -0700

    [BGP/cleanup] make message list in bgp_open const

commit 730394d9a33dceb0699c5268afd1049aa225c5c7
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 10:17:09 2009 -0700

    [BGP/cleanup] make community hash table static

commit e9dc9f247a668ece1b983cc964fec852c737bedd
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 10:19:31 2009 -0700

    [BGP/cleanup] make some damp function static

commit ffa4e2c4712ddcb5085971aaf001f030723ee307
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 10:28:11 2009 -0700

    [BGP/cleanup] make ecommunity variables/functions local

commit 372b3c70a090359fe401dbb5e7c34ff8ae09f757
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 10:29:41 2009 -0700

    [BGP/cleanup] main program cleanup
    
    Check result of daemon() call to fix warning
    Make local variables static

commit ce0db9cb11c0bc2e7f89a7d042e50afa495556b4
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 10:47:04 2009 -0700

    [zebra/cleanup] make message table read only

commit 7ba82f70ddf9abf99277b25cd54503a8517a0c15
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 10:47:45 2009 -0700

    [OSPF/cleanup] make message lists read only

commit b2d933f8280a4d9eee8a9330282e705514a96a03
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 10:48:03 2009 -0700

    [bgpd/cleanup] make message lists read only

commit 01b7ce2db345429d7abc0446840f1d5c303c80af
Author: Paul Jakma <[email protected]>
Date:   Thu Jun 18 12:34:43 2009 +0100

    [bgpd] add comment that bgp_capability_receive is exported for unit-tests

commit 8e4c09307d9eafbbbf7fbffb3d3483287cea169b
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 09:47:34 2009 -0700

    [cleanup] Allow message tables to be constant
    
    Avoid bugs, and improve cache locality by allowing message lists
    to be read/only.

commit fc52f95373b1dc0bec5f5a474bafa362b02a63ae
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 09:48:55 2009 -0700

    [cleanup] Fix compile warnings
    
    Fix printf format warning and make capability table 'const static'

commit 65d3fbb4835e268b1683b88b12e101c6592b1948
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 09:59:03 2009 -0700

    [cleanup] Use const in smux interface
    
    smux_trap and oid_copy should allow read-only source.

commit 9bddac4bd50034c713940ad77cebfbb7f3cd123a
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 09:59:51 2009 -0700

    [bgpd/cleanup] BGP make attribute variables local
    
    Message lists can be read-only, and hash tables are local to this
    code.

commit fda1d3e033f98c7e34ccdaead27e8df39af12a85
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 15 10:02:27 2009 -0700

    [bgpd/cleanup] Make BGP FSM table read-only static
    
    The finite state machine table is immutable.

commit 0088b5dc55a91d27e572484e61df71b8ca2eddf4
Author: Stephen Hemminger <[email protected]>
Date:   Thu May 21 08:51:03 2009 -0700

    [bgpd] reference count the BGP instance
    
    When a BGP instance is deleted with lots of routes and neighbors
    it is possible for the peer rsclient queue to run after
    bgp_delete has been called. This would lead to bgpd crashing,
    see https://bugzilla.vyatta.com/show_bug.cgi?id=3436
    
    The fix is to add reference counting to the BGP instance and defer
    actual freeing until all references are gone.
    
    This patch also fixes a memory leak where the self-reference
    peer instance was being created but never freed.
    
    The check in bgp_clear_route is no longer valid because it is possible
    for it to be called when peer is in Deleted state during cleanup.

commit dde7258666fd73878b4cc10b4b5b7c07e9be049e
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 8 15:19:07 2009 -0700

    [bgpd] Make declarations match
    
    These variables are const.

commit 9607d98cb04e5dff34cb2f6fb6434455c6841ab8
Author: Stephen Hemminger <[email protected]>
Date:   Wed Apr 29 21:55:48 2009 -0700

    [zebra] Remove unused structure element

commit 90d2ab0f9426d670552b929364f8fb7de122efe5
Author: Stephen Hemminger <[email protected]>
Date:   Wed Apr 29 21:54:59 2009 -0700

    [zebra] Force rib_update when connected route deleted

commit 81cce0185e23b6ecd2ab98ab34182901226bcf9e
Author: Stephen Hemminger <[email protected]>
Date:   Tue Apr 28 14:28:00 2009 -0700

    [cleanup] Use correct buffer size for inet_ntop()
    
    Don't need big buffer 1024 to hold IPV4 (INET_ADDRSTRLEN)
    or IPv6 (INET6_ADDRSTRLEN) message.

commit 82f5ee1ead0aa83f83f918abfc3f5071741a56e5
Author: Stephen Hemminger <[email protected]>
Date:   Tue Apr 7 15:00:46 2009 -0700

    [ripd] Ignore non-running interfaces in rip status
    
    Vyatta Bug 3999

commit 94fc1dd41cd0267acb9c67dd3dcf1e64ef8713af
Author: Stephen Hemminger <[email protected]>
Date:   Mon Mar 9 16:09:50 2009 -0700

    [lib] Put symbolic backtrace on system log
    
    When BGP crashes, sometimes all we get to see is syslog.

commit e5862a2df2b5f65b0c050987c5f145836e0b75b3
Author: Stephen Hemminger <[email protected]>
Date:   Thu Feb 19 23:01:41 2009 -0800

    [lib] sockopt_tcp_signature: sin6 requires HAVE_IPV6
    
    An external user was building on system without IPv6 and
    it wouldn't work.

commit 66a11e76d4a8ee18c4e79c06d25814b9aa94e45d
Author: Stephen Hemminger <shemmin...@debian.(none)>
Date:   Wed Feb 11 23:55:32 2009 -0800

    [ospf6d] Remove 'no router' from OSPF6_NODE
    
    Don't need command twice.

commit 56abbb886f6ad8dce9dd7d336d010861ca9dd2b9
Author: Jon <[email protected]>
Date:   Wed Feb 11 17:30:44 2009 -0800

    [ospf6d] Fix ospf6d crash if removing interface with no area
    
    ospf6d will crash if attempting to remove interface when no areas have been
    defined Check if any areas have been defined.  Should prevent use of empty
    pointer.

commit 597fa7c185e34aac7bc1df22263e9414bccd9a9f
Author: Jon <[email protected]>
Date:   Wed Feb 11 17:27:06 2009 -0800

    [ospf6d] Fix ospf6d crash in show border routers
    
    ospf6d will crash if this command is executed on a non-border-router.
    Included test to verify that any routes are defined, preventing empty
    pointer from being used.

commit 6c19d26a019da198ea7e181731b8eb9553725f2d
Author: Jon <[email protected]>
Date:   Wed Feb 11 17:19:07 2009 -0800

    [ospf6] Add no router ospf6
    
    Suggestion: Makes no sense to me that the statement to remove ospf6
    configuration is located in OSPF6D_NODE.
    Moved to CONFIG_NODE next to matching define command.

commit 86f9e5a7f3a80d6df13a9750d2148693daa14c8d
Author: Jon <[email protected]>
Date:   Wed Feb 11 17:22:03 2009 -0800

    [ospf6d] Fix ospf6d crash if range defined twice
    
    ospf6d will crash if the same range is defined twice.
    There was no check if the same range had previously been defined,
    thereby causing a later assert to fail.

commit 965f54f5ef0bd601cf129bd4b964863251313ec9
Author: Stephen Hemminger <[email protected]>
Date:   Wed Jun 3 16:44:21 2009 -0700

    [ospfd] Fix OSPF route refcount leak
    
    This may fix vyatta BUG 3096. The reference count for OSPF route table was
    never completely freed on deleting all neighbors.

commit fd21325b2eb252644bc70918ace4f9c6c00c45ef
Author: Stephen Hemminger <[email protected]>
Date:   Sat Jul 5 16:32:37 2008 -0700

    [zebra] Only announce connected routes if link is detected
    
    Need to check both IFF_UP and IFF_RUNNING if link-detect is enabled,
    before announcing routes.

commit 4308abba5cab18c1d30b962567b06b02a1a15361
Author: Stephen Hemminger <[email protected]>
Date:   Mon Dec 1 14:19:38 2008 -0800

    [zebra] MTU is unsigned
    
    The MTU data in the netlink message is always unsigned 32 bits.
    Don't use integer.

commit 6c684653f08fadf738ca52a3fbe512e3d1698ceb
Author: Stephen Hemminger <[email protected]>
Date:   Thu Sep 18 16:51:06 2008 -0700

    [zebra] remove incorrect debug message

commit 5110a0c6222be91d3b2a786692949dd94fb0c9ac
Author: Stephen Hemminger <[email protected]>
Date:   Mon Aug 11 16:22:15 2008 -0700

    [zebra] Cleanup meta-queue code
    
    Do some cleanup work on recently added meta-queue code:
      * use table rather than switch
      * indent with quagga standard indentation
      * since meta_queue_new is only used at initialization
        allocation failure should be fatal.

commit c84154977d822ceee9df66be535c56cb5f0fce10
Author: Stephen Hemminger <[email protected]>
Date:   Wed May 28 10:47:30 2008 -0700

    [zebra] netlink interface minor cleanup
    
    Add more prototypes and make some functions static

commit 61691c91c15445445b0ac246ee12e559a4cacdb5
Author: Stig Thormodsrud <[email protected]>
Date:   Tue Nov 4 15:45:07 2008 -0800

    [zebra] Fix vyatta bug 2814: Add "show ip route summary" command.

commit 914131f80da7b9696d26b42ed92b2d93d4d8b3ab
Author: Stephen Hemminger <[email protected]>
Date:   Wed Jul 30 14:16:47 2008 -0700

    [vtysh] Add a --noerror option
    
    There are times that configuration scripts want to run vtysh but
    don't want to get error messages or failed exit status

commit 2c4d48bc018c5bdca6faa953fbf6ff828becbc45
Author: Stephen Hemminger <[email protected]>
Date:   Mon Jul 28 15:04:56 2008 -0700

    [vtysh] Return non-zero exit code on error.
    
    If passed a bad command, return non-zero exit code

commit 57fb974856b9ae143ca5642e279d181a45bbdd10
Author: Stephen Hemminger <[email protected]>
Date:   Mon Jul 28 12:19:04 2008 -0700

    [vtysh] Make vtysh more useable for scripting
    
    Add environment variable (VTYSH_LOG) for logging.
    If a command fails, exit with non-zero exit code and don't
    continue multipart commands.

commit 0fbd62a17c53f1e2695c0f96ffb437cd079abacb
Author: Stephen Hemminger <[email protected]>
Date:   Fri May 2 09:25:02 2008 -0700

    [vtysh] Force line buffered mode.
    
    Vtysh is used in pipelines and it helps if the output starts right
    away instead of waiting for a whole buffer to fill.

commit 80c375e72d7c3b9fe41b1ffec461ec5e1b57caa7
Author: Stephen Hemminger <[email protected]>
Date:   Fri Aug 8 15:15:23 2008 -0700

    [gcc] Add gcc printf format checks

commit 7fc626de5f618133ad2a478d13defa3a110b89ea
Author: Stephen Hemminger <[email protected]>
Date:   Mon Dec 1 11:10:34 2008 -0800

    [cleanup] Make command nodes static
    
    The cmd_nodes used to configure vty, can mostly be static so
    (basic data hiding 101).

commit 66e5cd87194ae6fdd51061a91b4698bc0a652f6b
Author: Stephen Hemminger <[email protected]>
Date:   Mon Feb 9 10:14:16 2009 -0800

    [cleanup] functions taking no args should be declared with void args
    
    Use Ansi-C prototypes rather than old K&R method of declaring
    function without arguments

commit cedd7f2fa6823bca9ddcfb062f97ed83b11a80dd
Author: Stephen Hemminger <[email protected]>
Date:   Fri Jun 12 16:58:49 2009 +0100

    [cleanup] add const attribute to lib/if.c::if_dump

commit 393deb9bd663361e6b110d579a8b1d4c22667068
Author: Stephen Hemminger <[email protected]>
Date:   Mon Aug 18 14:13:29 2008 -0700

    [cleanup] Convert XMALLOC/memset to XCALLOC
    
    Simple conversion of XMALLOC/memset to XCALLOC

commit 3453a7122c1d585ad789ed0f63deb90cc5e89fae
Author: Paul Jakma <[email protected]>
Date:   Fri Jun 12 14:21:02 2009 +0100

    [bgpd] Add support for the old Linux 2.4, TCP_MD5_AUTH RFC2385 patch
    
    * configure.ac: Add a --enable-linux24-tcp-md5 argument, to compile in
      support for the old TCP-MD5 patch for Linux 2.4 systems.  This overrides
      auto-detection of TCP-MD5 supported by the target system.
    * lib/sockopt.c: (sockopt_tcp_signature) add in a variant for the old
      Linux 2.4, TCP_MD5_AUTH variant of TCP-MD5 support, conditional
      on the previous configure arg.

http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=5b40b1b57e1fad1caf579e032adf4e111128e486
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=998274cd7c559bd04d7b7f6e615ad120af915d86
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=638b70ba9893705bb3268aa00c25b8cb0e060b32
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=a294365797da8b72e51507cbf92dbc6940e5103b
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=e8eb000e15e2bbe63467d7c056f2b21b72ba7bd6
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=e7cc3b383e5e9190aa7784554c605a3a661ebe2b
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=67b9467f6cad5097a3e4c6e49348be4d6c17a5bb
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=228da42898c4f7bd72d9c1ee4135108e8d40d860
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=54a15182e05ca757db3bb90a4135e9f8fd3c84f2
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=62c9f504bdd4b09df6cf677e96367f3b31ef9dea
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=fd35b948dbb35674cd9ded431f94b59aeced40cc
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=3fa3f957e70f594cc2c1cac03644ddf48554c178
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=9b4ef258a9d9c5f1052afe0e19ebaef9f6740fa2
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=41b2373cece77f0cc9a06fba076c99a7be653593
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=bd2462425205a681d75e04c94a94bf4cea5da58b
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=650f76c2e1b0b12e1c46fdd3be22c5f505245d83
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=439c52f19007badffc6707673121f5a76784e728
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=77a1c4e05ca5a7d7bf07456758f7c934ee867884
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=cbcd9bfc503f08b99f5360b1aae3a5362d25a665
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=3d8617b853af511ca5f019b2f51c7902e2689212
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=f65431380428c3cb8eb5c0a0ac93debc30717a3f
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=c3a5606302777cdd33d4025fc30bed723fc84d79
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=3f4ab7f9e9ffaee7c448744f45d6e5e2176cce89
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=80abd9fe37d8aa5d929686f3d4a717b72bfacb3c
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=3fc1eca92a7022f1c5b567505a7d86aab0d3cbd4
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=2a71e9ce89c6f76c099dea67dddbe8da454d9de7
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=c9035ccd13078b6a5d53566979a66c1ac892b47a
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=014b670e02cc1f38e8e4e786269fc1787412f9b7
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=d13c3b4fcf802f904ef47ad82fdc9763fc704fdf
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=3523bea8cbe98c83e3d1bdeb60180c8e59622773
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=50aef6f3b0e36b56cfa9f3d374be0c1d25c30c45
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=6e79f8bba438823d84b7464a9acc1e6fc9126a27
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=2b35ae41c2c5d39801c943fa740c72fc15613141
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=774eb1524c3a1e0a9567e6aff3315b4686ab3e75
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=b60668d092f1778395b6c10b406059b8cbf235b8
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=5bc52c76c2816a3be9a033c3e5bf4fea1908e3cd
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=86f72dcba35f055b5344deeb5f057c2f1d9a291f
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=f7e0db80693aea7f5fd3d8d4f00e97347c8d0ba5
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=c514adc61d56c3fb6fe5119a7b4b55c79a9c065d
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=7ec573661ff046f6fa97d694de7a68dede2532fd
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=ec5e42b3c50e3a8e95963161319fa1a56466b2ae
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=e84999d93afd0f727f7325431c055cc26c988c68
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=5589ffa7dd6846a83e1d312f3dc3f2aa47e40f92
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=7f177ee8df0437ba0d002c1226201150639dcd09
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=4bf6461e0f6cc6dcb8ca54314bc6c1865a366e70
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=25f45887abf320401745dd433c4e82bfd6db5d4d
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=c77cffdd69bf08ed54e390a3485cbd5024836a9a
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=c546afaed229106c2fcb54b57906414b9503dcc9
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=6511cab26728453d1b5e572bbbc3775f70c10c0e
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=c4376c9d28f1282f502ed5279ee80ec5c4cb810d
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=8f5abac1c3f5ad18561cad560bd42b50d2419d94
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=730394d9a33dceb0699c5268afd1049aa225c5c7
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=e9dc9f247a668ece1b983cc964fec852c737bedd
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=ffa4e2c4712ddcb5085971aaf001f030723ee307
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=372b3c70a090359fe401dbb5e7c34ff8ae09f757
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=ce0db9cb11c0bc2e7f89a7d042e50afa495556b4
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=7ba82f70ddf9abf99277b25cd54503a8517a0c15
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=b2d933f8280a4d9eee8a9330282e705514a96a03
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=01b7ce2db345429d7abc0446840f1d5c303c80af
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=8e4c09307d9eafbbbf7fbffb3d3483287cea169b
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=fc52f95373b1dc0bec5f5a474bafa362b02a63ae
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=65d3fbb4835e268b1683b88b12e101c6592b1948
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=9bddac4bd50034c713940ad77cebfbb7f3cd123a
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=fda1d3e033f98c7e34ccdaead27e8df39af12a85
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=0088b5dc55a91d27e572484e61df71b8ca2eddf4
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=dde7258666fd73878b4cc10b4b5b7c07e9be049e
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=9607d98cb04e5dff34cb2f6fb6434455c6841ab8
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=90d2ab0f9426d670552b929364f8fb7de122efe5
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=81cce0185e23b6ecd2ab98ab34182901226bcf9e
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=82f5ee1ead0aa83f83f918abfc3f5071741a56e5
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=94fc1dd41cd0267acb9c67dd3dcf1e64ef8713af
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=e5862a2df2b5f65b0c050987c5f145836e0b75b3
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=66a11e76d4a8ee18c4e79c06d25814b9aa94e45d
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=56abbb886f6ad8dce9dd7d336d010861ca9dd2b9
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=597fa7c185e34aac7bc1df22263e9414bccd9a9f
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=6c19d26a019da198ea7e181731b8eb9553725f2d
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=86f9e5a7f3a80d6df13a9750d2148693daa14c8d
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=965f54f5ef0bd601cf129bd4b964863251313ec9
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=fd21325b2eb252644bc70918ace4f9c6c00c45ef
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=4308abba5cab18c1d30b962567b06b02a1a15361
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=6c684653f08fadf738ca52a3fbe512e3d1698ceb
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=5110a0c6222be91d3b2a786692949dd94fb0c9ac
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=c84154977d822ceee9df66be535c56cb5f0fce10
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=61691c91c15445445b0ac246ee12e559a4cacdb5
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=914131f80da7b9696d26b42ed92b2d93d4d8b3ab
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=2c4d48bc018c5bdca6faa953fbf6ff828becbc45
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=57fb974856b9ae143ca5642e279d181a45bbdd10
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=0fbd62a17c53f1e2695c0f96ffb437cd079abacb
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=80c375e72d7c3b9fe41b1ffec461ec5e1b57caa7
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=7fc626de5f618133ad2a478d13defa3a110b89ea
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=66e5cd87194ae6fdd51061a91b4698bc0a652f6b
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=cedd7f2fa6823bca9ddcfb062f97ed83b11a80dd
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=393deb9bd663361e6b110d579a8b1d4c22667068
http://suva.vyatta.com/git/?p=vyatta-quagga.git;a=commitdiff;h=3453a7122c1d585ad789ed0f63deb90cc5e89fae
_______________________________________________
svn mailing list
[email protected]
http://mailman.vyatta.com/mailman/listinfo/svn

Reply via email to