Commit graph

886 commits

Author SHA1 Message Date
Ondrej Filip
ea31425a61 Patch from David Rohleder <davro@ics.muni.cz> thanx. 2001-04-09 19:15:03 +00:00
Ondrej Filip
32749f493f Hmm, nasty bug, LSUPD was not well flooded via PTP interfaces. :-( 2000-12-14 01:04:51 +00:00
Ondrej Filip
501c5bb03f Small bugfix in ext routes calculation. 2000-11-21 23:47:51 +00:00
Ondrej Filip
52fa3e3869 Fixed many bugs in rt calculation and interface adding. Now it seems to be
OK, I'm going to advertise 1.0.4.
2000-09-04 21:21:34 +00:00
Ondrej Filip
b02e40111e I allocate struct ifa before unlocking. So route exported to OSPF are correct.
I work also with interfaces that have some problems with socket opening.
I declare them as stub.
2000-09-04 19:42:17 +00:00
Ondrej Filip
fdb1998202 Serious bug in ext lsa origination found. Going for 1.0.4. 2000-09-03 22:18:40 +00:00
Ondrej Filip
1e972b5524 Log some unusual situation. 2000-09-03 16:16:33 +00:00
Ondrej Filip
e3bc10fdc4 Added stub interface. (Interface which is propagated to OSPF but
it does not sends nor listens packets.)

I added some new options, please look at it and look into doc if it's OK.
2000-09-02 08:54:40 +00:00
Ondrej Filip
5ddec4e6cf Reconfigure poll interval. 2000-09-02 07:58:05 +00:00
Ondrej Filip
7cedbf217e Reconfiguration for new options. 2000-09-02 00:15:07 +00:00
Ondrej Filip
a190e7200b Added hellos on NBMA networks. (I don't violate RFC now.) 2000-09-02 00:03:36 +00:00
Ondrej Filip
5a063efeea Bugfix in ext lsa importing. 2000-08-28 13:51:13 +00:00
Ondrej Filip
9e2920824e Typo. 2000-08-18 16:47:27 +00:00
Ondrej Filip
f321a61f77 Fixed bug in nex hop calculation of external routes. 2000-08-18 16:44:37 +00:00
Ondrej Filip
88aa2af7ef Just formatting. 2000-08-18 16:36:54 +00:00
Ondrej Filip
28a6e1aa0e Stupid bug in next hop calculation of external routes. 2000-08-17 19:42:52 +00:00
Ondrej Filip
1eec760778 Typo in rte_better. 2000-08-16 20:18:19 +00:00
Ondrej Filip
059fc1e94a My calculation of external routes violated rfc. :-( 2000-08-16 19:37:04 +00:00
Ondrej Filip
d6a7e2fb85 Bug in rte_better. 2000-08-16 19:03:06 +00:00
Pavel Machek
ad3907559c RIP bugfix 2000-06-21 19:40:46 +00:00
Martin Mares
bcbdcbb6ae Don't accept incoming connections when the neighbor is not up. 2000-06-20 07:49:08 +00:00
Ondrej Filip
972fdb4532 Routing table calculation clean up. 2000-06-19 15:12:50 +00:00
Ondrej Filip
365211d588 Bugfix in logging. 2000-06-13 19:03:41 +00:00
Martin Mares
0e376168c5 Shut up an uninitialized variable warning. 2000-06-09 06:54:01 +00:00
Ondrej Filip
a012cbb16f Nasty bug in LSA refreshing. I didn't refesh my own copy! :-( 2000-06-08 19:16:21 +00:00
Ondrej Filip
135857e577 Acknoledge your own premature aged LSA. 2000-06-08 19:14:08 +00:00
Ondrej Filip
054a352475 Don't send dbdes before rtlsa origination. 2000-06-08 19:02:31 +00:00
Martin Mares
6567e6cf50 Missing parameters... 2000-06-08 12:42:34 +00:00
Martin Mares
725270cb1d Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
Ondrej Filip
8d56febe64 HASH_DEF_ORDER back to 6. 2000-06-08 12:04:57 +00:00
Martin Mares
ec423cc725 Updated CLI helps. 2000-06-08 10:25:02 +00:00
Ondrej Filip
099c017fca Still some endianity bugs. 2000-06-08 02:28:04 +00:00
Ondrej Filip
59ba334296 I forgot some endianity operations. 2000-06-08 02:04:45 +00:00
Ondrej Filip
423230f2f1 Ehm, my (B)DR election was based on router id, but RFC says ip! 2000-06-08 01:49:19 +00:00
Ondrej Filip
17e29574bc Better algoritmus of LSA aging. 2000-06-07 23:48:33 +00:00
Ondrej Filip
25a3f3da7a I mark all LSA as in distance INFINITY in process of aging.
I don't have to WALK twice through it.
2000-06-07 23:34:43 +00:00
Ondrej Filip
1186369bbd Doc. 2000-06-07 23:23:37 +00:00
Ondrej Filip
37c3e558ab Simple explanation, how LSA are kept in database. 2000-06-07 23:05:32 +00:00
Ondrej Filip
87f0d22ef8 Minor change. 2000-06-07 22:57:59 +00:00
Ondrej Filip
c2553b1b3e Minor changes. 2000-06-07 22:56:52 +00:00
Ondrej Filip
eee9cefd8c Doc 2000-06-07 22:53:51 +00:00
Ondrej Filip
e9ab0b4212 Doc in lsalib.c + related minor changes. 2000-06-07 22:31:47 +00:00
Ondrej Filip
d5e4b51865 Doc 2000-06-07 22:10:46 +00:00
Ondrej Filip
351feeb514 Doc. 2000-06-07 21:56:32 +00:00
Ondrej Filip
b4af36e0d8 Removed some FIXMEs simply deleting them. 2000-06-07 21:50:16 +00:00
Ondrej Filip
7ab3ff6a28 Doc in neighbor.c and some tiny changes related to. 2000-06-07 21:46:22 +00:00
Ondrej Filip
cadbb827f9 A copyright change. 2000-06-07 21:12:00 +00:00
Ondrej Filip
6f58dc64c9 Doc 2000-06-07 20:50:08 +00:00
Ondrej Filip
89755a8623 Introdution into OSPF. 2000-06-07 20:30:27 +00:00
Pavel Machek
07f29765a5 RIPv6 now works. 2000-06-07 14:06:37 +00:00
Pavel Machek
18b4d6bf27 rip ipv6 bugfix 2000-06-07 13:58:49 +00:00
Ondrej Filip
fa6c2405e2 Now I can change cost of interface without OSPF restart. 2000-06-07 13:46:13 +00:00
Martin Mares
58f7d004fd Fixes to the progdoc. 2000-06-07 13:25:53 +00:00
Ondrej Filip
38203d789a Originate rt lsa before sending first dbdes. 2000-06-07 13:19:48 +00:00
Martin Mares
2e9b24211a Spelling fixes to progdoc. 2000-06-07 12:29:08 +00:00
Martin Mares
1ae494a7e1 Avoid SEGV's in tracing. 2000-06-07 11:55:36 +00:00
Ondrej Filip
8cd5c52fcb Removed useless trace. 2000-06-07 01:19:16 +00:00
Ondrej Filip
3df89cefc1 #define SIZE_OF_IP_HEADER 2000-06-07 01:18:36 +00:00
Ondrej Filip
bd457b8d21 Some minor changes:
Typo: transit delay!=transmit delay
Zero checks etc.
2000-06-07 01:03:53 +00:00
Ondrej Filip
edc34dc912 Reconfiguration hook.
It will survive many timer and constat changes.
2000-06-07 00:56:11 +00:00
Ondrej Filip
a63a9ce609 Better dumping neighbors' states on PTP interface. 2000-06-06 12:50:02 +00:00
Ondrej Filip
41ad16e2d5 Added IP protocols. 2000-06-06 11:50:48 +00:00
Ondrej Filip
ee4880c82f Some '\n' deleted. 2000-06-06 02:54:41 +00:00
Ondrej Filip
064b1d8932 Tracing. 2000-06-06 02:50:49 +00:00
Ondrej Filip
bd37f45c10 Deleted some debug() 2000-06-06 02:43:32 +00:00
Ondrej Filip
abcbfd0400 Tracing. 2000-06-06 02:34:57 +00:00
Ondrej Filip
531a48d8c5 Tracing in LS ack. 2000-06-06 02:32:14 +00:00
Ondrej Filip
992705f65a Tracing in topology 2000-06-06 02:27:08 +00:00
Ondrej Filip
d3995c498d Tracing in LSUPD. 2000-06-06 02:16:39 +00:00
Ondrej Filip
f14032efdd First part of tracing. 2000-06-06 02:09:58 +00:00
Ondrej Filip
51cff78b25 Allocate OSPF areas before interfaces. 2000-06-06 01:46:32 +00:00
Ondrej Filip
c1824c4d4c Simple autentication added. 2000-06-06 01:23:03 +00:00
Ondrej Filip
fef1badfcf All die() renamed to bug(). 2000-06-06 01:00:34 +00:00
Ondrej Filip
80787d418b Dummy reconfigure added. 2000-06-06 00:52:35 +00:00
Ondrej Filip
f8f1e1f110 Interface locks added. 2000-06-06 00:46:00 +00:00
Ondrej Filip
b131e163c2 Some useles variable deleted. 2000-06-06 00:16:31 +00:00
Ondrej Filip
eb436e16fd NBMA networks seems to work, but this should be better. :-) 2000-06-06 00:08:27 +00:00
Ondrej Filip
e5b5d18c1c NBMA networks should work now. 2000-06-05 23:44:26 +00:00
Ondrej Filip
3b580a23ad Bugfix in NET LSA flushing.
Configuration now works! :-)
Better "show ospf"
Some minor bugfixes.
2000-06-05 20:57:53 +00:00
Ondrej Filip
4bb9ce56bb Reset inactim timer if you receive any packet from neighbor. 2000-06-05 19:45:06 +00:00
Ondrej Filip
496c819f26 Removed some FIXMEs by deleting them. 2000-06-05 19:35:48 +00:00
Ondrej Filip
3585d400e0 Don't info about DR and BDR on non-MA networks. 2000-06-05 19:31:55 +00:00
Ondrej Filip
fdb0c540a8 PTP link in RTLSA was not announced correctly. 2000-06-05 19:12:22 +00:00
Martin Mares
8441f17925 Unless a filter specifies otherwise, all external routes have type 2
metric 10000.
2000-06-05 18:40:25 +00:00
Martin Mares
f8032bbdb1 Simplified the grammar and fixed several minor bugs (e.g., `INTERFACE "eth0" };'
was a valid entry).
2000-06-05 18:32:51 +00:00
Ondrej Filip
44fc1888cf First calculate checksum and then send refreshed LSA! 2000-06-05 18:09:49 +00:00
Ondrej Filip
aba5e89f93 Better checksum checking. 2000-06-05 18:09:15 +00:00
Pavel Machek
4c5f93d76b Better documentation. There are functions whose description is good when
reading source but whose documentation does not belong to progdocs.
2000-06-05 17:13:36 +00:00
Pavel Machek
8798c81176 Docs updates:
make prog.dvi

do not overflow in .dvi

include filter documentation in the system
2000-06-05 16:36:16 +00:00
Ondrej Filip
eb2c99a132 Yet another change, now flushing of net lsa seems to be perfect. :-) 2000-06-05 16:32:29 +00:00
Ondrej Filip
2a5d7caa95 I calculated next hop of parent instead of actual LSA. :-( 2000-06-05 16:13:50 +00:00
Ondrej Filip
07b7100292 Don;t send packet over downed interface. 2000-06-05 15:44:11 +00:00
Pavel Machek
8b79c4ccd5 Add safety check. 2000-06-05 15:41:44 +00:00
Pavel Machek
b093c328f5 Updates to both programmers and users doc 2000-06-05 12:52:57 +00:00
Ondrej Filip
ac272c0067 Bug in LSA origination. 2000-06-05 05:06:53 +00:00
Ondrej Filip
dc2548d2cc Premature age LSA if you're NOT dr. 2000-06-05 05:06:22 +00:00
Ondrej Filip
88048fb3c9 Small patch to better hash type=2 LSAs. 2000-06-05 03:46:19 +00:00
Ondrej Filip
273fd2c164 Many bugfixes (I don't remember all of them):
Added link ID calculation for external routes with same prefix but
	different mask.
Bugfix in NET lsa origination.
Bugfix in NET hashing.
Bugfix in LSA installing.
2000-06-05 02:23:20 +00:00
Martin Mares
e24ddd9bef Don't set precedence and TTL for the dummy socket. 2000-06-04 20:00:35 +00:00
Martin Mares
13e9bac33f One more newline less... :) 2000-06-04 19:57:04 +00:00
Martin Mares
df49d4e14b Removed lots of trailing newlines in log messages.
Please note that the only calls which don't add newlines automatically
(i.e., don't print a full line of output) are debug() and DBG().
2000-06-04 19:56:06 +00:00
Martin Mares
201187c558 debug -> DBG 2000-06-04 19:55:11 +00:00
Ondrej Filip
dab6651916 Install newer lsa even if nothing in its body change. 2000-06-04 19:21:23 +00:00
Ondrej Filip
67cc9135bf Many bugs in ext lsa origination. 2000-06-04 19:20:28 +00:00
Ondrej Filip
ce8f0c083a Schedule RT calcualtion if you delete LSA by premature aging. 2000-06-04 19:19:36 +00:00
Ondrej Filip
102e3e0e02 Just to be sure, that rt calculation cannot start beforeorigination of rt LSA. 2000-06-04 17:51:52 +00:00
Ondrej Filip
83e50ffc47 Bug in debugging. 2000-06-04 17:33:15 +00:00
Ondrej Filip
71f7d043a6 :-) No bison does not have any comment to my code. :-) 2000-06-04 17:10:52 +00:00
Martin Mares
54e55169da BGP documented. 2000-06-04 17:06:18 +00:00
Ondrej Filip
3560cf8e0b Clean up. 2000-06-04 16:36:57 +00:00
Ondrej Filip
e781124868 Another clean up. 2000-06-04 16:17:39 +00:00
Martin Mares
3b31c53833 Documented all the trivial protocols. 2000-06-04 16:15:37 +00:00
Ondrej Filip
2a863dd6e1 Small change to make bison happy. 2000-06-04 16:12:01 +00:00
Ondrej Filip
aaaff77605 More conf. items defined. 2000-06-03 09:50:31 +00:00
Ondrej Filip
a789d814dd Multiple items in area {} :-) 2000-06-03 08:42:04 +00:00
Ondrej Filip
89d6782dd1 interface {} added. 2000-06-03 01:29:00 +00:00
Ondrej Filip
b36a0a799c area {} added to config. 2000-06-02 19:55:55 +00:00
Ondrej Filip
3fa5722def First option into config added. :-) 2000-06-02 15:05:41 +00:00
Ondrej Filip
62924172ae Flush LSA when receive aged one. 2000-06-02 13:52:50 +00:00
Ondrej Filip
e4ba0ec197 Bugfix in receiving of aged LSA. 2000-06-02 13:27:34 +00:00
Ondrej Filip
2eac33f774 Better LSA Aging. 2000-06-02 12:34:28 +00:00
Ondrej Filip
ece612e128 sh interface "iface" dumpped all. 2000-06-02 11:24:38 +00:00
Ondrej Filip
7a5582ac00 Better dumping, if I get strange lsack. 2000-06-02 11:00:14 +00:00
Ondrej Filip
3488634cba Handle "show ospf *" even if protocol is down. 2000-06-02 10:21:02 +00:00
Ondrej Filip
a489f0ce8b Silly bug in sh interface. Now I test ALL interfaces. :-) 2000-06-02 09:57:22 +00:00
Ondrej Filip
489f800b45 Speedup loading process. 2000-06-02 09:53:26 +00:00
Ondrej Filip
92e8be8c89 Bugfix in lsreq receiving. 2000-06-02 09:42:24 +00:00
Ondrej Filip
c4f0f01408 Added show ospf interface.
show ospf neighbors now knows "<interface>".
2000-06-01 17:52:21 +00:00
Ondrej Filip
4ab4e9778f show ospf implemented. 2000-06-01 16:26:59 +00:00
Ondrej Filip
a783e259d8 Cisco-like "show ospf neighbors" implemented. 2000-06-01 15:53:06 +00:00
Martin Mares
23df5e4cf3 Print route tag in hexadecimal and omit it if it's zero. 2000-06-01 13:00:39 +00:00
Martin Mares
bc00185e5a Updated to new neighbor cache. 2000-06-01 13:00:19 +00:00
Martin Mares
491cd43b77 Updated RIP to new neighbor cache semantics. When presented with next hop
equal to a local address, just ignore the route (as it is usually just an
external route exported by us echoed by some RIP peer), when given an
invalid next hop, moan to the log.
2000-06-01 12:59:50 +00:00
Ondrej Filip
df968040f6 Print tag unsigned rather then signed. 2000-06-01 12:17:08 +00:00
Ondrej Filip
c52c7e7645 Calculate checksum when reflooding (after min ls_refresh). 2000-06-01 12:08:14 +00:00
Ondrej Filip
42542c56c2 Cleanup. 2000-06-01 00:32:08 +00:00
Ondrej Filip
d27d0efe17 Very stuping bug. (I took me 4 hours to find it!)
I just wrote "=!" instead of "!=". :-(((((((
2000-06-01 00:22:48 +00:00
Ondrej Filip
b5958826cc Ehm, some other "down" steps. 2000-05-31 18:55:57 +00:00
Ondrej Filip
3f6953a103 Some bugs in cleanup after iface down. 2000-05-31 18:45:16 +00:00
Ondrej Filip
489b21555e Why does not work "sk_close(sk);rfree(sk);"? 2000-05-31 18:36:51 +00:00
Ondrej Filip
46962be628 Better debugging.
Safe neigh_list deleting.
2000-05-31 18:31:53 +00:00
Ondrej Filip
3728267827 And finally, Premature aging works. :-) 2000-05-31 18:21:42 +00:00
Ondrej Filip
31ee3d5f21 Another step to make premature aging better. 2000-05-31 15:51:39 +00:00
Ondrej Filip
a9eeefd63a Warning destroyed. :-) 2000-05-31 15:28:13 +00:00
Ondrej Filip
82364f4db8 Flood my LSA (if exists) after old one is flushed. 2000-05-31 15:24:29 +00:00
Ondrej Filip
0822995cb3 Set E2 metric for internal routes to LSINFINITY. 2000-05-31 15:04:45 +00:00
Ondrej Filip
9a04d0307e Delete _all_ ext routes from unreachable neighbor. 2000-05-31 14:52:22 +00:00
Ondrej Filip
528932368a Stuping bug in net LSA origination. Now, I should survive
loss of my only neighbor.
2000-05-31 14:43:42 +00:00
Ondrej Filip
d1660fd3f3 Sort cleanup in aging. 2000-05-31 14:21:56 +00:00
Ondrej Filip
70a383198a LSArt origination and routing table calculation is now not doing so
often. Instead of calculation I just schedule it latter.
2000-05-31 14:06:33 +00:00
Ondrej Filip
fc741dab27 Handle better next hop in external LSA. 2000-05-31 13:20:25 +00:00
Ondrej Filip
e0bbb7b7ef Very ancient bug in (B)DR election, I didn't fill correctly my own IP. 2000-05-31 12:52:12 +00:00
Ondrej Filip
a7a3a0a383 Added tagging of external LSA. 2000-05-31 12:07:09 +00:00
Martin Mares
fcb5f4a725 Updated all the Doc files to new format. 2000-05-31 11:30:18 +00:00
Ondrej Filip
0884f49223 Ehm, in had this in code: "break; i--;" :-( 2000-05-30 23:29:23 +00:00
Martin Mares
3b0b2cb61f IPv6: Absolutize link-scope addresses of incoming packets.
IPv6 socket interface is hopefully right now.
2000-05-30 22:48:14 +00:00
Martin Mares
5919c66e8f Route attributes for OSPF. 2000-05-30 21:25:32 +00:00
Martin Mares
2cec475b8f Removed several unused local variables. 2000-05-30 21:24:53 +00:00
Ondrej Filip
3e86455606 Added \n in debug. 2000-05-30 18:21:51 +00:00
Ondrej Filip
7e1c7efae2 Stupig bug in debugging. 2000-05-30 17:57:06 +00:00
Ondrej Filip
3dd8f983b6 You can decide if add LSA into lsrth during flood_lsa(). 2000-05-30 17:51:22 +00:00
Ondrej Filip
3d410fdfa1 Reflood your old lsa. 2000-05-30 17:49:25 +00:00
Ondrej Filip
13b02be25a Don't run rt calculation twice. 2000-05-30 17:00:17 +00:00
Ondrej Filip
b477a9a855 Don't send empty LS upd. (And better debugging.) 2000-05-30 16:49:48 +00:00
Ondrej Filip
e1e31816c4 Aging delta changed. (Ehm, aging is very dirty I'll have to change it.) 2000-05-30 16:48:42 +00:00
Ondrej Filip
1b128de364 Better shutdown. 2000-05-30 16:13:59 +00:00
Ondrej Filip
935ceabea4 Don't send empty LS update. 2000-05-30 16:08:29 +00:00
Ondrej Filip
a548a7e167 Bug in direct ack (via update). 2000-05-30 15:05:47 +00:00
Ondrej Filip
4513280611 Bug in socket closing. 2000-05-30 15:04:52 +00:00
Ondrej Filip
ef6f26b417 Bug in lsa comparision. 2000-05-30 15:01:51 +00:00
Ondrej Filip
2aa476a535 Yeah, the endianity bug found. 2000-05-30 13:39:06 +00:00
Ondrej Filip
76e2514328 Better dumping. 2000-05-30 13:25:47 +00:00
Pavel Machek
f3b33928ce Tried to change garbagetime -> garbage time to be more consistent. 2000-05-30 11:15:19 +00:00
Ondrej Filip
04c3a83c60 Better inicialisation. 2000-05-30 11:07:31 +00:00
Ondrej Filip
5970fcda8c Some exchange between init() and start(). 2000-05-30 10:53:48 +00:00
Ondrej Filip
73232f6b18 Better rt dumping. 2000-05-30 10:36:57 +00:00
Ondrej Filip
05dbc97b13 Bug in rt_notify. 2000-05-30 10:20:14 +00:00
Martin Mares
7294f68b3b path metric' and disable after error' are switches, not numeric clauses. 2000-05-29 22:08:04 +00:00
Ondrej Filip
e9d6b1d19f Kosmetic change in debugging. 2000-05-28 20:11:56 +00:00
Ondrej Filip
f7c0525edc get_route_info() added. 2000-05-28 19:16:04 +00:00
Ondrej Filip
4414d9a57a get_status() implemented. 2000-05-28 18:49:33 +00:00
Ondrej Filip
d5f029df48 Just added some debug(). 2000-05-28 18:34:20 +00:00
Ondrej Filip
4bd28fb68e Better shutdown. (Flush my own router LSA and send 1WAY to every neighbor.)
Ext LSA originating and flushing added.
2000-05-27 15:36:02 +00:00
Ondrej Filip
e8085abaa7 Originating of external LSA. 2000-05-27 14:17:35 +00:00
Ondrej Filip
2d5b999236 Import control implemented. 2000-05-26 19:04:18 +00:00
Martin Mares
d2a7c0e9b2 Don't print trace messages about null updates. 2000-05-19 18:05:19 +00:00
Martin Mares
dc6405d27e Latest changes by Pavel have removed the error messages printed after
unsuccessful socket open, but replaced them by segmentatio fault!

Grrrrrrrrr.
2000-05-19 17:21:42 +00:00
Pavel Machek
9511a483b1 Less error messages in case sk_open fails. 2000-05-19 16:44:25 +00:00
Pavel Machek
eb4097e4e4 Added name of protocol to messages being logged. 2000-05-19 16:22:53 +00:00
Martin Mares
5e88d73025 BGP now reports originating AS and origin type in get_route_info(). 2000-05-19 11:01:41 +00:00
Martin Mares
f7ad556f20 Commented out the `inserting entry which is already there' message since
it's pretty normal: during feeding of the protocol, a new route can appear
which will be announced normally and then repeated by the feeding process.
2000-05-19 11:00:47 +00:00
Ondrej Filip
0850ce22d7 Smal debug bugfix. 2000-05-17 21:20:47 +00:00
Pavel Machek
6d5e703dc9 Minor cleaning 2000-05-17 20:23:05 +00:00
Ondrej Filip
00c1f79a79 rte_same implemented. 2000-05-17 20:01:25 +00:00
Ondrej Filip
bbd76b421a rte_better implemented. 2000-05-17 19:27:51 +00:00
Ondrej Filip
4ee2178935 Don't die, if you receive strange LSA. 2000-05-17 00:28:45 +00:00
Ondrej Filip
7f6b3cf247 Typo in comment. 2000-05-17 00:28:11 +00:00
Ondrej Filip
18a0c0bb76 Downing of interface should work. 2000-05-16 23:59:38 +00:00
Ondrej Filip
8fb0c2c298 Calculation of external routes finally works. 2000-05-16 23:24:50 +00:00
Ondrej Filip
31834faaf3 Ehmm, removed 'if(1 || ...' so I can test the second part . 2000-05-16 22:43:30 +00:00
Ondrej Filip
508c36ab79 Routing table calculation for ext LSAs having next-hop=!0.0.0.0 2000-05-16 22:34:49 +00:00
Martin Mares
e5a47266d0 Turned off LOCAL_DEBUG. 2000-05-16 15:08:52 +00:00
Pavel Machek
5b846de6a6 Interface dummy is too strange for me... but psst, that's secret. 2000-05-16 15:05:05 +00:00
Pavel Machek
898fdd85dc Rip should now reconfigure itself only if needed. 2000-05-16 14:58:06 +00:00
Martin Mares
f4ab231746 bgp_get_status: If protocol is down, don't print BGP state. 2000-05-15 12:19:28 +00:00
Martin Mares
e3f2d5fce3 Cleanup of configuration.
o  Use `expr' instead of `NUM' and `ipa' instead of `IPA',
   so that defined symbols work everywhere.
o  `define' now accepts both numbers and IP addresses.
o  Renamed `ipa' in filters to `fipa'.

Pavel, please update filters to accept define'd symbols as well.
2000-05-15 11:48:23 +00:00
Martin Mares
758458be05 Unified parsing of prefixes.
Had to rename `prefix' in filters to `fprefix'.
2000-05-13 11:17:49 +00:00
Martin Mares
02bd064ab7 Adapted to new rt_notify semantics. 2000-05-13 11:02:02 +00:00
Martin Mares
e4bfafa100 Manual enable/disable works right. 2000-05-13 11:01:41 +00:00
Ondrej Filip
7e681ef360 Calculation of external routes works. :-) 2000-05-12 00:22:43 +00:00
Ondrej Filip
be2bb40341 Minor changes. 2000-05-11 22:02:53 +00:00
Ondrej Filip
5da1f93537 Bugfix in flooding. (bad size)
Better debugging.
More robust in receiving.
2000-05-11 22:00:55 +00:00
Ondrej Filip
c8d1f3feb2 Better debugging.
More robust.
2000-05-11 22:00:16 +00:00
Ondrej Filip
7a42e6ce89 Bugfix in network LSA originating. 2000-05-11 17:14:57 +00:00
Martin Mares
28323d9ddb Several minor RIP changes (Pavel, please check as usually):
o  Use FIB_ITERATE_INIT instead of calling the function fit_init()
      which is explictly marked as private in route.h.
   o  When printing trace messages, don't spit out protocol name twice.
   o  Some messages are a bit more verbose.
   o  Added a bunch of FIXME's.
   o  When running in broadcast mode, don't forget to bind the local
      end of the socket to the same broadcast address, so that we don't
      get the broadcasts looped back via different interface. I'm just
      going to look up the same problem for multicasts.
2000-05-11 15:05:13 +00:00
Martin Mares
2138d3b4d8 Use correct flags for the LOCAL_PREF attribute.
When an invalid attribute is found, copy the entire attribute to the data
section of the NOTIFICATION message.
2000-05-11 12:20:07 +00:00
Pavel Machek
ec21aecfdd Fixed nasty segfault in rip. 2000-05-11 10:33:18 +00:00
Pavel Machek
10f5c47d2e Some more paranoia into rip_insert and rip_delete 2000-05-11 09:41:16 +00:00
Pavel Machek
94d1a6c9dc Unused variable killed. 2000-05-11 09:36:55 +00:00
Ondrej Filip
394920a09c Test better lsa size. 2000-05-10 23:42:37 +00:00
Ondrej Filip
31dca43534 Be more verbose. 2000-05-10 23:42:13 +00:00
Ondrej Filip
74ac7cdb1a Bugfix in (B)DR election. 2000-05-10 23:41:52 +00:00
Ondrej Filip
ff73f1d63d More robust tests in packet receiving. 2000-05-10 23:41:18 +00:00
Ondrej Filip
13741548a6 Some better lsa checking added. 2000-05-10 15:04:21 +00:00
Ondrej Filip
a9c41c8548 Out dump deleted. 2000-05-10 14:29:00 +00:00
Pavel Machek
2a41c8d9fc use password_same utility function 2000-05-10 13:42:50 +00:00
Ondrej Filip
a3f657ac76 Ever test possibility of forming of adjacency. 2000-05-10 13:35:49 +00:00
Pavel Machek
3e47419274 Inlined metric and mode into struct rip_interface to make reconfig
work.

reconfigure is conservative but should work.
2000-05-10 13:23:21 +00:00
Pavel Machek
30aa02d70d rip_reconfigure done right 2000-05-10 13:05:39 +00:00
Pavel Machek
b8524e9be4 ipa_same does not exist. 2000-05-10 12:48:06 +00:00
Pavel Machek
0bff946c0a Nicer messages from rip. 2000-05-10 12:46:47 +00:00
Pavel Machek
6f3849774f Use ea_get_int instead of ea_find. 2000-05-10 12:38:05 +00:00
Ondrej Filip
c7e46aae66 Destroying of neighbor moved from 'hello' to 'neighbor' and
improved.
2000-05-10 12:37:43 +00:00
Pavel Machek
7f5f44bb92 Reconfigure hook copied from bgp. 2000-05-10 12:32:45 +00:00
Pavel Machek
84a1305437 Send first udpate sooner. 2000-05-10 12:26:09 +00:00
Pavel Machek
14758d87c4 Only announce change to main routing table if it is better than current. 2000-05-10 12:23:06 +00:00
Ondrej Filip
353f326138 Better dumping. 2000-05-10 12:22:00 +00:00
Pavel Machek
5e50f0a028 Don't touch used memory. 2000-05-10 11:57:56 +00:00
Ondrej Filip
e8bd039da8 Bugfix in ip_addr endianity. 2000-05-10 11:52:39 +00:00
Pavel Machek
be3b6dc574 Killed unused variable. 2000-05-10 11:48:34 +00:00
Ondrej Filip
28950169e7 Bug in (B)DR election fixed. 2000-05-10 11:48:21 +00:00
Pavel Machek
d9f89e0114 You can now say "mode multicast". 2000-05-10 11:40:30 +00:00
Ondrej Filip
65a9c57175 Change u32 to ip_addr in ext lsa. 2000-05-10 11:22:08 +00:00
Ondrej Filip
aa1e082c67 Calculation of external routes. 2000-05-10 10:47:17 +00:00
Pavel Machek
4bfe4e8551 Fix segfaults by using new ea_get_int. 2000-05-10 06:56:42 +00:00
Ondrej Filip
fe95ab6816 FIXME's removed by deleting them. :-) 2000-05-09 21:52:58 +00:00
Ondrej Filip
32fa4a5a46 Premature aging of self-originated LSA received in flooding. 2000-05-09 21:06:48 +00:00
Ondrej Filip
3b8b1bd037 Better dumping. 2000-05-09 19:38:34 +00:00
Ondrej Filip
a3ae6246c2 Bugfix in lsrt slist adding. 2000-05-09 19:38:16 +00:00
Ondrej Filip
b224ca32cf Flushing of old LSAs added. 2000-05-09 19:36:32 +00:00
Ondrej Filip
850fda2518 Backup seen is not called so often. 2000-05-09 18:35:57 +00:00
Ondrej Filip
cd22a62b3c Don't send flushed LSAs. 2000-05-09 18:20:39 +00:00
Ondrej Filip
9669362f05 Many bugfixes. (I added one entry twice to slist.)
Debug cleanup.
Retransmiting of unacknolegded LSAs
2000-05-09 18:17:34 +00:00
Ondrej Filip
5f743d9697 Many bugfixes. Actually, how could this ever work? :-) 2000-05-09 13:56:47 +00:00
Ondrej Filip
5d608eba16 Bug fix in sending updates. 2000-05-09 12:31:38 +00:00
Ondrej Filip
0e1b949be7 Bugfix in testing of possibility of adjacency. 2000-05-09 12:18:41 +00:00
Ondrej Filip
432996f40f Better dumping. 2000-05-09 12:03:57 +00:00
Ondrej Filip
54ac9d2e03 Bugfix in hello. 2000-05-09 12:02:48 +00:00
Ondrej Filip
4057093fa4 Small cleanup. 2000-05-09 11:52:44 +00:00
Ondrej Filip
551d444382 Sorry, it didn't compile. :-( 2000-05-09 11:29:52 +00:00
Ondrej Filip
b29c620f90 Another bugfix in neighbor state machine. 2000-05-09 11:27:31 +00:00
Ondrej Filip
279a3b76d1 Small bug in neighbor state machine. 2000-05-09 10:47:10 +00:00
Ondrej Filip
fafe44b651 Just added declaration of AS Ext routes calculation. 2000-05-09 00:03:08 +00:00
Ondrej Filip
43e75f38e7 Do not stop lsrr_timer in FULL state. Use it for retransmition. 2000-05-08 23:46:31 +00:00
Ondrej Filip
ed4a53c6a5 Some changes in debugging. 2000-05-08 22:50:37 +00:00
Ondrej Filip
9bacea4211 Fixed some FIXME's by deleting them. :-) 2000-05-08 22:49:58 +00:00
Ondrej Filip
8a3049f6f1 Useless '\n' in log() 2000-05-08 22:42:56 +00:00
Ondrej Filip
eae4fcf253 Stopping RXMT timer when going to lower state than EXSTART. 2000-05-08 22:40:55 +00:00
Martin Mares
c09d1e8df2 KEEPALIVE TIME ought to set keepalive time, not connect retry time :) 2000-05-08 22:32:17 +00:00
Ondrej Filip
fc0ca2d8e1 Typo in debug. 2000-05-08 22:28:42 +00:00
Ondrej Filip
a6fdf9c6ac Grrr, useless debug. 2000-05-08 22:27:25 +00:00
Ondrej Filip
5ee479aac9 Small typo. 2000-05-08 22:26:11 +00:00
Ondrej Filip
0ebb8b64f3 Bugfix in new neighbor allocation. 2000-05-08 22:24:22 +00:00
Ondrej Filip
77fbd315df Better debug output. 2000-05-08 22:10:10 +00:00
Ondrej Filip
b57a45b81a Next hop calculation improved. (I ignored stub networks advertised by my
neighbors.
2000-05-08 22:03:29 +00:00
Ondrej Filip
158b99c912 Better logging. (%d->%I) 2000-05-08 22:02:45 +00:00
Martin Mares
0c3588bf5e Don't crash when the socket gets closed between updates.
Also, this time not only update `remains', but update it right :)
2000-05-08 14:53:22 +00:00
Martin Mares
9ff8f334ed Update `remains' counter correctly. 2000-05-08 14:32:19 +00:00
Martin Mares
93d6bf38a6 The bgp_list is gone. Incomming connections are now handled in a much
more straightforward manner by scanning the active configuration for
matching protocols.
2000-05-08 13:26:30 +00:00
Martin Mares
507eea4c8b Don't generate corrupted packets when sending only route deletes. 2000-05-08 12:37:24 +00:00
Martin Mares
79681f4a19 Link the instance to the global BGP list as soon as possible. 2000-05-08 11:04:22 +00:00
Martin Mares
916c8c0aba Use preferences properly. 2000-05-08 10:40:00 +00:00
Martin Mares
92ef4fa719 Preference is a configurable parameter. 2000-05-08 10:38:25 +00:00
Martin Mares
acfce55c86 Setup of incoming connection is now a separate function. 2000-05-07 10:41:45 +00:00
Martin Mares
ce1da96ee7 Added commands show route protocol <p>' and show route import <p>' which
show the routing table as exported to the protocol given resp. as returned
from its import control hook.

To get handling of filtered extended attributes right (even in the old
`show route where <filter>' command), the get_route_info hook gets an
attribute list and all protocol specific rte attributes are contained
there as temporary ones. Updated RIP to do that.

Added ea_append() which joins two ea_list's.
2000-05-06 22:57:39 +00:00
Martin Mares
ab1129c1bd Added skeleton Doc files for the whole developer's documentation. 2000-05-05 17:17:42 +00:00
Martin Mares
beaf86e13c Removed RTS_RIP_EXT. 2000-05-04 21:23:10 +00:00
Martin Mares
9a220cabbc #ifdef out lots of debugging information.
The long resource/routing table dump printed upon startup is gone now
and if you wish to see it, just send bird SIGUSR1 or use the `debug'
commands.
2000-05-04 20:52:28 +00:00
Martin Mares
2a149b18cc Unused variables in IPv6 code. 2000-05-04 20:38:44 +00:00
Martin Mares
93a786cb03 Removed a lot of unused variables.
Please try compiling your code with --enable-warnings to see them. (The
unused parameter warnings are usually bogus, the unused variable ones
are very useful, but gcc is unable to control them separately.)
2000-05-04 20:30:36 +00:00
Pavel Machek
9b63e3a58a Spelling fixes. 2000-05-04 20:08:34 +00:00
Martin Mares
cf3d6470d7 IPv6 BGP support finished. Also simplified the BGP stuff a bit. 2000-05-04 20:02:56 +00:00
Martin Mares
1c1da87b27 Receive-only IPv6 BGP. 2000-05-04 09:03:31 +00:00
Ondrej Filip
d345cda5a1 Bugfix in Network lsa originating
Bugfix in ntohlsab() and htonlsab()
For calculating of rt I use my own fib. I delete routes! ;-)
2000-05-04 01:23:03 +00:00
Ondrej Filip
9e48d717cf Test for "flushing" added. 2000-05-03 22:36:12 +00:00
Ondrej Filip
a02c6c184b Cleanup of code. Some arguments of functions were useless. 2000-05-03 22:23:41 +00:00
Ondrej Filip
ad5453b540 Testing if I can flush LSA from database. 2000-05-03 22:12:33 +00:00
Ondrej Filip
9bc1808a27 Better rt and net originating. 2000-05-03 00:08:48 +00:00
Ondrej Filip
0bf2f2039e Originating of network LSA. 2000-05-02 23:09:44 +00:00
Ondrej Filip
249fdef7a1 Adding InfTransDelay for outgoing lsa. 2000-05-02 22:31:48 +00:00
Ondrej Filip
c45f48fba5 Aging of lsa database added. 2000-05-02 22:19:41 +00:00
Ondrej Filip
a92847e78f Route calculation for stub networks. 2000-05-02 19:27:57 +00:00
Martin Mares
53943a0022 Defined format specifier %M' which behaves as %m', but takes the
error code as an argument.

Use it in socket hooks where we really shouldn't rely on errno containing
the right value or even existing.
2000-05-02 16:10:04 +00:00
Martin Mares
85368cd4b7 Full protocol tracing. 2000-05-02 16:07:41 +00:00
Martin Mares
d1a74339d4 Handle redistribution of unknown attributes correctly. 2000-05-02 12:51:39 +00:00
Ondrej Filip
85195f1a53 Many small changes and bug fixes. Routing table calculation works.
I'm waiting for rt lookup to add stub networks.
2000-04-30 22:14:31 +00:00
Pavel Machek
2337ade754 Moved documentation to top of file, where it belongs. 2000-04-30 18:47:48 +00:00
Ondrej Filip
c6c5626436 Sync with nest's rt table and some minor improvements. 2000-04-30 11:31:05 +00:00
Ondrej Filip
e80e9d0da5 RT calculation strongly simplified. Now, I don't need any
memory allocation. :-)
2000-04-30 09:32:41 +00:00
Ondrej Filip
468f2347fc Calculating of nexts hop(s) added. 2000-04-29 15:57:14 +00:00
Pavel Machek
9c1a55deee IpV6 now actually compiles.
Mj, could you provide example of static config for ipv6 that is _not_
rejected by checks? I tried this and got rejected.

	route 62:168::/32 via 62:169::;
	route 1:2::/32 via 1:3::;
2000-04-29 15:45:30 +00:00
Martin Mares
cea6366400 The `bgp_origin' attribute is now an enum. 2000-04-28 15:13:29 +00:00
Martin Mares
2edb31b097 Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
C declarations etc.).
2000-04-28 15:11:10 +00:00
Pavel Machek
decc99fbbd Killed fixme: I already fixed it. 2000-04-28 10:15:57 +00:00
Pavel Machek
a769a180d7 Provide rip_get_attr, how do I test it? 2000-04-28 10:14:59 +00:00
Pavel Machek
6c0a7174af Add sample documentation to rip. 2000-04-28 09:55:52 +00:00
Martin Mares
f94557dec5 Some more fixes for attributeless UPDATEs. 2000-04-27 22:40:19 +00:00
Martin Mares
54896cbdba Path attribute can be missing if we process a packet with empty NLRI section. 2000-04-27 22:31:11 +00:00
Martin Mares
9165888ad2 Handle connect errors correctly. 2000-04-27 19:41:10 +00:00
Ondrej Filip
2add26dfa9 Stub networks done. 2000-04-26 20:16:36 +00:00
Ondrej Filip
5904a51266 Nets are used before routers. 2000-04-26 14:03:56 +00:00
Martin Mares
5db9bae286 IBGP fixes. 2000-04-26 13:26:31 +00:00
Ondrej Filip
dfa9a53a66 Routing table calculation. Dijkstra done. 2000-04-26 12:54:23 +00:00
Pavel Machek
c010f4cb37 Use right address for ripv6. 2000-04-26 11:33:03 +00:00
Pavel Machek
7f704c06d8 Cleanup in preparation for ipv6. 2000-04-26 11:07:57 +00:00
Martin Mares
6fd766c17e Implemented automatic restart after error with all the timers needed. 2000-04-25 23:08:31 +00:00
Martin Mares
8573314326 Avoid printing of error messages on Cease notifications. 2000-04-25 23:08:03 +00:00
Martin Mares
b3155b3399 Randomize timers properly. 2000-04-25 22:01:19 +00:00
Martin Mares
42532f0846 Support dynamic reconfiguration. 2000-04-25 21:58:17 +00:00
Martin Mares
99f70c78e1 Use the same attribute names as in filters. 2000-04-25 21:31:15 +00:00
Martin Mares
684c25d98f When sending BGP attributes, re-create the flags, so that attributes
added by filters which get the flags wrong are fixed automagically.
2000-04-25 21:21:52 +00:00
Martin Mares
efcece2da3 Better reporting of both local and remote errors. 2000-04-25 21:13:25 +00:00
Martin Mares
a47a01083b Real parsing of BGP OPEN options including capability
negotiation.
2000-04-25 13:32:17 +00:00
Martin Mares
8b258e4e65 LOCAL_PREF is now always present and exported over all ibgp connections [draft]
Allow setting of address of the local end of the TCP connection.

Several bug fixes.
2000-04-21 13:01:28 +00:00
Martin Mares
2a9e064d7b If no NLRI's are present in an UPDATE message, parse the attributes, but
don't check presence of mandatory attributes. [draft-09]
2000-04-21 12:25:35 +00:00
Martin Mares
7787ace61a Synced to draft-ietf-idr-bgp4-09. 2000-04-20 22:54:22 +00:00
Martin Mares
9bc6ab4041 Fixed reporting of unknown options. 2000-04-20 22:34:50 +00:00
Martin Mares
5f532adde2 Temporarily ignore unknown options. 2000-04-19 13:54:35 +00:00
Martin Mares
f381cdce52 The ATOMIC_AGGREGATE parameter is optional transitive. 2000-04-19 13:54:17 +00:00
Martin Mares
e0d6a7bda4 Delay fetching of router ID. 2000-04-19 13:28:56 +00:00
Martin Mares
035044b1d9 Select the right source address and don't check port numbers. 2000-04-19 12:51:14 +00:00
Ondrej Filip
85c92555ef Grr, another patch to make it compile. 2000-04-18 22:11:05 +00:00
Ondrej Filip
740d16d972 Another ack bugfix. (Bad test for MIN_LS_ARRIVAL.) 2000-04-18 22:07:58 +00:00
Ondrej Filip
84228eee27 LS ack bugfix. (I didn't remove LSA from LSret hash.) 2000-04-18 21:40:11 +00:00
Ondrej Filip
19fc4c763e LS ack. 2000-04-18 21:13:56 +00:00
Ondrej Filip
26116eac93 Better LS Ack dumping. 2000-04-18 20:34:19 +00:00
Ondrej Filip
48f5a61f69 Bugfix in neighbor dumping. 2000-04-18 19:56:43 +00:00
Ondrej Filip
9eada7ca03 Fixed the serious bug in LSack.
Oh, I'm an idiot. I sent LSACK, but in header was LSUPD. :-(
2000-04-18 19:44:16 +00:00
Ondrej Filip
9eea604769 Multicast open socket for (B)DR bugfix. 2000-04-18 19:31:42 +00:00
Ondrej Filip
79f036ef6e Dump changes. 2000-04-18 19:22:49 +00:00