980297d289
Fixed a couple of bugs in static protocol. All static routes except device
...
ones seem to work well.
1998-12-08 18:31:31 +00:00
618533af91
Added source RTS_DUMMY for temporary routes. They should never appear
...
in the main table.
1998-12-08 18:30:35 +00:00
f39e4713c2
Rewritten kernel syncer. Now uses the rta trickery I've introduced yesterday
...
and does things "the right way". Few things are still missing (device
routes etc.), I'll add them later in the evening.
1998-12-08 16:20:13 +00:00
04925e9040
Minor rte/rta interface changes:
...
o rte can now contain a pointer to both cached and uncached rta. Protocols
which don't need their own attribute caching can now just fill-in a rta,
link it to rte without any calls to attribute cache and call rte_update()
which will replace rte->attrs by a cached copy.
o In order to support this, one of previously pad bytes in struct rta
now holds new attribute flags (RTAF_CACHED). If you call rte_update()
with uncached rta, you _must_ clear these flags. In other cases rta_lookup()
sets it appropriately.
o Added rte_free() which is useful when you construct a rte and then the
circumstances change and you decide not to use it for an update. (Needed
for temporary rte's in kernel syncer...)
1998-12-07 21:59:15 +00:00
cdc6bfa70f
Comparison of kernel reject routes fixed.
1998-12-07 10:16:15 +00:00
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
f6bd206607
All static routes except for device ones should work and appear/disappear
...
when their destination comes on/off link. Deserves better testing :)
See example in bird.conf.
1998-12-06 23:13:31 +00:00
78d06cf2bc
Removed protocol-specific data in rte for protocol static since no
...
such data ever existed.
1998-12-06 23:11:47 +00:00
436965d25e
Aesthetic fix for neighbor cache debug dump.
1998-12-06 23:11:18 +00:00
89d2355d3d
Added new rule for prefix length / netmask.
1998-12-06 23:10:45 +00:00
cc12cf05c7
cf_error() now accepts any format strings instead of just an error
...
message. Also added extra kludge to get rid of collisions of REJECT
symbols.
1998-12-06 23:10:28 +00:00
a1bf6440b5
Added skeleton of static route protocol.
1998-12-06 18:21:23 +00:00
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
0846203e89
Fixed bug in CF_ADDTO. How it's possible it has ever worked?
1998-12-06 17:39:08 +00:00
166b9c4912
Added rule "bool" for boolean switches.
1998-12-06 17:38:42 +00:00
b35d72ac66
Name cleanups as suggested by Pavel:
...
- cfg_strcpy() -> cfg_strdup()
- mempool -> linpool, mp_* -> lp_* [to avoid confusion with memblock, mb_*]
Anyway, it might be better to stop ranting about names and do some *real* work.
1998-12-06 11:59:18 +00:00
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
9b999c393c
Infinity is now configurable ammount.
1998-12-01 16:17:10 +00:00
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
66efdf962a
Handle disabled protocol instances.
1998-11-29 22:01:33 +00:00
ed45f2e126
Added functions for manipulating interface name pattern lists:
...
o iface_patt_match(list, iface) -- match interface against list
o iface_patts_equal(a, b, c) -- compare whether two pattern lists are
equal or not. c(x,y) is called for comparison of protocol-dependent
data.
1998-11-29 22:01:03 +00:00
49e4a4d1fd
Created new functions for allocating configuration data:
...
o cfg_alloc(size) -- generic memory allocation
o cfg_allocu(size) -- unaligned memory allocation
o cfg_allocz(size) -- zeroed memory allocation
o cfg_strcpy(str) -- allocate a copy of a string
Also fixed a bug in lexing of string literals.
1998-11-29 21:59:37 +00:00
5cd462f291
wc -l TODO
decreased.
1998-11-29 14:51:47 +00:00
dee929d868
Added function for shell-like pattern matching. Will be used for
...
matching interface names in protocol-to-iface bindings.
1998-11-29 14:47:24 +00:00
bd5d0d62f1
Allow setting debug value and `disabled' flag in protocol definition.
1998-11-29 14:40:39 +00:00
0cf86f0fc3
Renamed DEBUG' symbol to
DEBUGGING' to prevent collisions with token
...
names and include files.
1998-11-29 14:38:34 +00:00
7af99789c7
Oops, forgot to remove a debugging kludge.
1998-11-27 21:34:03 +00:00
0b62c3a7c7
Trivial 15-line bison excercise: Implemented expressions including
...
user-defined numeric symbols. Whenever possible, use `expr' instead
of `NUM' to get full express ion power :-)
1998-11-27 21:32:45 +00:00
c74c0e3cdf
First attempt at protocol configuration (now done only for RIP).
1998-11-27 21:09:57 +00:00
93fb60d54c
Fixed few misspellings and exported instance init as rip_init_instance().
1998-11-27 21:08:37 +00:00
8450be97d6
Added generator of default names.
1998-11-27 21:07:02 +00:00
906b0170a4
Experimental config file.
1998-11-27 19:39:16 +00:00
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