Martin Mares
12df4d909b
KRF_* flags moved to krt.h as they are internal to kernel syncer,
...
fib->pad0,pad1 renamed to x0,x1 and in case of struct net x0 is reserved
for kernel syncing as well.
1998-12-07 10:15:42 +00:00
Martin Mares
980ffedbb0
Kernel syncer is now configurable. It will probably need some more
...
options, but at least basic tuning is possible now.
1998-12-06 17:40:42 +00:00
Martin Mares
0cf86f0fc3
Renamed DEBUG' symbol to
DEBUGGING' to prevent collisions with token
...
names and include files.
1998-11-29 14:38:34 +00:00
Martin Mares
c74c0e3cdf
First attempt at protocol configuration (now done only for RIP).
1998-11-27 21:09: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
3cef8c706c
Added path to config file.
1998-11-27 19:28:29 +00:00
Martin Mares
9158ca99f7
Complain loudly if the logging buffer would overflow.
1998-11-16 21:41:21 +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
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
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
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
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
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
93f1c532e9
Moved scanning of interfaces, so that they get initialized after all
...
routing protocol instances.
1998-10-14 13:38:17 +00:00
Martin Mares
c93214d442
o There are cases when SIOCGIFINDEX is defined, but it doesn't work. When
...
this happens, don't reject the whole interface, just mark it as index 0.
o Removed Pavel's comment about EFAULT and SIGSEGV. EFAULT is a valid return
code for cases where the buffer is too small.
o Commented out the smart interface list size logic temporarily as it seems
Linux 2.0 SIOCGIFCONF doesn't react to ifc_req==NULL sanely. Replaced it
by exponential stepping.
1998-10-13 19:57:33 +00:00
Pavel Machek
fdf33cde1c
Strange, on atrey ioctl() does not fill structure, and bird segfaults
...
on it. Now we "only" die().
1998-10-13 14:59:46 +00:00
Martin Mares
c25e90efed
Added comment explaining `now'.
1998-07-15 19:42:23 +00:00
Martin Mares
28a9a189d7
Replaced remaining references of clock_t by bird_clock_t.
1998-07-10 08:32:18 +00:00
Pavel Machek
86b0023033
Making SIGUSR1 dump also all protocols.
1998-07-09 19:37:39 +00:00
Martin Mares
9556f22585
debug() and log() use the new printf. Feel free to use new formatting
...
sequences for all output.
1998-06-17 14:33:29 +00:00
Martin Mares
5331da6a4d
Fixed processing of timers.
1998-06-04 20:27:49 +00:00
Martin Mares
fd50083df4
Killed socket debug code. Initialize config pool and protocols.
...
More to come later...
1998-06-03 08:43:44 +00:00
Martin Mares
869c695998
Synced to new interface code.
1998-06-01 21:41:32 +00:00
Martin Mares
af847acc27
Whee, multicast sockets work!
...
Implemented recurrent timers.
1998-05-26 21:46:38 +00:00
Martin Mares
140f034105
Added CONFIG_AUTO_ROUTES (automatic device route creation) and
...
CONFIG_ALL_MULTICAST (all interfaces capable of multicasting, not depending
on IFF_MULTICAST flag).
1998-05-26 21:44:54 +00:00
Martin Mares
8a48ecb8b1
Implemented scanning of network interfaces. Mostly very ugly code due to
...
terrible kernel interface (SIOGIFCONF and friends).
1998-05-26 21:42:05 +00:00
Martin Mares
b5d9ee5c87
Added UNIX implementation of both timers and sockets. Timers should work,
...
sockets were tested only in TCP mode. main.c now contains some test
cases for socket code.
1998-05-24 14:50:18 +00:00
Martin Mares
a2ccbb0b97
Implemented timers. Using bird_clock_t for absolute time from now...
1998-05-24 14:40:29 +00:00
Martin Mares
2326b001d6
Added routing table and routing attribute code.
1998-05-20 11:54:33 +00:00
Martin Mares
25697773b5
The library is now glued together from generic and OS-dependent parts
...
by the `mergedirs' script. Few more IP address manipulation functions
and some fixes.
1998-05-15 07:56:13 +00:00
Martin Mares
18c8241a91
BIRD library: The story continues.
...
Complete resource manages and IP address handling.
1998-05-03 16:43:39 +00:00
Martin Mares
6032aa6ade
Added new subdir for UNIX-dependent files.
...
Now contains only functions for logging, but it will change soon.
1998-05-03 16:42:08 +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