Commit graph

111 commits

Author SHA1 Message Date
Ondrej Zajicek d72cdff411 Replace 'bind' option with 'listen' option.
To be consistent with other daemons.
2009-06-23 11:08:30 +02:00
Ondrej Zajicek bf1aec970e Adds support for soft reconfiguration. 2009-06-19 23:49:34 +02:00
Ondrej Zajicek 789772ed45 Implements option that changes BGP listening socket parametres. 2009-06-18 19:20:07 +02:00
Ondrej Zajicek 874b868544 Implements primary address selection base on 'primary' option. 2009-05-29 22:49:30 +02:00
Ondrej Zajicek b1a597e0c3 Reimplementation of prefix sets.
Prefix sets were broken beyond any repair and have to be reimplemented.
They are reimplemented using a trie with bitmasks in nodes.
There is also change in the interpretation of minus prefix pattern,
but the old interpretation was already inconsistent with
the documentation and broken.

There is also some bugfixes in filter code related to set variables.
2009-03-31 12:55:57 +02:00
Ondrej Zajicek cf18603491 New syntax for bgp_path 2009-03-14 12:43:10 +01:00
Ondrej Zajicek f949163039 New syntax for bgp_path 2009-01-27 17:35:00 +01:00
Ondrej Zajicek 083c43e22e fixes some 64-bit related bugs.
Filter code used 'aux' integer field of 'symbol' struct to store ptr
to next symbol and both 'aux2' and 'def' fields for value.
Changed to just 'def' for value and 'aux2' for ptr to next symbol.
Also another minor bugfix.
2008-12-25 11:55:27 +01:00
Ondrej Zajicek 1567edea8d Bugfix for routing table breaking bug.
Here is a patch fixing a bug that causes breakage of a local routing
table during shutdown of Bird. The problem was caused by shutdown
of 'device' protocol before shutdown of 'kernel' protocol.  When
'device' protocol went down, the route (with local network prefix)
From different protocol (BGP or OSPF) became preferred and installed
to the kernel routing table. Such routes were broken (like
192.168.1.0/24 via 192.168.1.2). I think it is also the cause
of problem reported by Martin Kraus.

The patch disables updating of kernel routing table during shutdown of
Bird. I am not sure whether this is the best way to fix it, I would
prefer to forbid 'kernel' protocol to overwrite routes with
'proto kernel'.

The patch also fixes a problem that during shutdown sometimes routes
created by Bird remained in the kernel routing table.
2008-10-26 23:09:46 +01:00
Ondrej Filip a456788bce New version of flex needs argument separated. 2007-06-20 12:32:39 +00:00
Ondrej Filip 0d3effcf8c Time added in password management. 2005-02-12 22:27:55 +00:00
Martin Mares 7c103b1ee1 Marked unused parameters in core code as such. 2004-06-05 09:10:56 +00:00
Martin Mares 725270cb1d Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
Martin Mares 58f7d004fd Fixes to the progdoc. 2000-06-07 13:25:53 +00:00
Martin Mares 2e9b24211a Spelling fixes to progdoc. 2000-06-07 12:29:08 +00:00
Martin Mares 04dc62a011 Nested scopes could never have worked. My fault I wrote such a buggy code,
Pavel's fault that he's never tested shadowing of declarations in the filters.

cf_define_symbol() has been modified to check the scope of the symbol it's
given and it if it's an already defined symbol, but in a different scope,
a copy is created in the current scope and redefined to the new meaning,
the consequence being that it cf_define_symbol() now returns the new symbol
you need to use when assigning aux and aux2.
2000-06-04 19:30:13 +00:00
Martin Mares 58f9453776 Moved parser docs to cf-lex.l, so that the parser compiles. 2000-06-04 15:22:20 +00:00
Martin Mares 06607335ef Documentation. 2000-06-03 18:23:00 +00:00
Martin Mares c0b2f6463f cf_symbol_class_name now recognizes SYM_IPA. 2000-06-03 16:56:00 +00:00
Pavel Machek 5f4aee76a2 Added && and ||. 2000-06-01 08:43:29 +00:00
Martin Mares fcb5f4a725 Updated all the Doc files to new format. 2000-05-31 11:30:18 +00:00
Martin Mares 69a20d2eff Recognize `!'. 2000-05-30 21:46:21 +00:00
Martin Mares 4761efdb43 Tracing of CLI connections/commands can be now controlled
by `debug commands <level>' in the configuration. Level 0 means
no tracing, 1 means connections only, 2 includes all commands.
2000-05-29 22:10:18 +00:00
Pavel Machek 9a09a64bb4 Use ? in path matching to avoid /* trap. 2000-05-25 14:58:38 +00:00
Pavel Machek 60de3356ab Resolved shift/reduce conflict 2000-05-16 14:24:33 +00:00
Martin Mares cc590a11a7 Changed syntax of expressions. Each `expr' can be now either a numeric literal
or a symbol or parenthesised filter expression.
2000-05-15 12:15:18 +00:00
Martin Mares e3f2d5fce3 Cleanup of configuration.
o  Use `expr' instead of `NUM' and `ipa' instead of `IPA',
   so that defined symbols work everywhere.
o  `define' now accepts both numbers and IP addresses.
o  Renamed `ipa' in filters to `fipa'.

Pavel, please update filters to accept define'd symbols as well.
2000-05-15 11:48:23 +00:00
Martin Mares 3b1c523d79 Got rid of startup functions and filters_postconfig().
By the way, how do you expect pointers to fit in an int?
2000-05-15 10:53:56 +00:00
Martin Mares d3abfbc68d Added prefix_or_ipa. 2000-05-13 11:41:26 +00:00
Martin Mares 758458be05 Unified parsing of prefixes.
Had to rename `prefix' in filters to `fprefix'.
2000-05-13 11:17:49 +00:00
Martin Mares ab1129c1bd Added skeleton Doc files for the whole developer's documentation. 2000-05-05 17:17:42 +00:00
Martin Mares 6db8c5a63b pxlen works even in IPv6 mode. 2000-05-04 20:02:19 +00:00
Martin Mares a412f01ea8 Include CF_HDR section in keywords.h as well, so that protocol symbols
can be used in definition of ENUM's.
2000-04-28 15:12:03 +00:00
Martin Mares 2edb31b097 Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
C declarations etc.).
2000-04-28 15:11:10 +00:00
Martin Mares 8f6accb5bb Event handlers no longer return re-queue flag. Instead of using it, just
call ev_schedule() on the same handler which should work perfectly now.
2000-04-27 22:28:49 +00:00
Pavel Machek dcab789047 Renamed f_path to f_path_mask -- which is what it really is. Use
linklist instead of array of signed integers for path mask.
2000-04-12 13:07:53 +00:00
Pavel Machek c3edb89ec1 Path masks are needed for filters. 2000-04-12 12:49:53 +00:00
Martin Mares 221135d6bf Include "lib/string.h" instead of <string.h>. It should give us bzero()
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00
Martin Mares abf2be7d0c Add internal commands of the client to the command list. 2000-03-12 23:04:04 +00:00
Martin Mares 4327090276 Made `show status' show uptime and time of last reconfiguration. 2000-03-12 22:44:54 +00:00
Martin Mares 6b9fa32080 Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
several debug() calls converted to DBG().
2000-03-12 21:01:38 +00:00
Pavel Machek c8d5ffafb7 Fix <=, >=, != 2000-03-10 20:21:12 +00:00
Martin Mares f30b86f9d5 Added configuration of default protocol debugging flags. 2000-03-07 21:50:03 +00:00
Martin Mares 16c07e3d51 Removed bogus comment. 2000-03-04 21:27:57 +00:00
Martin Mares a58dad6238 Please *think* when defining operator priorities.
(-: num_of_parser_conflicts -= 42 :-)
2000-03-04 21:19:10 +00:00
Martin Mares aee539f241 Made `datetime' more user friendly. Now it should be a quoted string
of type "dd-mm-yyyy".
2000-03-01 11:42:13 +00:00
Martin Mares 2ca3d9a8fc Defined INVALID_TOKEN which is a token guaranteed to be never generated. 2000-03-01 11:30:16 +00:00
Martin Mares 0223d4fff1 Client: Online help works (Cisco style: just press `?' at the end of a line). 2000-02-17 22:00:13 +00:00
Martin Mares f50b9e48b9 Generate a list of all commands and their help texts for the client to use. 2000-01-19 14:37:56 +00:00
Martin Mares 4b87e256eb Split off general commands to cmds.c.
Added `show symbols' command which dumps whole symbol table together
with symbol types etc.
2000-01-19 12:30:19 +00:00