]>
git.ipfire.org Git - thirdparty/bird.git/log
Martin Mares [Wed, 19 Jan 2000 11:52:32 +0000 (11:52 +0000)]
Killed a couple of bugs in the neighbor cache.
Manual disable/enable/restart/shutdown/reconfiguration of protocols
no longer hangs on loops in neighbor lists :)
Martin Mares [Tue, 18 Jan 2000 11:01:03 +0000 (11:01 +0000)]
Killed protocol->priority. Protocol startup should be clean and hack-free now.
It seems everything still works (except for disable/enable/restart which hangs
sometimes, but it's another story).
Martin Mares [Tue, 18 Jan 2000 10:42:45 +0000 (10:42 +0000)]
protocol->startup_counter no longer exists.
Martin Mares [Tue, 18 Jan 2000 10:39:30 +0000 (10:39 +0000)]
Kernel route syncer now supports dynamic reconfiguration. Also it doesn't
depend on the startup counter hack now and uses a zero-time timer instead
to make itself scheduled after normal protocol startup.
Martin Mares [Mon, 17 Jan 2000 12:40:00 +0000 (12:40 +0000)]
Removed point-to-point tunnel hack as it breaks ordinary PtP interfaces.
I'll find a better solution soon.
Martin Mares [Mon, 17 Jan 2000 12:38:50 +0000 (12:38 +0000)]
Static protocol supports full dynamic reconfiguration.
Martin Mares [Mon, 17 Jan 2000 12:38:07 +0000 (12:38 +0000)]
Moved initlialization of protocol lists to global init. Argh.
Martin Mares [Mon, 17 Jan 2000 11:52:50 +0000 (11:52 +0000)]
Separated `official protocol names' used in status dumps from name templates
used for automatic generation of instance names.
protocol->name is the official name
protocol->template is the name template (usually "name%d"),
should be all lowercase.
Updated all protocols to define the templates, checked that their configuration
grammar includes proto_name which generates the name and interns it in the
symbol table.
Martin Mares [Mon, 17 Jan 2000 11:17:33 +0000 (11:17 +0000)]
Reconfiguration for device protocol.
Martin Mares [Mon, 17 Jan 2000 00:20:45 +0000 (00:20 +0000)]
Pipe protocol supports reconfiguration.
Martin Mares [Mon, 17 Jan 2000 00:20:17 +0000 (00:20 +0000)]
Device protocol supports reconfiguration.
Martin Mares [Mon, 17 Jan 2000 00:19:58 +0000 (00:19 +0000)]
Don't forget changing proto->name to point to name in new configuration
(to avoid the name being freed with the old config).
Also remember to add proto_pipe to protocol_list.
Martin Mares [Sun, 16 Jan 2000 23:36:53 +0000 (23:36 +0000)]
When a quoted string is encountered, don't forget to copy it to the
config pool before passing it to the parser.
Martin Mares [Sun, 16 Jan 2000 23:36:19 +0000 (23:36 +0000)]
Wording changes.
Martin Mares [Sun, 16 Jan 2000 23:30:06 +0000 (23:30 +0000)]
Reworked proto lists -- each proto is now in two lists: the global one
(proto_list) and per-type one (original lists). A lot of things simplified.
Implemented `disable', `enable' and `restart' CLI commands.
Martin Mares [Sun, 16 Jan 2000 17:49:32 +0000 (17:49 +0000)]
Added filter_same() for comparision of two filters.
Pavel, please implement this as soon as possible.
Martin Mares [Sun, 16 Jan 2000 17:40:26 +0000 (17:40 +0000)]
Converted shutdown to a kind of reconfiguration, it's no more handled
as a exception in protocol state machines. Introduced a `shutdown'
CLI command. Killed few reconfiguration bugs.
Martin Mares [Sun, 16 Jan 2000 17:39:16 +0000 (17:39 +0000)]
No more problems when events get scheduled during event processing.
Martin Mares [Sun, 16 Jan 2000 16:44:50 +0000 (16:44 +0000)]
First attempt on dynamic reconfiguration. There are still lots of bugs
and problems to solve, but the hardest part works.
Martin Mares [Sun, 16 Jan 2000 16:40:57 +0000 (16:40 +0000)]
Don't forget to set proto->min_scope = SCOPE_HOST.
Ondrej Filip [Wed, 5 Jan 2000 00:03:47 +0000 (00:03 +0000)]
Preparing for building LS databaze. Huh, why is it so complicated? :-(
Adding definition of some constants.
Pavel Machek [Mon, 20 Dec 1999 19:14:06 +0000 (19:14 +0000)]
Few more entries for bird documentation
Pavel Machek [Sat, 18 Dec 1999 20:41:19 +0000 (20:41 +0000)]
This is first version of documentation. Be sure to take a close look
at it, and it would be very nice if you wrote at least introductions
to your chapters...
Pavel Machek [Sat, 18 Dec 1999 20:39:53 +0000 (20:39 +0000)]
Added fixme.
Martin Mares [Thu, 16 Dec 1999 13:51:43 +0000 (13:51 +0000)]
Minor cleanups.
Martin Mares [Thu, 16 Dec 1999 13:23:32 +0000 (13:23 +0000)]
Handle cases when SIOCGIFINDEX is defined, but doesn't work (new glibc
with 2.0 kernels).
Martin Mares [Thu, 16 Dec 1999 13:14:32 +0000 (13:14 +0000)]
Added missing semicolon.
rip.h compiles in IPv6 mode, rip.c still doesn't.
Martin Mares [Thu, 16 Dec 1999 13:14:02 +0000 (13:14 +0000)]
Better order of includes.
set_inaddr() moved to sysio.h.
Martin Mares [Thu, 16 Dec 1999 13:13:22 +0000 (13:13 +0000)]
ipv6_compare() accepts non-lvalue arguments as well. This makes filters
compile with IPv6.
Martin Mares [Thu, 16 Dec 1999 13:06:13 +0000 (13:06 +0000)]
Tried to clean up multicast handling. Now we don't try to guess
multicast abilities depending on definedness of symbols and use hard-wired
system-dependent configuration defines instead.
Please test whereever you can.
Martin Mares [Thu, 16 Dec 1999 12:59:09 +0000 (12:59 +0000)]
Avoid touching F_MODIFY, it no longer exists.
Martin Mares [Thu, 16 Dec 1999 12:18:33 +0000 (12:18 +0000)]
TODO entries and FIXME's.
Martin Mares [Thu, 16 Dec 1999 12:18:19 +0000 (12:18 +0000)]
Kicked off F_MODIFY (not generated nor used)
Martin Mares [Thu, 9 Dec 1999 18:54:20 +0000 (18:54 +0000)]
Added universal locking mechanism which will solve problems
with protocols wanting to use the same port on the same interface
during reconfiguration time.
How to use locks: In the if_notify hook, just order locks for the
interfaces you want to work with and do the real socket opening after the
lock hook function gets called. When you stop using the socket, close
it and rfree() the lock.
Please update your protocols to use the new locking mechanism.
Martin Mares [Wed, 8 Dec 1999 15:12:54 +0000 (15:12 +0000)]
Temporary work-arounds for multicast problems. Needs further investigation.
Martin Mares [Wed, 8 Dec 1999 14:16:13 +0000 (14:16 +0000)]
Except for special protocols (nowadays only the kernel syncer), don't
export host and link scope routes.
Pavel Machek [Wed, 8 Dec 1999 13:33:44 +0000 (13:33 +0000)]
Added hooks for show route.
Fixed passing metrics around routing tables.
Martin Mares [Wed, 8 Dec 1999 13:20:19 +0000 (13:20 +0000)]
- Path to control socket is selectable via command-line option.
- die() when control socket open failed.
Pavel Machek [Wed, 8 Dec 1999 12:51:45 +0000 (12:51 +0000)]
Fix timing and fix endianity in metrics.
Pavel Machek [Wed, 8 Dec 1999 12:51:26 +0000 (12:51 +0000)]
Disallow rta.net syntax.
Pavel Machek [Wed, 8 Dec 1999 12:51:15 +0000 (12:51 +0000)]
Put rip options into config file.
Pavel Machek [Wed, 8 Dec 1999 12:50:57 +0000 (12:50 +0000)]
Make bird.conf that does not crash machine when you run bird as root.
Pavel Machek [Wed, 8 Dec 1999 10:15:51 +0000 (10:15 +0000)]
Make rta. syntax optional.
Pavel Machek [Wed, 8 Dec 1999 10:15:40 +0000 (10:15 +0000)]
Separated bird.conf and bird.conf for testing filters.
Martin Mares [Mon, 6 Dec 1999 13:51:04 +0000 (13:51 +0000)]
Allow logging to stderr as well.
Martin Mares [Mon, 6 Dec 1999 13:50:50 +0000 (13:50 +0000)]
Added type `g' for void (general) pointer.
Martin Mares [Mon, 6 Dec 1999 13:45:56 +0000 (13:45 +0000)]
Logging is now configurable. You can define multiple log outputs (to both
files and syslog) and assign lists of message categories to each of them.
Martin Mares [Mon, 6 Dec 1999 13:44:45 +0000 (13:44 +0000)]
Moved initialization of protocol list to proto.c.
Added sysdep configuration hooks.
Martin Mares [Mon, 6 Dec 1999 13:43:47 +0000 (13:43 +0000)]
Added tracked_fopen() which is a fopen registered in resource database.
Will be used for log files.
Martin Mares [Mon, 6 Dec 1999 12:34:45 +0000 (12:34 +0000)]
Implemented echoing of log messages to CLI connections. Just try `echo all'.
Martin Mares [Sat, 4 Dec 1999 23:28:56 +0000 (23:28 +0000)]
Don't forget to send an OK reply after dumping debug information.
Martin Mares [Sat, 4 Dec 1999 23:17:29 +0000 (23:17 +0000)]
Added DEBUG commands.
Removed CLI tests, real commands now serve as much better examples.
Martin Mares [Fri, 3 Dec 1999 11:41:23 +0000 (11:41 +0000)]
Implemented `show static'. It's a relatively good example of how to write
show commands for other protocols.
Martin Mares [Fri, 3 Dec 1999 11:40:45 +0000 (11:40 +0000)]
Added proto_get_named() to be used in CLI commands to get protocol instance
of a given protocol with optionally given name. See `show static' for an
example.
Martin Mares [Fri, 3 Dec 1999 11:10:50 +0000 (11:10 +0000)]
Renamed SHOW PROTOCOLS VERBOSE to SHOW PROTOCOLS ALL to be consistent
with the other commands.
Martin Mares [Thu, 2 Dec 1999 14:04:44 +0000 (14:04 +0000)]
Implemented `show route where <condition>' command.
Pavel, please check my addition to filter/config.Y.
Martin Mares [Thu, 2 Dec 1999 14:03:25 +0000 (14:03 +0000)]
I tried to turn on the YYERROR_VERBOSE switch, but bison is buggy as hell,
so it doesn't even compile. Turned it again off and added a comment on it.
Martin Mares [Thu, 2 Dec 1999 12:04:39 +0000 (12:04 +0000)]
Avoid `default rule can be matched' warning in CLI state.
Martin Mares [Wed, 1 Dec 1999 15:17:24 +0000 (15:17 +0000)]
Updated TODO file.
Martin Mares [Wed, 1 Dec 1999 15:10:21 +0000 (15:10 +0000)]
Added dumping of routing tables (`show route'). This includes filtering.
Martin Mares [Wed, 1 Dec 1999 15:08:32 +0000 (15:08 +0000)]
Added get_route_info and show_route_data hooks to struct protocol.
Please implement them.
Martin Mares [Wed, 1 Dec 1999 15:07:56 +0000 (15:07 +0000)]
Reset temporary parser data before parsing, not afterwards. This enables
deferred CLI command handlers to store their temporary data in the CLI
parsing pool.
Martin Mares [Wed, 1 Dec 1999 15:07:06 +0000 (15:07 +0000)]
Make ACCEPT/REJECT actually return the result...
Pavel Machek [Wed, 1 Dec 1999 13:44:42 +0000 (13:44 +0000)]
Stupid bug (essentially while(1) loop) occuring sometimes during start
of bird fixed.
Pavel Machek [Wed, 1 Dec 1999 12:54:23 +0000 (12:54 +0000)]
accept should behave as return, not running any commands after it.
Pavel Machek [Wed, 1 Dec 1999 12:52:57 +0000 (12:52 +0000)]
Actually check sequence numbers.
Martin Mares [Wed, 1 Dec 1999 12:01:41 +0000 (12:01 +0000)]
Implemented get_status for the pipe protocol (reports name of the other
side of the pipe).
Please do so for your protocols as well.
Martin Mares [Wed, 1 Dec 1999 12:00:15 +0000 (12:00 +0000)]
`show protocols' now shows time of last state change and protocol-dependent
status information (obtained via newly introduced hook protocol->get_status).
Martin Mares [Wed, 1 Dec 1999 11:59:24 +0000 (11:59 +0000)]
Introduced new protocol-dependent integer field `aux' to struct neighbor.
Martin Mares [Wed, 1 Dec 1999 11:59:00 +0000 (11:59 +0000)]
Added tm_format_reltime() for formatting of relative time quantities.
Pavel Machek [Wed, 1 Dec 1999 11:39:58 +0000 (11:39 +0000)]
FIXME's cleaned up: I have actually fixed things without killing
comments.
There are no urgent FIXME's in filters. Perhaps we should start with
documentation?
Martin Mares [Wed, 1 Dec 1999 10:28:39 +0000 (10:28 +0000)]
Use linux-22 configuration with all 2.2.x and 2.3.x kernels. This means
you need to have your kernel compiled with netlink routing messages enabled.
If it doesn't work for you, use --with-sysconfig=linux-21 and let me know
what's going wrong.
Martin Mares [Tue, 30 Nov 1999 14:04:09 +0000 (14:04 +0000)]
Remember protocol instance in proto_config and use that for
`show protocols <name>'.
Martin Mares [Tue, 30 Nov 1999 14:03:36 +0000 (14:03 +0000)]
Lexer supports fallback symbol tables and uses them to recognize
symbols from global config when parsing CLI commands.
cf_lex_init_tables() is now called automatically inside the lexer.
Martin Mares [Tue, 30 Nov 1999 14:02:27 +0000 (14:02 +0000)]
Use TIME_INFINITY for initialization of password entries instead
of
2000000000 (BTW who wrote that???)
Martin Mares [Tue, 30 Nov 1999 14:01:39 +0000 (14:01 +0000)]
Moved TIME_INFINITY to timer.h, so that it's publicly available.
Martin Mares [Tue, 30 Nov 1999 12:57:14 +0000 (12:57 +0000)]
`show interfaces' and `show protocols' works.
Martin Mares [Tue, 30 Nov 1999 12:56:52 +0000 (12:56 +0000)]
Don't use continuation shortcuts until real client is written.
Ondrej Filip [Tue, 30 Nov 1999 10:35:26 +0000 (10:35 +0000)]
Inicialisation of Topology Graph (TG).
Martin Mares [Thu, 25 Nov 1999 15:35:30 +0000 (15:35 +0000)]
Added few basic commands: show status, show interfaces [summary],
show protocols (incomplete).
Martin Mares [Thu, 25 Nov 1999 15:34:51 +0000 (15:34 +0000)]
cli_msg() moved to cli.h, so that it can be used outside the parser.
Martin Mares [Thu, 25 Nov 1999 15:34:20 +0000 (15:34 +0000)]
Added ip_scope_text() for translating of scopes to strings.
Pavel Machek [Thu, 25 Nov 1999 15:03:12 +0000 (15:03 +0000)]
md5 authentication seems to work.
Pavel Machek [Thu, 25 Nov 1999 14:54:08 +0000 (14:54 +0000)]
Bugfixes: select right password for password authentication, do not
try to process authentication blocks as datablocks, make it possible
to add data at end of packet. Password authentication should actually work.
Pavel Machek [Thu, 25 Nov 1999 13:42:49 +0000 (13:42 +0000)]
Filters: fix rta access to use ->aux field.
Pavel Machek [Thu, 25 Nov 1999 13:38:25 +0000 (13:38 +0000)]
Triggered updates should now actually work. Fixed metric=16 -> time it
out logic.
Pavel Machek [Thu, 25 Nov 1999 12:01:45 +0000 (12:01 +0000)]
Fix timeouts. Triggered updates are not done, yet.
Pavel Machek [Wed, 24 Nov 1999 12:16:31 +0000 (12:16 +0000)]
Check that prefixes are really prefixes + fix config file to
comply. (:-( 1.2.3.4/8 looks nicer than 1.0.0.0/8).
Pavel Machek [Wed, 24 Nov 1999 12:09:58 +0000 (12:09 +0000)]
Sorry, previous commit did not even compile.
Pavel Machek [Wed, 24 Nov 1999 12:04:32 +0000 (12:04 +0000)]
Filters: write access to dynamic attributes should actually work. It
would be nice to find method of testing such beasts.
Martin Mares [Thu, 18 Nov 1999 14:41:43 +0000 (14:41 +0000)]
More CLI plans...
Martin Mares [Thu, 18 Nov 1999 14:41:29 +0000 (14:41 +0000)]
Allow EA type to be set to 'undefined' which overrides all further definitons
of that EA in the same list and causes ea_find() to fail unless you add
EA_ALLOW_UNDEF to the second argument.
ea_sort (resp. ea_do_prune()) removes all undef'd attributes from the list.
I hope this works :)
Pavel Machek [Thu, 18 Nov 1999 14:29:10 +0000 (14:29 +0000)]
Filters: first parts of extended attributes being read-write. It can
not actually work since I do not do rta/rte cow, yet.
Pavel Machek [Thu, 18 Nov 1999 14:01:36 +0000 (14:01 +0000)]
Split inst->code into inst->code and inst->aux. Both are only 16 bit,
so aux is suitable for storing type but not much more.
Martin Mares [Thu, 18 Nov 1999 13:42:51 +0000 (13:42 +0000)]
DEF_PREF_UKR and DEF_PREF_SINK removed.
Pavel Machek [Thu, 18 Nov 1999 13:21:52 +0000 (13:21 +0000)]
You can now print enum.
Ondrej Filip [Wed, 17 Nov 1999 15:50:41 +0000 (15:50 +0000)]
ospf.c and ospc.h splitted into various files.
Martin Mares [Wed, 17 Nov 1999 14:58:21 +0000 (14:58 +0000)]
Added skeleton of command tree. Please inspect.
Ondrej Filip [Wed, 17 Nov 1999 13:28:51 +0000 (13:28 +0000)]
Another bugfix. (In EXCHANGE state.)
Ondrej Filip [Wed, 17 Nov 1999 13:15:01 +0000 (13:15 +0000)]
Fixed bug receiving dbdes packets in EXSTART state.