1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

1619 Commits

Author SHA1 Message Date
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
da87782278 Parser fragment for the core. Now handles only router ID setting. 1998-11-27 19:37:57 +00:00
70591fa064 Compile and use the new configuration code by default. 1998-11-27 19:37:07 +00:00
f142750d34 Base of the parser. 1998-11-27 19:36:06 +00:00
82fc7be7bb Lexical analyser. 1998-11-27 19:35:50 +00:00
fe7cec12e8 Replaced nest/confile.h by conf/conf.h, added a lot of new definitions. 1998-11-27 19:35:10 +00:00
ce6ca80926 This script takes configuration fragments and generates full Bison grammar
from them.
1998-11-27 19:33:53 +00:00
882c588a40 This script takes configuration fragments and extracts keyword list
from them.
1998-11-27 19:33:26 +00:00
d2ed2579fa Now merges configuration fragments (*.Y) as well. 1998-11-27 19:31:41 +00:00
dfeef5d8bb Implemented ip_pton() 1998-11-27 19:29:27 +00:00
a3afae585a Removed prototype of rp_free() since this function has never existed. 1998-11-27 19:29:00 +00:00
3cef8c706c Added path to config file. 1998-11-27 19:28:29 +00:00
4254dc45e7 Killed bug in processing of 'h' prefix. Patch taken from linux-2.1.129. 1998-11-21 10:25:34 +00:00
9158ca99f7 Complain loudly if the logging buffer would overflow. 1998-11-16 21:41:21 +00:00
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
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
dafd580ed9 Previous fix was wrong. 1998-10-26 15:24:32 +00:00
db6984c43c rte_update: Doesn't loop forever when multiple routes point to the same
destination.
1998-10-26 15:01:04 +00:00
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
756b86dea3 Learn static device routes from the kernel (temporary until we can make
such things configurable).
1998-10-20 16:39:04 +00:00
feb6abe009 RIP now actually talks to itself. 1998-10-20 16:12:43 +00:00
8ca8683c70 Beware the NULL route, my son... The bugs that bite, the BIRDs that crash :-) 1998-10-20 15:47:02 +00:00
acc62f5e1d Insert/remove hooks return void, not int. 1998-10-20 15:17:38 +00:00
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
b6903c948b Updated TODO. 1998-10-19 18:18:12 +00:00
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
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
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
4cf45766ba Exporting fill_in_sockaddr() for use by other unix-dependent code. 1998-10-19 17:47:50 +00:00
36f2caf147 Fixed generation of device routes for unnumbered point-to-point links. 1998-10-19 17:46:45 +00:00
f184ea6f7e Proto struct now contain (down | starting | up) state. 1998-10-19 17:45:29 +00:00
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
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
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
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
8b1688177b * Please distinguish between DGB() and debug(). 1998-10-18 12:48:15 +00:00
3629bcf0c7 Preconfig, postconfig and init hooks can be NULL. 1998-10-18 12:26:02 +00:00
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
05e56feb57 Removed global pointer to proto_dev. 1998-10-18 11:50:36 +00:00
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
570ce189d7 Implemented `route last modified' time. 1998-10-18 10:49:46 +00:00
2a900b1b15 Fixed misleading comment. 1998-10-17 11:26:28 +00:00
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
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
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
c05ea56f8e rip should now correctly listen, but entries will not time out. 1998-10-17 10:25:22 +00:00
8333431c4d Rip: rip_rta_same added. 1998-10-15 15:12:24 +00:00
93f1c532e9 Moved scanning of interfaces, so that they get initialized after all
routing protocol instances.
1998-10-14 13:38:17 +00:00
cf3934c569 Lists: unneccessary test killed, make code friendly to non-gcc. 1998-10-14 13:27:53 +00:00
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