| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Logging:
* added "debug bgp io" -- to log all BGP Engine I/O, with the
option to log input or output only.
This is similar to "debug bgp update", but that affects the
Routing Engine, while this affects the BGP Engine.
* reviewed and updated "debug bgp fsm".
The fsm logging now covers all aspects of the fsm, which is
all in the BGP Engine.
Any nominally fsm logging in the Routing Engine is now "event"
logging.
Added collision resolution to fsm logging.
Dovetailed fsm and keepalive logging.
* removed logging of route advertisment timer and withdraw
events.
pthread and nexus handling:
* qpt_thread object created to encapsulate a pthread, with means
to keep track of existing pthreads and their cpu usage.
This is now used instead of the list of qpnexus for the
watch-dog.
* added explicit qpt_finish() and call from qexit().
Collects up and destroys all qpt_thread -- including any
"detached" qpt_thread.
* changed qpt_thread_signal() to qpt_thread_raise()
Now takes qpt_thread object (not pthread_t) and also is now
agnostic about qpthreads_enabled.
Work in progress -- pthread handling and debug improvements
Logging:
* added "debug bgp io" -- to log all BGP Engine I/O, with the
option to log input or output only.
This is similar to "debug bgp update", but that affects the
Routing Engine, while this affects the BGP Engine.
* reviewed and updated "debug bgp fsm".
The fsm logging now covers all aspects of the fsm, which is
all in the BGP Engine.
Any nominally fsm logging in the Routing Engine is now "event"
logging.
Added collision resolution to fsm logging.
Dovetailed fsm and keepalive logging.
* removed logging of route advertisment timer and withdraw
events.
pthread and nexus handling:
* qpt_thread object created to encapsulate a pthread, with means
to keep track of existing pthreads and their cpu usage.
This is now used instead of the list of qpnexus for the
watch-dog.
* added explicit qpt_finish() and call from qexit().
Collects up and destroys all qpt_thread -- including any
"detached" qpt_thread.
* changed qpt_thread_signal() to qpt_thread_raise()
Now takes qpt_thread object (not pthread_t) and also is now
agnostic about qpthreads_enabled.
* tidied up pthread attribute and status handling, to cope with
a wider variety of pthread implementations, and to lay ground-
work for more pthreads and more subtle scheduling.
Logging at pthread start up provides more information about
what the local implementation supports.
Flags up some issues with FreeBSD -- in particular broken
pthread CPU clock :-(
* changed handling of "thread specific" variables, so that is
now also qpthreads_enabled agnostic.
* added tests in configure.ac to identify when:
pthread_attr_getstack() pthread_attr_setstack()
pthread_attr_get_np() pthread_getattr_np()
are available. (For FreeBSD, at least, also need to know
whether to include <pthread_np.h>.)
Others:
* added "NO_RETURN" macro for __attribute__((noreturn))
or local equivalent.
* added qfb_nam_t -- a shorter general purpose fixed
length sting object.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NB: this is a partial interim version -- NOT for production.
Reinstate vtysh. In bgpd: cope better with generating oversize messages.
The "pipework" branch is no more. There is now "euro_ix" and "euro_ix_b",
where 'b' stands for 'bleedin'. The "pipework" is currently in 'bleedin'.
Version updated to: 0.99.18ex20b
Major changes in this commit:
* modified bgpd to avoid crashing if an oversize message is created.
At present, any oversize messages are simply discarded. This may be a
mistake... since it is possible that some routes that should have been
withdrawn are not. TBA.
The stream lib facilities have been overhauled to may this easier.
* restoring vtysh.
At present the vtysh is thought to work, except that it does not
currently create integrated configuration files.
For the time being, *only* the following compile:
lib, bgpd, zebra, vtysh, tests
All other daemons will fail to compile, and must be disabled.
|
|
|
|
| |
Some small changes to accomodate same.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improve error handling for all new pipework inputs and outputs.
Change behaviour of ^C from VTY Terminal, so that will interrupt
output and terminate all running pipes -- including running
shell commands.
In pipe commands, recognise "~/..." and "~user/..." home directory
forms.
Changed "~/" to mean the usual home for the current user. "~~/"
now means the configuration file directory.
Introduced "shdir DIR" command to show what is (currently) what.
Changed "<|" so that if the command has a path, it is expanded
using Quagga's rules (including "~~/" and "~./") and the
"here" directory is set to that path.
Fixed collection of stderr output from all pipes so that is
separate from stdout output, and is always sent to the base
output (eg VTY Terminal).
Increase amount of information about the heap that "show mem"
shows -- particularly if the "memory_tracker" is enabled.
Tested and applied resulting fixes.
|
|
|
|
|
|
| |
Version 0.99.15ex11p
A major overhaul.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
modified: bgpd/bgp_connection.c
modified: bgpd/bgp_debug.c
modified: bgpd/bgp_engine.h
modified: bgpd/bgp_main.c
modified: bgpd/bgp_packet.c
modified: bgpd/bgp_peer.c
modified: bgpd/bgp_route.c
modified: bgpd/bgp_routemap.c
modified: bgpd/bgp_session.c
modified: bgpd/bgp_vty.c
modified: bgpd/bgpd.c
modified: bgpd/bgpd.h
modified: configure.ac
modified: isisd/dict.h
modified: isisd/isis_misc.c
modified: isisd/isis_routemap.c
modified: isisd/isis_spf.c
modified: lib/Makefile.am
modified: lib/command.c
modified: lib/command.h
modified: lib/command_execute.h
modified: lib/command_parse.c
modified: lib/command_parse.h
modified: lib/command_queue.c
modified: lib/command_queue.h
modified: lib/elstring.h
modified: lib/heap.c
modified: lib/if.c
modified: lib/if.h
modified: lib/keychain.c
modified: lib/keystroke.c
modified: lib/keystroke.h
modified: lib/list_util.c
modified: lib/list_util.h
modified: lib/log.c
modified: lib/log.h
modified: lib/memory.c
modified: lib/memory.h
modified: lib/memtypes.c
modified: lib/misc.h
modified: lib/mqueue.c
modified: lib/mqueue.h
deleted: lib/node_type.h
modified: lib/pthread_safe.c
modified: lib/qfstring.c
modified: lib/qiovec.c
modified: lib/qiovec.h
modified: lib/qpath.c
modified: lib/qpnexus.c
modified: lib/qpnexus.h
modified: lib/qpselect.c
modified: lib/qpthreads.h
modified: lib/qstring.c
modified: lib/qstring.h
modified: lib/qtime.c
modified: lib/qtime.h
modified: lib/qtimers.c
modified: lib/qtimers.h
modified: lib/routemap.c
modified: lib/symtab.h
modified: lib/thread.h
deleted: lib/uty.h
modified: lib/vector.c
modified: lib/vector.h
modified: lib/version.h.in
modified: lib/vio_fifo.c
modified: lib/vio_fifo.h
modified: lib/vio_lines.c
modified: lib/vio_lines.h
modified: lib/vty.c
modified: lib/vty.h
modified: lib/vty_cli.c
modified: lib/vty_cli.h
modified: lib/vty_io.c
modified: lib/vty_io.h
modified: lib/vty_io_basic.c
modified: lib/vty_io_basic.h
modified: lib/vty_io_file.c
modified: lib/vty_io_file.h
modified: lib/vty_io_shell.c
modified: lib/vty_io_term.c
modified: lib/vty_io_term.h
modified: lib/vty_local.h
modified: lib/vty_pipe.c
modified: lib/workqueue.h
modified: lib/zebra.h
modified: ospf6d/ospf6_lsa.c
modified: ripngd/ripngd.c
modified: tests/test-list_util.c
modified: tests/test-vector.c
modified: vtysh/vtysh.c
modified: vtysh/vtysh_config.c
|
|
This is a major revision of the command processing, in order to support
new lexical level for command lines, plus all the necessary I/O
redirection for the pipes.
This is version 0.99.15ex10p.
This supports:
< filename
<+ filename
.... > filename
.... >> filename
.... >*
Also contains all lexical level handling of '...', "...." and \x in order
to allow use of '>' et al if required.
Updated command line completion and help is a work in progress.
|