Commit graph

391 commits

Author SHA1 Message Date
Martin Mares
9c11ec9efc Implemented a Table-to-Table protocol a.k.a The Pipe. 1999-08-03 19:34:26 +00:00
Martin Mares
8c943173ce Allow announces of rte's to protocols in FS_FEEDING state.
Else, we would get chicken-egg problems in the table-to-table protocol.
1999-08-03 19:33:45 +00:00
Martin Mares
7de45ba4a0 Kernel route syncer supports multiple tables.
The changes are just too extensive for lazy me to list them
there, but see the comment at the top of sysdep/unix/krt.c.
The code got a bit more ifdeffy than I'd like, though.

Also fixed a bunch of FIXME's and added a couple of others. :)
1999-08-03 19:33:22 +00:00
Martin Mares
9d8856897f Protocol engine bug fixes:
o  Make proto_config->table always point to the right
      table even if it should be the default one.
   o  When shutting down, kill protocol in reverse order
      of their priority.
   o  When stopping a protocol down, disconnect it from
      routing tables immediately instead of waiting
      for the delayed protocol flush event.

Also added a protocol instance counter (used by KRT code
in very magic ways).
1999-08-03 19:31:54 +00:00
Martin Mares
b6628a8c98 Added macros for walking lists backwards. 1999-08-03 19:31:30 +00:00
Martin Mares
9a706f32af Added missing structure declarations. 1999-08-03 19:31:11 +00:00
Martin Mares
8edf2361f9 Cleaned up handling of interface patterns:
o  Parsing of interface patterns moved to generic code,
      introduced this_ipatt which works similarly to this_iface.
   o  Interface patterns now support selection by both interface
      names and primary IP addresses.
   o  Proto `direct' updated.
   o  RIP updated as well, it also seems the memory corruption
      bug there is gone.
1999-08-03 19:30:49 +00:00
Martin Mares
9273035403 Changes to interface handling on traditional Unices:
o  Aliases are interpreted as secondary addresses.
  o  When the system doesn't supply interface indices, generate
     our ones.
1999-08-03 19:30:20 +00:00
Martin Mares
5e13ffe6f4 Faster checksum function. 1999-08-03 19:29:57 +00:00
Martin Mares
913f7dc9f2 Added functions for parsing and formatting of dates. 1999-08-03 19:29:27 +00:00
Pavel Machek
6542ece91a Function calling in filters works - somehow. Calling syntax is
currently very ugly, beware. Variables are not really local - that
needs to be fixed.
1999-07-01 09:11:21 +00:00
Ondrej Filip
39369d6fbe Fixed stupid bug with hello vs inactim timers. 1999-06-02 16:31:13 +00:00
Ondrej Filip
bae0f7dbb1 Neigbor deleting done. (I have some problems with timers, so it does not
send hello.)
1999-06-01 17:29:56 +00:00
Ondrej Filip
cd70d93470 Detecting of new neighbor added. It starts inactivity timer. 1999-06-01 16:35:18 +00:00
Martin Mares
bd7f1081f2 Grrr, the "obvious fix" to multicasting code from yesterday was
fundamentally wrong. Reversed.
1999-06-01 15:31:43 +00:00
Martin Mares
3e1f30610e Defined IP_PREC_INTERNET_CONTROL and made all (well, both :)) protocols
use it when creating sockets.
1999-06-01 13:57:24 +00:00
Pavel Machek
9de840bdbd Set corectly destination address for RIP multicast. Broadcasting &
multicasting rip actually works [broadcasting is kind of hard to turn
it on, through].
1999-05-31 20:34:48 +00:00
Pavel Machek
b94bbe0027 Added FIXME: mode broadcast randombly corrupts memory.
Small cleaning and bugfixes.
1999-05-31 20:30:16 +00:00
Martin Mares
c7208da0b7 Fix potential multicasting bug. 1999-05-31 20:28:46 +00:00
Pavel Machek
9607536dbf Kill duplicity between rif and rif_patt. 1999-05-31 19:43:08 +00:00
Pavel Machek
72efa4b6f8 Small fixes to rip. 1999-05-31 19:37:16 +00:00
Pavel Machek
bf97bd2827 Cleanup of warnings 1999-05-31 19:22:40 +00:00
Pavel Machek
91c7c7416b Incoming side of authentication done but untested. Right handling of
filters in rip.
1999-05-31 19:16:22 +00:00
Pavel Machek
2e6197d634 Added password_strncpy() which pads destination with zeros. 1999-05-31 19:15:52 +00:00
Pavel Machek
9c9e49ac39 Added extended attributes for rip. 1999-05-31 19:15:32 +00:00
Ondrej Filip
c72b09c850 IP socket priority (sock->tos) added. Constant taken from tcpdump of CISCO
and gated.
1999-05-31 19:07:31 +00:00
Ondrej Filip
35ff423d54 Some RX_Hello checks added. 1999-05-31 18:56:20 +00:00
Martin Mares
bb027be1e2 Added extra argument to rt_update hook which contains a pointer to the
temporary attribute list.
1999-05-31 18:55:35 +00:00
Ondrej Filip
75b84c34e3 Sending and receving of hello pkts works. No I will start building neighbor
database.
1999-05-31 18:24:54 +00:00
Martin Mares
4a4911a36a Added missing quotes. 1999-05-31 17:39:44 +00:00
Pavel Machek
10915c9650 Modified rip to new password handling in nest. Now it at least compiles. 1999-05-31 17:12:38 +00:00
Pavel Machek
900d5470ae Added PASSIVE option to paswwords. 1999-05-31 17:12:00 +00:00
Martin Mares
139ca21d05 Added sk_send_buffer_empty(). 1999-05-31 13:21:07 +00:00
Pavel Machek
fd5f8704bb Make rip use newly defined password lists. 1999-05-26 14:37:47 +00:00
Pavel Machek
858a717796 Change format of passwords (less ;'s) and fix password.h to allow
multiple inclusions.
1999-05-26 14:37:07 +00:00
Pavel Machek
7eb01479c9 Example of password list usage. 1999-05-26 14:36:34 +00:00
Pavel Machek
1a2ded450e Skeleton for password handling, currently I only build structures and
do nothing more advanced for them
1999-05-26 14:24:57 +00:00
Pavel Machek
9d79fec8dc Added notion of datetime 1999-05-26 14:24:32 +00:00
Pavel Machek
6bd08d017b Better date/time input methods need to be done 1999-05-26 14:22:41 +00:00
Ondrej Filip
903a3f3928 struct ospf_neigbor corrected. 1999-05-24 21:49:22 +00:00
Ondrej Filip
c76674f0e9 struct ospf_neigbor added. Neigbor state machine implementation can start. 1999-05-24 21:17:16 +00:00
Ondrej Filip
65112dd270 ifa->time split into wait_timer and hello_timer. I will send hello in WAITING state. 1999-05-24 18:22:00 +00:00
Ondrej Filip
daeb60393d Small bug in ipv4_skip_header. 1999-05-24 17:37:45 +00:00
Ondrej Filip
b9f8590025 IP header test added. 1999-05-24 17:29:05 +00:00
Martin Mares
4b0d57e531 Added CONFIG_MULTIPLE_TABLES whereever appropriate. 1999-05-21 14:29:44 +00:00
Martin Mares
1c3c9dceb3 Removed one unused structure field. 1999-05-21 14:29:23 +00:00
Martin Mares
a70693ca9b Don't forget to export CPPFLAGS to GCC. :) 1999-05-21 14:28:44 +00:00
Martin Mares
a07e9d8235 Added --with-sysinclude to allow explicitly setting where kernel includes
reside, so that you can easily switch between 2.0 and 2.2 ones.

Check existence of <linux/rtnetlink.h> for linux-22 configs to make sure
we're using the correct set of includes.
1999-05-21 14:09:06 +00:00
Martin Mares
4f1a6d27b9 Kill remaining master_table relics in KRT code.
Make all protocols pass routing table to rte_update and rte_discard.
1999-05-17 20:16:53 +00:00
Martin Mares
0e02abfd57 From now we support multiple tables. The master_table variable is
definitely gone. Both rte_update() and rte_discard() have an additional
argument telling which table should they modify.

Also, rte_update() no longer walks the whole protocol list -- each table
has a list of all protocols connected to this table and having the
rt_notify hook set. Each protocol can also freely decide (by calling
proto_add_announce_hook) to connect to any other table, but it will
be probably used only by the table-to-table protocol.

The default debugging dumps now include all routing tables and also
all their connections.
1999-05-17 20:14:52 +00:00