Commit graph

635 commits

Author SHA1 Message Date
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
Martin Mares 6a9f28b0b9 Added tracing of interface events. 2000-03-12 20:50:35 +00:00
Martin Mares b0a47440e3 Oops, got <' and >' markers in trace output reversed. 2000-03-12 20:49:08 +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
Pavel Machek c8d5ffafb7 Fix <=, >=, != 2000-03-10 20:21:12 +00:00
Ondrej Filip ce17d4c165 LSA DB is completely redesigned. Now it should be faster and it needs
less memory.
2000-03-09 22:38:05 +00:00
Pavel Machek af834f8630 Categorized TRACE() messages in rip 2000-03-09 16:38:51 +00:00
Pavel Machek cb822c0777 Rip tracing: still need config hunk to set p->debug. 2000-03-09 15:12:41 +00:00
Pavel Machek 38466dbdac log() classes done right 2000-03-09 14:59:10 +00:00
Pavel Machek 995e5894cd 1 less shift/reduce conflict
print now takes arguments separated by ,

[ 1.2.3.0/24 .. 3.4.5.0/8 ] is now forbidden

[ 1.2.3.0/8 ] now actually works
2000-03-09 14:47:43 +00:00
Pavel Machek e4a73dbfcb CONST() is now gone 2000-03-09 13:21:40 +00:00
Ondrej Filip 30147b89ff Sending of DBDes. (Checksum and length calculation NOT done.) 2000-03-08 12:50:28 +00:00
Martin Mares 839380d7ec Added debugging of protocol state transitions. 2000-03-07 21:50:21 +00:00
Martin Mares f30b86f9d5 Added configuration of default protocol debugging flags. 2000-03-07 21:50:03 +00:00
Martin Mares 3eb0b586ca No longer echoes commands before sending them. 2000-03-07 21:04:36 +00:00
Martin Mares 3cbfcafecd DBG calls debug() if defined(LOCAL_DEBUG) || defined(GLOBAL_DEBUG). 2000-03-07 21:04:14 +00:00
Martin Mares 96d8e3bff2 Added protocol debugging flags (protocol.h: D_xxx), parsing of them
in configuration files and commands for manipulating them.

Current debug message policy:

   o  D_STATES, D_ROUTES and D_FILTERS are handled in generic code.
   o  Other debug flags should be handled in the protocols and whenever
      the flag is set, the corresponding messages should be printed
      using calls to log(L_TRACE, ...), each message prefixed with
      the name of the protocol instance. These messages should cover
      the whole normal operation of the protocol and should be useful
      for an administrator trying to understand what does the protocol
      behave on his network or who is attempting to diagnose network
      problems. If your messages don't fit to the categories I've defined,
      feel free to add your own ones (by adding them to protocol.h
      and on two places in nest/config.Y), but please try to keep the
      categories as general as possible (i.e., not tied to your protocol).
   o  Internal debug messages not interesting even to an experienced
      user should be printed by calling DBG() which is either void or
      a call to debug() depending on setting of the LOCAL_DEBUG symbol
      at the top of your source.
   o  Dump functions (proto->dump etc.) should call debug() to print
      their messages.
   o  If you are doing any internal consistency checks, use ASSERT
      or bug().
   o  Nobody shall ever call printf() or any other stdio functions.

Also please try to log any protocol errors you encounter and tag them
with the appropriate message category (usually L_REMOTE or L_AUTH). Always
carefully check contents of any message field you receive and verify all
IP addresses you work with (by calling ipa_classify() or by using the
neighbour cache if you want to check direct connectedness as well).
2000-03-07 20:49:48 +00:00
Martin Mares c801e1fbab Renamed command shutdown' to down', so that `s' can be used as an
abbreviation for `show'.
2000-03-07 20:09:35 +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 9f4929e749 Renamed EAF_INLINE to EAF_TEMP to make the name reflect the real meaning. 2000-03-04 22:30:44 +00:00
Martin Mares b9626ec6ea Garbage collector events and counters are now per table and one day
they can be made configurable if it turns out to be useful.
2000-03-04 22:21:06 +00:00
Martin Mares 16c07e3d51 Removed bogus comment. 2000-03-04 21:27:57 +00:00
Martin Mares 54fb7701a2 Fixed display of short continued messages in verbose mode. 2000-03-04 21:26:35 +00:00
Martin Mares c7814f01fc Enabled short continuations. 2000-03-04 21:26:19 +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 ee76a92a80 Implemented real attribute cache. 2000-03-04 21:09:14 +00:00
Pavel Machek d4d7562806 Avoid being exponential, do not allow ! = 2000-03-02 22:23:18 +00:00
Martin Mares c8518ae136 Removed RTF_EXTERIOR and RTF_TAGGED (unused). 2000-03-01 15:05:43 +00:00
Martin Mares 85053fce04 Reimplemented neighbor cache. Now uses real hashing. 2000-03-01 14:51:47 +00:00
Martin Mares 7293c5dd81 Added proto->hash_key which contains randomly generated hash key used
for calculation of hash functions depending on proto.
2000-03-01 14:49:07 +00:00
Pavel Machek 62ab789de5 Added type parameter to f_new_dynamic_attr. 2000-03-01 14:42:59 +00:00
Pavel Machek 31e79264a2 tmp_attrs fixed.
I do not know if it is right since mj ingores talk once started :-(.
2000-03-01 14:31:31 +00:00
Martin Mares 4ebbbd4079 Changed comments regarding hash function. 2000-03-01 12:15:20 +00:00
Martin Mares 14a6c2a705 IP_PREC_INTERNET_CONTROL for IPv6 (see the comment). 2000-03-01 12:03:43 +00:00
Martin Mares 4c1b4e1a58 If the user has specified identical preferences for instances of different
protocols, break the tie by comparing addresses, so we keep the ordering
unambiguous.
2000-03-01 11:48:11 +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 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