Martin Mares
906b0170a4
Experimental config file.
1998-11-27 19:39:16 +00:00
Martin Mares
b4712244a0
Dummy grammar for RIP configuration. Now empty, but must be here since
...
it's referenced in the makefiles.
1998-11-27 19:38:30 +00:00
Martin Mares
da87782278
Parser fragment for the core. Now handles only router ID setting.
1998-11-27 19:37:57 +00:00
Martin Mares
70591fa064
Compile and use the new configuration code by default.
1998-11-27 19:37:07 +00:00
Martin Mares
f142750d34
Base of the parser.
1998-11-27 19:36:06 +00:00
Martin Mares
82fc7be7bb
Lexical analyser.
1998-11-27 19:35:50 +00:00
Martin Mares
fe7cec12e8
Replaced nest/confile.h by conf/conf.h, added a lot of new definitions.
1998-11-27 19:35:10 +00:00
Martin Mares
ce6ca80926
This script takes configuration fragments and generates full Bison grammar
...
from them.
1998-11-27 19:33:53 +00:00
Martin Mares
882c588a40
This script takes configuration fragments and extracts keyword list
...
from them.
1998-11-27 19:33:26 +00:00
Martin Mares
d2ed2579fa
Now merges configuration fragments (*.Y) as well.
1998-11-27 19:31:41 +00:00
Martin Mares
dfeef5d8bb
Implemented ip_pton()
1998-11-27 19:29:27 +00:00
Martin Mares
a3afae585a
Removed prototype of rp_free() since this function has never existed.
1998-11-27 19:29:00 +00:00
Martin Mares
3cef8c706c
Added path to config file.
1998-11-27 19:28:29 +00:00
Martin Mares
4254dc45e7
Killed bug in processing of 'h' prefix. Patch taken from linux-2.1.129.
1998-11-21 10:25:34 +00:00
Martin Mares
9158ca99f7
Complain loudly if the logging buffer would overflow.
1998-11-16 21:41:21 +00:00
Martin Mares
53a416d376
Implemented snprintf and similar functions. It took a lot of thinking,
...
but the modifications were relatively simple and straightforward.
1998-11-16 21:40:35 +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
Martin Mares
dafd580ed9
Previous fix was wrong.
1998-10-26 15:24:32 +00:00
Martin Mares
db6984c43c
rte_update: Doesn't loop forever when multiple routes point to the same
...
destination.
1998-10-26 15:01:04 +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
Martin Mares
756b86dea3
Learn static device routes from the kernel (temporary until we can make
...
such things configurable).
1998-10-20 16:39:04 +00:00
Pavel Machek
feb6abe009
RIP now actually talks to itself.
1998-10-20 16:12:43 +00:00
Martin Mares
8ca8683c70
Beware the NULL route, my son... The bugs that bite, the BIRDs that crash :-)
1998-10-20 15:47:02 +00:00
Martin Mares
acc62f5e1d
Insert/remove hooks return void, not int.
1998-10-20 15:17:38 +00:00
Martin Mares
a0762910a6
Added pointer to network to RTE. The complications with passing NET separately
...
aren't worth 4 bytes per RTE.
rte_discard and rte_dump don't need net * as parameter.
1998-10-20 15:13:18 +00:00
Martin Mares
b6903c948b
Updated TODO.
1998-10-19 18:18:12 +00:00
Martin Mares
7d83290780
Generate router_id automatically if possible (standard "smallest of local
...
regular interface addresses" rule).
Protocols should NOT rely on router_id existence -- when router ID is not
available, the router_id variable is set to zero and protocols requiring
valid router ID should just refuse to start, reporting such error to the log.
1998-10-19 18:13:36 +00:00
Martin Mares
0804525255
Basic kernel routing table syncing implemented. Learning of routes installed
...
by other programs or the kernel itself is not supported yet, but it's not
needed for development of other protocols.
1998-10-19 17:52:29 +00:00
Martin Mares
567e6c6220
Use (SOCK_DGRAM,IPPROTO_IP) socket instead of (SOCK_STREAM,IPPROTO_TCP).
...
This is exactly what Linux ifconfig does and seems to be the preferred way.
1998-10-19 17:48:45 +00:00
Martin Mares
4cf45766ba
Exporting fill_in_sockaddr() for use by other unix-dependent code.
1998-10-19 17:47:50 +00:00
Martin Mares
36f2caf147
Fixed generation of device routes for unnumbered point-to-point links.
1998-10-19 17:46:45 +00:00
Martin Mares
f184ea6f7e
Proto struct now contain (down | starting | up) state.
1998-10-19 17:45:29 +00:00
Martin Mares
16a8ba30a9
We parse /proc/net/route and flag RT entries according to it. More to come
...
today in the morning...
1998-10-18 22:25:56 +00:00
Martin Mares
4c45595e3b
o FIB flags now available for FIB users.
...
o struct network: FIB flags used for kernel syncing.
o struct network: `next' field deleted (historical relic).
1998-10-18 22:24:41 +00:00
Martin Mares
ab3a76a382
Added ipa_from_u32 and ipa_from_u32 for use in the kernel sync code (IPv4 only).
...
Don't ever think of using it in routing protocols.
1998-10-18 22:22:28 +00:00
Martin Mares
7e7790c61f
Since almost every UNIX system requires different techniques for reading
...
the kernel routing table as opposed to modifying it which is approximately
the same on non-netlink systems, I've split the kernel routing table
routines to read and write parts. To be implemented later ;-)
1998-10-18 12:50:43 +00:00
Martin Mares
8b1688177b
* Please distinguish between DGB() and debug().
1998-10-18 12:48:15 +00:00
Martin Mares
3629bcf0c7
Preconfig, postconfig and init hooks can be NULL.
1998-10-18 12:26:02 +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
05e56feb57
Removed global pointer to proto_dev.
1998-10-18 11:50:36 +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
570ce189d7
Implemented `route last modified' time.
1998-10-18 10:49:46 +00:00
Martin Mares
2a900b1b15
Fixed misleading comment.
1998-10-17 11:26:28 +00:00
Martin Mares
7f3d198df1
Each protocol now hears even its own routes and needs to make its own
...
loop detection. This is needed since both RIP and OSPF handle multiple
neighbors and they need to redistribute routes learned from each neighbor
to the remaining ones.
1998-10-17 11:24:13 +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
d92882be9b
WALK_LIST_DELSAFE now actually works (it really couldn't since it didn't
...
reference list head at all).
1998-10-17 11:02:39 +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
Martin Mares
93f1c532e9
Moved scanning of interfaces, so that they get initialized after all
...
routing protocol instances.
1998-10-14 13:38:17 +00:00
Pavel Machek
cf3934c569
Lists: unneccessary test killed, make code friendly to non-gcc.
1998-10-14 13:27:53 +00:00