Ondrej Zajicek [Tue, 13 Aug 2013 18:42:43 +0000 (20:42 +0200)]
Fixes a bug related to mixed up neighbor events in BGP.
Neighbor events related to received route next hops got mixed up with
sticky neighbor node for an IP of the BGP peer. If a neighbor for a next
hop disappears, BGP session is shut down.
Ondrej Zajicek [Wed, 24 Jul 2013 12:11:12 +0000 (14:11 +0200)]
Fixes bug in protocol flushing and rtable pruning.
When route was propagated to another rtable through a pipe and then the
pipe was reconfigured softly in such a way that any subsequent route
updates are filtered, then the source protocol shutdown didn't clean up
the route in the second rtable which caused stale routes and potential
crashes.
Ondrej Zajicek [Mon, 24 Jun 2013 14:37:30 +0000 (16:37 +0200)]
Better packet priority and traffic class handling.
Implements support for IPv6 traffic class, sets higher priority for OSPF
and RIP outgoing packets by default and allows to configure ToS/DS/TClass
IP header field and the local priority of outgoing packets.
Ondrej Zajicek [Thu, 13 Jun 2013 09:27:14 +0000 (11:27 +0200)]
Fixes problems with kernel routes multiple routing tables.
Temporary dummy routes created by a kernel protocol during routing table
scan get mixed with real routes propagated from another kernel protocol
through a pipe.
Ondrej Zajicek [Tue, 23 Apr 2013 00:42:35 +0000 (02:42 +0200)]
Restructures birdc and birdcl to merge duplicated code.
The BIRD client code is restructured that most of the code (including
main function) is shared in client.c, while birdc.c and birdcl.c contain
just I/O-specific callbacks. This removes all duplicated code from
variant-specific files.
Ondrej Zajicek [Wed, 17 Apr 2013 13:09:50 +0000 (15:09 +0200)]
Adds two new default GCC options.
Adds two new default GCC options related to optimizations
(-fno-strict-aliasing and -fno-strict-overflow). This
should fix some hyperaggressive GCC optimizations.
Ondrej Zajicek [Wed, 17 Apr 2013 11:06:40 +0000 (13:06 +0200)]
Fixes a compatibility issue in OSPFv2 PtP links.
BIRD used zero netmask in hello packets on all PtP links, not just on
unnumbered ones. This patch fixes it and adds option 'ptp netmask'
for overriding the default behavior.
Thanks to Alexander V. Chernikov for the original patch.
Ondrej Zajicek [Tue, 16 Apr 2013 14:22:31 +0000 (16:22 +0200)]
Better handling of global addresses as configured NBMA neighbors in OSPFv3.
Configured NBMA neighbors in OSPFv3 should be link-local addresses, old
behavior was to silently ignore global ones. The patch allows BIRD to
accept global ones, but adds a warning and a documentation notice.
Tomas Hlavacek [Sat, 6 Apr 2013 20:07:32 +0000 (22:07 +0200)]
Fix birdcl async message handling
Fix handling of async messafe in the bird light client. The async message
may occure at the any moment so we need the client to liste for the
message from server when it waits for user input.
Tomas Hlavacek [Tue, 19 Mar 2013 17:02:40 +0000 (18:02 +0100)]
Fix birdcl questionmark handling
Fix handling of questionmark handling in the bird light client. The
questionmark should display help when it is the last non-blank character on
command line. Otherwise the questionmark does not have any special meaning
and it could be a part of a pattern.
Tomas Hlavacek [Sun, 24 Feb 2013 22:47:22 +0000 (23:47 +0100)]
Add lightweight client - birdcl
Restructure client/ subdir. Add two different flavors of client.
The full featured birdc client code is in client/birdc/.
The new light client birtcl is in client/birdcl/.
Common sources of both clients are directly in client/.
Rework on-line auto-completion in client/command.c to conditionally turn off
ncurses-specific code.
Add lightweight client without libreadline and ncurses dependencies - birdcl.
The birdcl lacks support of history, on-line auto-completion and there
are different implementations of "more" functionality and help on '?' press.
New client operates in canonical terminal mode (apart from "more" display)
and therefore all commands have to be executed by a return key including help
commands (called by '?' character in the end of the line).
Apart from these limitations the interaction style should be the same as
for the full client - birdc.
Build of birdcl is always on (independent on --enable-client parameter).
Tomas Hlavacek [Wed, 23 Jan 2013 14:51:04 +0000 (15:51 +0100)]
Rename client/client.c to client_full.c
Rename client/client.c to client-full.c and change the Makefile accordingly.
This is a preparation step for introducing a new lightweight client which
should reuse as much code as possible from the old one but it should not depend
on external libraries.
Signed-off-by: Tomas Hlavacek <tmshlvck@gmail.com>