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
4ba84ebc82
Slightly better generator of default protocol instance names.
1999-03-26 21:37:29 +00:00
Martin Mares
529c414953
Allow input and output filters (only accept/reject style as we didn't define
...
modifying filters yet) to be attached to protocol instances.
1999-03-17 14:31:26 +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
Ondrej Filip
c1f8dc9149
Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF.
1999-03-09 22:27:43 +00:00
Martin Mares
b2280748ad
Introduced protocol priority (all 'normal' protocols should use the
...
default zero priority). No more "kernel syncer initialized before
device routes" problems.
1999-03-03 19:33:54 +00:00
Martin Mares
1b769b08c1
Renamed struct rtattr to struct rta to make things more consistent and
...
avoid namespace clashes with <linux/rtnetlink.h>. Other files should
not be affected since they use 'rta' directly.
1999-03-01 20:13:54 +00:00
Martin Mares
f4aabcee62
Perform gracious shutdown upon receipt of SIGTERM. Finally we can
...
test the whole protocol shutdown code... :)
1999-02-13 20:15:36 +00:00
Martin Mares
64011f898c
struct proto again contains instance name (a copy of proto->cf->name).
1999-02-11 22:45:54 +00:00
Martin Mares
31b3e1bbf5
Implemented new configuration/reconfiguration interface and defined protocol
...
state machines. Full explanation will follow soon.
1999-02-05 21:37:34 +00:00
Martin Mares
a1bf6440b5
Added skeleton of static route protocol.
1998-12-06 18:21:23 +00:00
Martin Mares
50d8424ad1
Added configuration of the device internal protocol. This is primarily
...
intended to serve as an example of interface pattern list use. As a side
effect, you can disable generating of device routes by disabling
this protocol.
1998-11-29 22:03:58 +00:00
Martin Mares
bd5d0d62f1
Allow setting debug value and `disabled' flag in protocol definition.
1998-11-29 14:40:39 +00:00
Martin Mares
acc62f5e1d
Insert/remove hooks return void, not int.
1998-10-20 15:17:38 +00:00
Martin Mares
f184ea6f7e
Proto struct now contain (down | starting | up) state.
1998-10-19 17:45:29 +00:00
Martin Mares
0432c0173b
Split protocol init to building of protocol list and real protocol init.
...
Added kernel route table syncer skeleton.
1998-10-18 11:53:21 +00:00
Martin Mares
5b22683d2f
After contemplating about RIP route timeouts for a long time, I've implemented
...
protocol callbacks for route insertion and deletion from the central table.
RIP should maintain its own per-protocol queue of existing routes, scan it
periodically and call rte_discard() for routes that have timed out.
1998-10-18 11:13:16 +00:00
Martin Mares
47b793064c
Solve chicken-and-egg problems with protocol startup. We now queue all inactive
...
protocols and don't send route/interface updates to them and when they come up,
we resend the whole route/interface tables privately.
Removed the "scan interface list after protocol start" work-around.
1998-10-17 11:05:18 +00:00
Martin Mares
8c43696da0
Route update hook now gets network prefix as well as updated
...
route attributes.
1998-08-31 21:13:42 +00:00
Pavel Machek
87d2be86e5
Adding proto_dump_all() function
1998-07-09 19:36:52 +00:00
Martin Mares
a5f1a60e02
Changed protocol declarations a bit.
1998-06-03 08:38:06 +00:00
Martin Mares
4cc78c5082
- Rewrote whole interface logic. Removed support for multiple addresses per
...
interface since it makes much trouble everywhere. Instead, we understand
secondary addresses as subinterfaces.
- In case interface addresses or basic flags change, we simply convert it
to a down/up sequence.
- Implemented the universal neighbour cache. (Just forget what did previous
includes say of neighbour caching, this one is brand new.)
1998-06-01 21:41:11 +00:00
Martin Mares
2326b001d6
Added routing table and routing attribute code.
1998-05-20 11:54:33 +00:00
Martin Mares
a8b6038225
Next attempt on data structures...
1998-05-03 16:42:45 +00:00
Martin Mares
1feea03e74
Changed #include <x/y> to #include "x/y" for our local includes, so that
...
gcc -MM can be used to separate them from the system ones.
Added automatic generation of dependencies.
1998-04-28 14:39:34 +00:00
Martin Mares
58ef912c6b
First look at data structures. More to come tomorrow...
1998-04-22 12:58:34 +00:00