Commit graph

184 commits

Author SHA1 Message Date
Pavel Machek 7f704c06d8 Cleanup in preparation for ipv6. 2000-04-26 11:07:57 +00:00
Pavel Machek 3d0ea3a7c3 Fix of comment. 2000-04-07 09:02:17 +00:00
Martin Mares dad177d7e0 RIP: Set attribute class. 2000-04-01 10:20:12 +00:00
Martin Mares ac4b4683ae Removal of useless includes continues... 2000-03-31 23:40:00 +00:00
Martin Mares a37410cbdd Use bsprintf() instead of sprintf(). 2000-03-31 23:33:03 +00:00
Martin Mares 221135d6bf Include "lib/string.h" instead of <string.h>. It should give us bzero()
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00
Pavel Machek 8d2e3eba92 Cross-protocol issues solved better 2000-03-29 08:58:06 +00:00
Pavel Machek d0031c5ee9 Use neigh_connected_to in rip, and behave more correctly
w.r.t. whotoldme and nexthop.
2000-03-27 12:21:11 +00:00
Pavel Machek 6480dd0880 I broke compilation. Sorry. 2000-03-26 21:31:57 +00:00
Pavel Machek 8c86f96fa6 Split horizont done right.
Locks done better.
2000-03-26 18:01:27 +00:00
Pavel Machek 772f489932 Minor change to make code more readable. 2000-03-23 12:08:40 +00:00
Pavel Machek ff8ed63285 Rip now tries to lock interface.
Fixed fatal errors which caused segfault at startup.

Fixed fatal errors in rip which caused it not to send more than first
update.
2000-03-22 14:26:03 +00:00
Pavel Machek 856b87d1e4 Cleanup, mostly debugging messages. 2000-03-13 13:31:00 +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
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 ef0883a12f Adapted RIP to new interface flags. Pavel, please verify it's right. 2000-02-29 23:20:55 +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 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 6aea8905c4 TODO entries and FIXME's. 1999-12-16 12:18:33 +00:00
Pavel Machek dff1f57917 Added hooks for show route.
Fixed passing metrics around routing tables.
1999-12-08 13:33:44 +00:00
Pavel Machek 4d4de35f00 Fix timing and fix endianity in metrics. 1999-12-08 12:51:45 +00:00
Pavel Machek e7f76bae8c Stupid bug (essentially while(1) loop) occuring sometimes during start
of bird fixed.
1999-12-01 13:44:42 +00:00
Pavel Machek 639e628554 Actually check sequence numbers. 1999-12-01 12:52:57 +00:00
Pavel Machek 1a509a6310 md5 authentication seems to work. 1999-11-25 15:03:12 +00:00
Pavel Machek d3702d57fd 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.
1999-11-25 14:54:08 +00:00
Pavel Machek 7e61cac325 Triggered updates should now actually work. Fixed metric=16 -> time it
out logic.
1999-11-25 13:38:25 +00:00
Pavel Machek 774f149959 Fix timeouts. Triggered updates are not done, yet. 1999-11-25 12:01:45 +00:00
Martin Mares ea9bb932a3 Commented out nexthop selection, see the comment. 1999-11-17 11:16:15 +00:00
Pavel Machek 3918b1b050 Added timeout for routes (which means proper expiring of routes) added
few fixmes.
1999-11-10 11:52:36 +00:00
Pavel Machek a5b583f20a FIXME's updated. One fixme is remaining for correct RIPv4. Wow. 1999-11-04 14:39:51 +00:00
Pavel Machek 7bf19253d0 Reject packets which are not authenticated.
Set correct nexthop on outgoing packets.
1999-11-04 14:26:18 +00:00
Pavel Machek f942a589ef FIXME's for rip added.
Will we ever able to generate packets saying "route 1.2.3.4 using someone else"?
1999-10-12 13:04:50 +00:00
Martin Mares 89dc383a8c Changed syntax of ip_class_mask, the old one was stupid. 1999-10-12 07:46:08 +00:00
Pavel Machek c79ec2ec19 Untested IPv6 support added. I do not know if it compiles in IPV6 mode. 1999-10-11 14:19:29 +00:00
Pavel Machek ac40c888c2 Obvious bugs in authentication fixed. 1999-10-02 10:44:48 +00:00
Pavel Machek bce8a34b12 Few fixme's fixed in rip (will not crash any more on request for
sending routing table - hopefully).

Next few steps in md5 authentication (not yet complete).
1999-08-18 13:19:33 +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
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 91c7c7416b Incoming side of authentication done but untested. Right handling of
filters in rip.
1999-05-31 19:16:22 +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
Pavel Machek fd5f8704bb Make rip use newly defined password lists. 1999-05-26 14:37:47 +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
Pavel Machek 1b16029c12 Mensi updaty do ripu. Pridana passwd autentikace (netestovano). 1999-05-11 09:53:45 +00:00
Martin Mares 9a158361da I rewrote the interface handling code, so that it supports multiple
addresses per interface (needed for example for IPv6 support).

Visible changes:

o  struct iface now contains a list of all interface addresses (represented
   by struct ifa), iface->addr points to the primary address (if any).
o  Interface has IF_UP set iff it's up and it has a primary address.
o  IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED
   in the protocols; I've added this, but please check).
o  The if_notify_change hook has been simplified (only one interface pointer
   etc.).
o  Introduced a ifa_notify_change hook. (For now, only the Direct protocol
   does use it -- it's wise to just listen to device routes in all other
   protocols.)
o  Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway).
o  Updated all the code except netlink (I'll look at it tomorrow) to match
   the new semantics (please look at your code to ensure I did it right).

Things to fix:

o  Netlink.
o  Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
1999-05-06 21:38:11 +00:00
Pavel Machek 36bbfc704c Updated filters: they now actually see IP/pxlen of net being filtered,
gateway, and who told us, so they can do usefull jobs from now on.
1999-04-19 18:41:56 +00:00
Pavel Machek afbc41ab3d SImplify code a tiny bit. 1999-04-14 21:11:24 +00:00
Martin Mares 08e2d6259a Removed TOS support. This simplifies many things a lot. 1999-04-12 18:01:07 +00:00
Martin Mares 6c02d83f4d Added FIXME: If a strange interface appears, ignore it instead of only
writing an error message...
1999-03-29 19:56:32 +00:00
Martin Mares 7dc4827c96 Added everything protocols need to know about multiple routing tables,
i.e. struct proto now contains field 'table' pointing to routing table
the protocol is attached to. Use this instead of &master_table.

Modified all protocols except the kernel syncer to use this field.
1999-03-26 21:50:43 +00:00
Martin Mares c612a3be31 Removed the `rta_same' hook since it's no longer needed (all protocols
needing some local information should use extended attrs and cached
rta's).
1999-03-17 13:13:18 +00:00
Pavel Machek 9a38757c6a Initialize pointers to functions so that code is actually alive. 1999-03-17 13:05:25 +00:00
Pavel Machek 29df5739c4 Don't segfault on unknown interface. 1999-03-17 10:20:23 +00:00
Pavel Machek 05a845ed8e Avoid segfault 1999-03-02 19:49:22 +00:00
Pavel Machek c748cdb9ec Hopefully ended translating to new interface 1999-03-01 21:18:01 +00:00
Pavel Machek 293e313ec9 More rip fixes (config data moved to struct rip_proto_config), still
not tested.
1999-02-15 13:34:43 +00:00
Martin Mares d1f7eab6b5 Parameter order for the proto->if_notify hook was different in the include
file and different in reality. Decided to use the same order as we do
for proto->rt_notify (i.e., first new value and second the old one).
1999-02-13 21:58:53 +00:00
Martin Mares ab749558a2 Pass new argument to FIB_ITERATE_END. 1999-02-13 19:14:16 +00:00
Pavel Machek edf62ba13f Propagate depend into all subdirectories; make rip compile after
latest mj's changes.
1999-02-08 22:50:32 +00:00
Pavel Machek 663683a575 Make it compile again (stupid makefiles!), make quiet option work
(multicast/broadcast options are currently unimplemented).
1999-01-12 16:50:38 +00:00
Pavel Machek 50e89a6ea2 Patterns expanded in the right way 1999-01-12 16:40:55 +00:00
Pavel Machek 6996f459c6 Bird now uses fib structure instead of linklist. 1998-12-22 19:41:04 +00:00
Martin Mares 852fc0af31 log(), die() and bug() messages shound NOT contain trailing newlines. 1998-12-20 14:29:06 +00:00
Martin Mares ee969ea7f4 Added #if 0 to rip_postconfig(), so that it doesn't crash whole daemon
when RIP is unconfigured.

die() -> bug()
1998-12-20 14:26:57 +00:00
Pavel Machek 02933ddbbe debug() -> DBG() in rip. 1998-12-09 20:08:57 +00:00
Pavel Machek 06fa1453cd Initial multicast support (can not work, but skeleton is there) 1998-12-09 15:22:40 +00:00
Pavel Machek 2d9290e973 Rip now has configurable per-interface metric (please rewiev), and few
more configurable parameters. To do that, union was added into iface_patt.
1998-12-04 11:45:51 +00:00
Pavel Machek 9b999c393c Infinity is now configurable ammount. 1998-12-01 16:17:10 +00:00
Martin Mares 93fb60d54c Fixed few misspellings and exported instance init as rip_init_instance(). 1998-11-27 21:08:37 +00:00
Pavel Machek c3e9b2ab24 RIP now includes notion of interface, and is correctly talking to
itself on second host. Split horizont is broken.
1998-10-26 15:35:19 +00:00
Pavel Machek dc7c7494e3 RIP _NOW_ actually talks to itself (workaround core bug: send data
from other port than we receive at), few FIXME's added.
1998-10-20 16:45:53 +00:00
Pavel Machek feb6abe009 RIP now actually talks to itself. 1998-10-20 16:12:43 +00:00
Pavel Machek c05ea56f8e rip should now correctly listen, but entries will not time out. 1998-10-17 10:25:22 +00:00
Pavel Machek 8333431c4d Rip: rip_rta_same added. 1998-10-15 15:12:24 +00:00
Pavel Machek 21580e304f I prefer to have broken drivers than completely stupid ones...
Linus Torvalds

Rip now uses main routing table properly: entries are stored directly
into main routing table and we are relying on core to call our's
compare. That unfortunately broke garbage collecting (and probably
many more things). It compiles.
1998-10-13 14:32:18 +00:00
Pavel Machek 1d941de47a RIP now somehow listens to main routing table (dont expect it to work) 1998-10-07 19:33:50 +00:00
Pavel Machek bf65d27dea Bird's info are now understood by ripquery. 1998-07-30 07:43:45 +00:00
Pavel Machek 279f4c7b7b Rip now includes code to reply, but it is currently broken. 1998-07-28 21:44:11 +00:00
Pavel Machek a103373f61 Commiting RIP. RIP should somehow listen, will not reply. I needed to
commit it so that whole thing compiles.
1998-07-09 19:39:04 +00:00