Martin Mares
ac5d801217
Asynchronous feeding of protocols.
2000-05-19 10:46:26 +00:00
Martin Mares
df9f0fb30a
Don't log state changes if nothing user-visible has changed.
2000-05-16 13:43:26 +00:00
Martin Mares
f990fc61e0
When in persist mode, don't delete routes from kernel tables even if
...
they cease to exist in our routing tables due to protocols having shut down.
2000-05-16 13:36:38 +00:00
Martin Mares
f4ab231746
bgp_get_status: If protocol is down, don't print BGP state.
2000-05-15 12:19:28 +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
9449c91ab2
Added `show route for <prefix-or-ipa>' which looks up route leading to
...
given network.
2000-05-13 11:42:42 +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
02bd064ab7
Adapted to new rt_notify semantics.
2000-05-13 11:02:02 +00:00
Martin Mares
109c2f6cf3
If a broadcast address is missing, go fake one.
2000-05-11 12:30:06 +00:00
Martin Mares
d8033f2238
Generated first public alpha release.
...
Unless you object, I'll announce it today (9.5.) at noon.
2000-05-08 22:37:16 +00:00
Martin Mares
33a368ad59
Implemented show route count' which is
show route stats' with
...
exception that it doesn't print the routes themselves.
2000-05-08 14:58:00 +00:00
Martin Mares
0c3588bf5e
Don't crash when the socket gets closed between updates.
...
Also, this time not only update `remains', but update it right :)
2000-05-08 14:53:22 +00:00
Martin Mares
9ff8f334ed
Update `remains' counter correctly.
2000-05-08 14:32:19 +00:00
Martin Mares
0bf7386b33
Updated TODO.
2000-05-08 14:18:33 +00:00
Martin Mares
23693958aa
Implemented `show route <...> stats'.
2000-05-07 11:28:59 +00:00
Martin Mares
acfce55c86
Setup of incoming connection is now a separate function.
2000-05-07 10:41:45 +00:00
Martin Mares
ce1da96ee7
Added commands show route protocol <p>' and
show route import <p>' which
...
show the routing table as exported to the protocol given resp. as returned
from its import control hook.
To get handling of filtered extended attributes right (even in the old
`show route where <filter>' command), the get_route_info hook gets an
attribute list and all protocol specific rte attributes are contained
there as temporary ones. Updated RIP to do that.
Added ea_append() which joins two ea_list's.
2000-05-06 22:57:39 +00:00
Martin Mares
84f0700205
IPv6 support compiles on both glibc 2.0 and 2.1.
2000-05-06 21:46:09 +00:00
Martin Mares
498c33395f
Cosmetic fixes.
2000-05-06 21:42:19 +00:00
Martin Mares
67be5b23cd
When rte_update is called for an identical route, don't announce anything.
...
Please implement the rte_same hook in your protocols. It should just
compare your metrics stored directly in rte, the rest is done by the core.
2000-05-06 21:21:19 +00:00
Martin Mares
b177724896
Connected the `doc' subtree to global makefiles.
...
All documentation is built in obj/doc (resp. doc/ if you do a stand-alone build).
Use `make docs' to make the whole documentation or `make userdocs' resp.
`make progdocs' for user manual resp. developer's guide.
2000-05-05 17:15:56 +00:00
Martin Mares
b3acb10632
Updated.
2000-05-04 20:49:45 +00:00
Martin Mares
46cdc7e20f
Updated TODO.
2000-04-28 15:15:36 +00:00
Martin Mares
3991d84e8f
Changed initialization of protocol list -- now we call proto_build() instead
...
of calling the protocols manually.
Implemented printing of dynamic attributes in `show route all'.
Each protocol can now register its own attribute class (protocol->attr_class,
set to EAP_xxx) and also a callback for naming and formatting of attributes.
The callback can return one of the following results:
GA_UNKNOWN Attribute not recognized.
GA_NAME Attribute name recognized and put to the buffer,
generic code should format the value.
GA_FULL Both attribute name and value put to the buffer.
Please update protocols generating dynamic attributes to provide
the attr_class and formatting hook.
2000-04-01 10:19:47 +00:00
Martin Mares
a37410cbdd
Use bsprintf() instead of sprintf().
2000-03-31 23:33:03 +00:00
Martin Mares
c01e37416d
Started work on BGP. Wrote main part of the connection handling code.
2000-03-20 21:50:17 +00:00
Martin Mares
f098e072be
Fixed a bunch of FIXME's by removing them :)
2000-03-12 22:53:05 +00:00
Martin Mares
832fa033b7
Cleaned up debugging in kernel syncer. Netlink has still LOCAL_DEBUG
...
turned on, but after some testing I'll gag it.
2000-03-12 21:54:39 +00:00
Martin Mares
6a9f28b0b9
Added tracing of interface events.
2000-03-12 20:50:35 +00:00
Martin Mares
cfd46ee4c5
Added debugging of communication between protocols and routing tables.
...
Just ask for "debug routes" if you want to see the routes and "debug filters"
if you want even the rejected ones.
2000-03-12 20:30:53 +00:00
Martin Mares
839380d7ec
Added debugging of protocol state transitions.
2000-03-07 21:50:21 +00:00
Martin Mares
3549667925
Implemented real slab allocator. If you suspect it from being buggy,
...
just #define FAKE_SLAB at the top of lib/slab.c to bypass it.
2000-03-05 22:48:30 +00:00
Martin Mares
ee76a92a80
Implemented real attribute cache.
2000-03-04 21:09:14 +00:00
Martin Mares
85053fce04
Reimplemented neighbor cache. Now uses real hashing.
2000-03-01 14:51:47 +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
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
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
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
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
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
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
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
50fe90edf3
First attempt on dynamic reconfiguration. There are still lots of bugs
...
and problems to solve, but the hardest part works.
2000-01-16 16:44:50 +00:00
Martin Mares
476e108425
Minor cleanups.
1999-12-16 13:51:43 +00:00
Martin Mares
e693ddff87
Handle cases when SIOCGIFINDEX is defined, but doesn't work (new glibc
...
with 2.0 kernels).
1999-12-16 13:23:32 +00:00
Martin Mares
67ece6df42
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.
1999-12-16 13:06:13 +00:00