Commit graph

599 commits

Author SHA1 Message Date
Martin Mares db1326aa5e Dynamic attributes are now declared in per-protocol grammar files instead
of filter/config.Y. Bird now compiles even if you disable RIP.

Removed RTA and IMPOSSIBLE tokens (unused).

Removed superfluous comment in filter.h.

I've tried to do my best, but Pavel, please check these changes.
2000-03-01 11:32:23 +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 d07bab3997 ipa_opposite hack is not applicable in IPv6. 2000-03-01 11:29:30 +00:00
Martin Mares ef0883a12f Adapted RIP to new interface flags. Pavel, please verify it's right. 2000-02-29 23:20:55 +00:00
Martin Mares 6a636392d3 Rewrote interface type detection logic. The `unnumbered' flag is now per
address, not per interface (hence it's ifa->flags & IA_UNNUMBERED) and
should be set reliably. IF_MULTIACCESS should be fixed now, but it isn't
wise to rely on it on interfaces configured with /30 prefix.
2000-02-29 23:19:52 +00:00
Martin Mares e69e4ed934 Support expansion of command abbreviations.
Client considered finished (modulo bugs).
2000-02-27 22:00:19 +00:00
Ondrej Filip de30342f97 Router LSA & area adding. 2000-02-25 19:19:41 +00:00
Ondrej Filip b786df7035 Memory allocation in ospf_area changed. 2000-02-25 14:26:54 +00:00
Pavel Machek 2d496d2028 Get rid of 'ab'-s, added return to functions. 2000-02-25 11:15:26 +00:00
Martin Mares df0cf75dc8 Hmmm, libreadline 2.1 seems to be the oldest version we work with. 2000-02-24 18:46:24 +00:00
Martin Mares 1d4ba6583a Moan loudly if libreadline is an old version which doesn't support
callbacks.
2000-02-24 18:43:23 +00:00
Ondrej Filip ab56f6b16f Area work and router LSA starts when interface goes up. 2000-02-24 00:26:10 +00:00
Ondrej Filip ea28da044a Small change for debugging. 2000-02-23 23:23:19 +00:00
Ondrej Filip 91808fffc2 Structures for router LSA added. 2000-02-23 23:14:18 +00:00
Ondrej Filip 6fa948d6c5 Better debugging. 2000-02-23 23:13:27 +00:00
Ondrej Filip e6fcf113ec Better debuging. 2000-02-23 23:13:10 +00:00
Martin Mares fae0396ea4 Completion works. Unfortunately, we have to access a couple of internal
symbols of libreadline :-(
2000-02-17 23:37: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 c51f132d58 First usable version of the client. No command completion and similar nifty
features yet, but it works.
2000-02-15 12:18:37 +00:00
Martin Mares 973304bc2b Don't make dependencies in client directory if the client is not
configured in.
2000-02-14 17:32:50 +00:00
Ondrej Filip 4bf6de8737 Hash table structure redesigned. 2000-02-08 22:43:10 +00:00
Ondrej Filip 316d7bd7d1 Other LS struct added. 2000-02-08 22:13:12 +00:00
Ondrej Filip d3cb698053 LSA type changed from u16 to u8. 2000-02-08 19:24:22 +00:00
Ondrej Filip c7b915d68c Malloc() changed to cfg_alloc(). 2000-02-08 19:12:42 +00:00
Pavel Machek 9a4037d408 filter_same() implemented. Don't bet on it, yet. 2000-01-31 17:44:22 +00:00
Pavel Machek 70844a6a46 Updated docs about filters, and added fixme. 2000-01-26 21:28:53 +00:00
Pavel Machek bd215f8bab Do not send empty packets in rip. 2000-01-26 14:12:18 +00:00
Pavel Machek 8660913ba8 Output made prettier. 2000-01-26 12:07:18 +00:00
Martin Mares 7211be1cff Configure, link and use the readline library. 2000-01-20 13:13:30 +00:00
Martin Mares 9fac310d1a Put client on a stony ground. The whole client is going to be system-specific
(the current version UNIX-specific) anyway, so it's useless to try splitting it
to sysdep and generic part. Instead of this, configure script decides (based on
system type and user's wish) what (if any) client should be built and what
autoconfiguration it requires. Also, the client provides its own die/bug/...
functions.
2000-01-19 15:07:00 +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
Martin Mares f5ad9f87a3 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 :)
2000-01-19 11:52:32 +00:00
Martin Mares 3ea1ba632b 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).
2000-01-18 11:01:03 +00:00
Martin Mares 54aaa89ada protocol->startup_counter no longer exists. 2000-01-18 10:42:45 +00:00
Martin Mares aa8761de94 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.
2000-01-18 10:39:30 +00:00
Martin Mares fb89b1a4ce Removed point-to-point tunnel hack as it breaks ordinary PtP interfaces.
I'll find a better solution soon.
2000-01-17 12:40:00 +00:00
Martin Mares 295ae16d4d Static protocol supports full dynamic reconfiguration. 2000-01-17 12:38:50 +00:00
Martin Mares 471cc0be65 Moved initlialization of protocol lists to global init. Argh. 2000-01-17 12:38:07 +00:00
Martin Mares d272fe22dd 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.
2000-01-17 11:52:50 +00:00
Martin Mares f7fcb75252 Reconfiguration for device protocol. 2000-01-17 11:17:33 +00:00
Martin Mares 0ec90e9fc6 Pipe protocol supports reconfiguration. 2000-01-17 00:20:45 +00:00
Martin Mares 88dc89f991 Device protocol supports reconfiguration. 2000-01-17 00:20:17 +00:00
Martin Mares 26368f656c 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.
2000-01-17 00:19:58 +00:00
Martin Mares ca0edc5395 When a quoted string is encountered, don't forget to copy it to the
config pool before passing it to the parser.
2000-01-16 23:36:53 +00:00
Martin Mares 99278e1042 Wording changes. 2000-01-16 23:36:19 +00:00
Martin Mares f14a4becbe 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.
2000-01-16 23:30:06 +00:00
Martin Mares 30a6108ccc Added filter_same() for comparision of two filters.
Pavel, please implement this as soon as possible.
2000-01-16 17:49:32 +00:00
Martin Mares bf8558bc9c 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.
2000-01-16 17:40:26 +00:00
Martin Mares ebc793a5f5 No more problems when events get scheduled during event processing. 2000-01-16 17:39:16 +00:00