Martin Mares
a37410cbdd
Use bsprintf() instead of sprintf().
2000-03-31 23:33:03 +00:00
Martin Mares
221135d6bf
Include "lib/string.h" instead of <string.h>. It should give us bzero()
...
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00
Martin Mares
c00d31befa
Parsing of BGP attributes.
2000-03-31 23:21:37 +00:00
Ondrej Filip
65e55e9cca
Checksum changes. Bug is still NOT fixed. :-(
2000-03-31 01:40:12 +00:00
Ondrej Filip
9f940976d1
Some bug fixes. LSA checksum is still bad. I'll fix it later.
2000-03-31 01:14:41 +00:00
Ondrej Filip
f45fd3164b
Sending of lspd as responce to lsreq done.
2000-03-31 00:21:41 +00:00
Ondrej Filip
14a7921c83
LSA structure changes. (Len added.)
2000-03-30 20:18:51 +00:00
Ondrej Filip
de769e24c0
Skeleton structures and files added.
2000-03-30 20:00:42 +00:00
Ondrej Filip
95eb1dba3f
Add hashing to link state request list.
2000-03-30 19:37:26 +00:00
Ondrej Filip
76915ec979
Minor changes.
2000-03-30 19:21:17 +00:00
Martin Mares
973399ae2c
Basic analysis of UPDATE packets.
2000-03-30 18:44:23 +00:00
Martin Mares
b552ecc4d7
Connection state machine works.
2000-03-30 17:39:48 +00:00
Ondrej Filip
ce0603a6ed
Better list manipulation.
2000-03-30 16:22:58 +00:00
Martin Mares
3fdbafb6f4
More BGP. This time it connects, but the state machine still isn't complete.
2000-03-30 10:44:20 +00:00
Ondrej Filip
6d2b32114f
LSreq initial work.
2000-03-30 00:18:59 +00:00
Ondrej Filip
2560c8860e
Slave bug fix.
2000-03-29 17:51:40 +00:00
Ondrej Filip
910e557b47
Many changes in dbdes sending & receiving. EXDONE caused.
2000-03-29 17:18:06 +00:00
Ondrej Filip
315648af8e
RXMT timer handling bug fix.
2000-03-29 13:02:58 +00:00
Ondrej Filip
3fba209688
Some FIXME added.
2000-03-29 12:47:07 +00:00
Ondrej Filip
96501dfe5f
Sending of DBdes bug fixed.
2000-03-29 12:45:37 +00:00
Ondrej Filip
04c6319a63
IMMS reverted to bits. Outgoing packets dumping added.
...
Cisco does not set inteface MTU. Hmm....
2000-03-29 12:32:25 +00:00
Pavel Machek
8d2e3eba92
Cross-protocol issues solved better
2000-03-29 08:58:06 +00:00
Ondrej Filip
963ea03d87
DBdes sending/receiving changes.
2000-03-29 00:34:28 +00:00
Pavel Machek
d0031c5ee9
Use neigh_connected_to in rip, and behave more correctly
...
w.r.t. whotoldme and nexthop.
2000-03-27 12:21:11 +00:00
Pavel Machek
6480dd0880
I broke compilation. Sorry.
2000-03-26 21:31:57 +00:00
Pavel Machek
8c86f96fa6
Split horizont done right.
...
Locks done better.
2000-03-26 18:01:27 +00:00
Pavel Machek
9ee07ca53f
FIXME was actually already resolved
2000-03-24 10:08:20 +00:00
Pavel Machek
772f489932
Minor change to make code more readable.
2000-03-23 12:08:40 +00:00
Pavel Machek
ff8ed63285
Rip now tries to lock interface.
...
Fixed fatal errors which caused segfault at startup.
Fixed fatal errors in rip which caused it not to send more than first
update.
2000-03-22 14:26:03 +00:00
Martin Mares
72a6ef11fe
Construction of BGP packets.
2000-03-21 15:53:50 +00:00
Martin Mares
c01e37416d
Started work on BGP. Wrote main part of the connection handling code.
2000-03-20 21:50:17 +00:00
Martin Mares
2638249d34
Bare skeleton of the BGP.
2000-03-19 22:09:07 +00:00
Pavel Machek
856b87d1e4
Cleanup, mostly debugging messages.
2000-03-13 13:31:00 +00:00
Martin Mares
6b9fa32080
Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
...
several debug() calls converted to DBG().
2000-03-12 21:01:38 +00:00
Ondrej Filip
ce17d4c165
LSA DB is completely redesigned. Now it should be faster and it needs
...
less memory.
2000-03-09 22:38:05 +00:00
Pavel Machek
af834f8630
Categorized TRACE() messages in rip
2000-03-09 16:38:51 +00:00
Pavel Machek
cb822c0777
Rip tracing: still need config hunk to set p->debug.
2000-03-09 15:12:41 +00:00
Pavel Machek
38466dbdac
log() classes done right
2000-03-09 14:59:10 +00:00
Ondrej Filip
30147b89ff
Sending of DBDes. (Checksum and length calculation NOT done.)
2000-03-08 12:50:28 +00:00
Martin Mares
9f4929e749
Renamed EAF_INLINE to EAF_TEMP to make the name reflect the real meaning.
2000-03-04 22:30:44 +00:00
Pavel Machek
62ab789de5
Added type parameter to f_new_dynamic_attr.
2000-03-01 14:42:59 +00:00
Martin Mares
db1326aa5e
Dynamic attributes are now declared in per-protocol grammar files instead
...
of filter/config.Y. Bird now compiles even if you disable RIP.
Removed RTA and IMPOSSIBLE tokens (unused).
Removed superfluous comment in filter.h.
I've tried to do my best, but Pavel, please check these changes.
2000-03-01 11:32:23 +00:00
Martin Mares
ef0883a12f
Adapted RIP to new interface flags. Pavel, please verify it's right.
2000-02-29 23:20:55 +00:00
Ondrej Filip
de30342f97
Router LSA & area adding.
2000-02-25 19:19:41 +00:00
Ondrej Filip
b786df7035
Memory allocation in ospf_area changed.
2000-02-25 14:26:54 +00:00
Ondrej Filip
ab56f6b16f
Area work and router LSA starts when interface goes up.
2000-02-24 00:26:10 +00:00
Ondrej Filip
ea28da044a
Small change for debugging.
2000-02-23 23:23:19 +00:00
Ondrej Filip
91808fffc2
Structures for router LSA added.
2000-02-23 23:14:18 +00:00
Ondrej Filip
6fa948d6c5
Better debugging.
2000-02-23 23:13:27 +00:00
Ondrej Filip
e6fcf113ec
Better debuging.
2000-02-23 23:13:10 +00:00
Ondrej Filip
4bf6de8737
Hash table structure redesigned.
2000-02-08 22:43:10 +00:00
Ondrej Filip
316d7bd7d1
Other LS struct added.
2000-02-08 22:13:12 +00:00
Ondrej Filip
d3cb698053
LSA type changed from u16 to u8.
2000-02-08 19:24:22 +00:00
Ondrej Filip
c7b915d68c
Malloc() changed to cfg_alloc().
2000-02-08 19:12:42 +00:00
Pavel Machek
bd215f8bab
Do not send empty packets in rip.
2000-01-26 14:12:18 +00:00
Pavel Machek
8660913ba8
Output made prettier.
2000-01-26 12:07:18 +00:00
Martin Mares
295ae16d4d
Static protocol supports full dynamic reconfiguration.
2000-01-17 12:38:50 +00:00
Martin Mares
d272fe22dd
Separated `official protocol names' used in status dumps from name templates
...
used for automatic generation of instance names.
protocol->name is the official name
protocol->template is the name template (usually "name%d"),
should be all lowercase.
Updated all protocols to define the templates, checked that their configuration
grammar includes proto_name which generates the name and interns it in the
symbol table.
2000-01-17 11:52:50 +00:00
Martin Mares
0ec90e9fc6
Pipe protocol supports reconfiguration.
2000-01-17 00:20:45 +00:00
Martin Mares
50fe90edf3
First attempt on dynamic reconfiguration. There are still lots of bugs
...
and problems to solve, but the hardest part works.
2000-01-16 16:44:50 +00:00
Ondrej Filip
1508757478
Preparing for building LS databaze. Huh, why is it so complicated? :-(
...
Adding definition of some constants.
2000-01-05 00:03:47 +00:00
Martin Mares
3f996d46df
Added missing semicolon.
...
rip.h compiles in IPv6 mode, rip.c still doesn't.
1999-12-16 13:14:32 +00:00
Martin Mares
6aea8905c4
TODO entries and FIXME's.
1999-12-16 12:18:33 +00:00
Pavel Machek
dff1f57917
Added hooks for show route.
...
Fixed passing metrics around routing tables.
1999-12-08 13:33:44 +00:00
Pavel Machek
4d4de35f00
Fix timing and fix endianity in metrics.
1999-12-08 12:51:45 +00:00
Martin Mares
feed822676
Implemented `show static'. It's a relatively good example of how to write
...
show commands for other protocols.
1999-12-03 11:41:23 +00:00
Pavel Machek
e7f76bae8c
Stupid bug (essentially while(1) loop) occuring sometimes during start
...
of bird fixed.
1999-12-01 13:44:42 +00:00
Pavel Machek
639e628554
Actually check sequence numbers.
1999-12-01 12:52:57 +00:00
Martin Mares
3daf783f95
Implemented get_status for the pipe protocol (reports name of the other
...
side of the pipe).
Please do so for your protocols as well.
1999-12-01 12:01:41 +00:00
Ondrej Filip
163b207346
Inicialisation of Topology Graph (TG).
1999-11-30 10:35:26 +00:00
Pavel Machek
1a509a6310
md5 authentication seems to work.
1999-11-25 15:03:12 +00:00
Pavel Machek
d3702d57fd
Bugfixes: select right password for password authentication, do not
...
try to process authentication blocks as datablocks, make it possible
to add data at end of packet. Password authentication should actually work.
1999-11-25 14:54:08 +00:00
Pavel Machek
7e61cac325
Triggered updates should now actually work. Fixed metric=16 -> time it
...
out logic.
1999-11-25 13:38:25 +00:00
Pavel Machek
774f149959
Fix timeouts. Triggered updates are not done, yet.
1999-11-25 12:01:45 +00:00
Ondrej Filip
4364b47e48
ospf.c and ospc.h splitted into various files.
1999-11-17 15:50:41 +00:00
Ondrej Filip
2af2636a69
Another bugfix. (In EXCHANGE state.)
1999-11-17 13:28:51 +00:00
Ondrej Filip
e17baa3108
Fixed bug receiving dbdes packets in EXSTART state.
1999-11-17 13:15:01 +00:00
Martin Mares
ea9bb932a3
Commented out nexthop selection, see the comment.
1999-11-17 11:16:15 +00:00
Ondrej Filip
986e34131d
Sending DBDES packet in EXSTART done.
1999-11-10 16:06:12 +00:00
Martin Mares
6ba36f06ae
Added LSA hashing table (parts of code stolen from rt-fib.c, but
...
heavily simplified since we don't need asynchronous walking).
1999-11-10 12:27:01 +00:00
Pavel Machek
3918b1b050
Added timeout for routes (which means proper expiring of routes) added
...
few fixmes.
1999-11-10 11:52:36 +00:00
Pavel Machek
a5b583f20a
FIXME's updated. One fixme is remaining for correct RIPv4. Wow.
1999-11-04 14:39:51 +00:00
Pavel Machek
7bf19253d0
Reject packets which are not authenticated.
...
Set correct nexthop on outgoing packets.
1999-11-04 14:26:18 +00:00
Ondrej Filip
ecc3cf6f50
Working on db des receiving.
...
Preparing for building LDA database.
1999-11-03 12:59:38 +00:00
Ondrej Filip
c2250f91c7
Minor changes and bug fixes. Preparing for Exchange and higher states.
1999-10-19 16:13:06 +00:00
Ondrej Filip
96f1b8ba10
Huge changes. Neighbor and interface state machines rewritten.
...
It should be cleaner now, I'm preparing for file splitting.
Maybe I added some minor bugs. :-(
1999-10-18 21:48:51 +00:00
Pavel Machek
f942a589ef
FIXME's for rip added.
...
Will we ever able to generate packets saying "route 1.2.3.4 using someone else"?
1999-10-12 13:04:50 +00:00
Martin Mares
89dc383a8c
Changed syntax of ip_class_mask, the old one was stupid.
1999-10-12 07:46:08 +00:00
Pavel Machek
c79ec2ec19
Untested IPv6 support added. I do not know if it compiles in IPV6 mode.
1999-10-11 14:19:29 +00:00
Pavel Machek
ac40c888c2
Obvious bugs in authentication fixed.
1999-10-02 10:44:48 +00:00
Ondrej Filip
2c1d1cc765
DD packet receiving in ExStart.
1999-08-25 18:44:50 +00:00
Ondrej Filip
1af664158d
A structure for receiving DD seq packets added.
1999-08-24 18:32:26 +00:00
Ondrej Filip
e3121112ab
Preparing to send DD packets.
1999-08-24 14:42:51 +00:00
Pavel Machek
2981814066
Few FIXME's removed from auth, few FIXME's added to filter.
1999-08-20 09:59:39 +00:00
Pavel Machek
bce8a34b12
Few fixme's fixed in rip (will not crash any more on request for
...
sending routing table - hopefully).
Next few steps in md5 authentication (not yet complete).
1999-08-18 13:19:33 +00:00
Ondrej Filip
b332fcdfc8
Better dumping.
1999-08-16 10:32:05 +00:00
Ondrej Filip
032df28048
Small bux fixes. A neigh_chstate added.
1999-08-10 12:06:45 +00:00
Ondrej Filip
a7d388d23e
Multiple "hton problems" fixed. Now we're in EXSTART state.
1999-08-09 18:59:37 +00:00
Ondrej Filip
2be22ddb4c
"My own IP problem" fixed.
1999-08-09 18:49:50 +00:00
Ondrej Filip
a4c2ee717c
Bug fix in checksum calculation.
1999-08-09 18:34:08 +00:00
Ondrej Filip
b1693b8f74
Bug in election fixed.
1999-08-09 18:11:51 +00:00
Ondrej Filip
e83dc0d7e7
(Backup) Designated Router election added.
1999-08-09 17:58:01 +00:00
Ondrej Filip
8c51f96acf
Some interface state machine changes. I found some problem in RFC,
...
trying to conntact authors.
1999-08-09 13:03:28 +00:00
Martin Mares
55e06729b1
Forgot to do a `cvs add', grr.
1999-08-03 19:57:43 +00:00
Martin Mares
8edf2361f9
Cleaned up handling of interface patterns:
...
o Parsing of interface patterns moved to generic code,
introduced this_ipatt which works similarly to this_iface.
o Interface patterns now support selection by both interface
names and primary IP addresses.
o Proto `direct' updated.
o RIP updated as well, it also seems the memory corruption
bug there is gone.
1999-08-03 19:30:49 +00:00
Ondrej Filip
39369d6fbe
Fixed stupid bug with hello vs inactim timers.
1999-06-02 16:31:13 +00:00
Ondrej Filip
bae0f7dbb1
Neigbor deleting done. (I have some problems with timers, so it does not
...
send hello.)
1999-06-01 17:29:56 +00:00
Ondrej Filip
cd70d93470
Detecting of new neighbor added. It starts inactivity timer.
1999-06-01 16:35:18 +00:00
Martin Mares
3e1f30610e
Defined IP_PREC_INTERNET_CONTROL and made all (well, both :)) protocols
...
use it when creating sockets.
1999-06-01 13:57:24 +00:00
Pavel Machek
9de840bdbd
Set corectly destination address for RIP multicast. Broadcasting &
...
multicasting rip actually works [broadcasting is kind of hard to turn
it on, through].
1999-05-31 20:34:48 +00:00
Pavel Machek
b94bbe0027
Added FIXME: mode broadcast randombly corrupts memory.
...
Small cleaning and bugfixes.
1999-05-31 20:30:16 +00:00
Pavel Machek
9607536dbf
Kill duplicity between rif and rif_patt.
1999-05-31 19:43:08 +00:00
Pavel Machek
72efa4b6f8
Small fixes to rip.
1999-05-31 19:37:16 +00:00
Pavel Machek
bf97bd2827
Cleanup of warnings
1999-05-31 19:22:40 +00:00
Pavel Machek
91c7c7416b
Incoming side of authentication done but untested. Right handling of
...
filters in rip.
1999-05-31 19:16:22 +00:00
Ondrej Filip
c72b09c850
IP socket priority (sock->tos) added. Constant taken from tcpdump of CISCO
...
and gated.
1999-05-31 19:07:31 +00:00
Ondrej Filip
35ff423d54
Some RX_Hello checks added.
1999-05-31 18:56:20 +00:00
Martin Mares
bb027be1e2
Added extra argument to rt_update hook which contains a pointer to the
...
temporary attribute list.
1999-05-31 18:55:35 +00:00
Ondrej Filip
75b84c34e3
Sending and receving of hello pkts works. No I will start building neighbor
...
database.
1999-05-31 18:24:54 +00:00
Pavel Machek
10915c9650
Modified rip to new password handling in nest. Now it at least compiles.
1999-05-31 17:12:38 +00:00
Pavel Machek
fd5f8704bb
Make rip use newly defined password lists.
1999-05-26 14:37:47 +00:00
Ondrej Filip
903a3f3928
struct ospf_neigbor corrected.
1999-05-24 21:49:22 +00:00
Ondrej Filip
c76674f0e9
struct ospf_neigbor added. Neigbor state machine implementation can start.
1999-05-24 21:17:16 +00:00
Ondrej Filip
65112dd270
ifa->time split into wait_timer and hello_timer. I will send hello in WAITING state.
1999-05-24 18:22:00 +00:00
Ondrej Filip
b9f8590025
IP header test added.
1999-05-24 17:29:05 +00:00
Martin Mares
4f1a6d27b9
Kill remaining master_table relics in KRT code.
...
Make all protocols pass routing table to rte_update and rte_discard.
1999-05-17 20:16:53 +00:00
Martin Mares
b23c5e0ff4
Added ip_skip_header() and modified OSPF to use it.
1999-05-14 18:03:09 +00:00
Ondrej Filip
11ce4490fa
*** empty log message ***
1999-05-14 08:50:25 +00:00
Ondrej Filip
67ff91302f
Netmask checking for hello packets added.
1999-05-14 08:46:06 +00:00
Ondrej Filip
7426ee3d49
Checksum control added.
1999-05-13 09:18:36 +00:00
Ondrej Filip
296ecb56eb
OSPF RX implementation starts....
1999-05-11 15:34:33 +00:00
Pavel Machek
1b16029c12
Mensi updaty do ripu. Pridana passwd autentikace (netestovano).
1999-05-11 09:53:45 +00:00
Ondrej Filip
f7103dfcfe
Better logging output. Added 'struct proto *' info 'struct ospf iface'.
1999-05-11 09:50:02 +00:00
Martin Mares
9a158361da
I rewrote the interface handling code, so that it supports multiple
...
addresses per interface (needed for example for IPv6 support).
Visible changes:
o struct iface now contains a list of all interface addresses (represented
by struct ifa), iface->addr points to the primary address (if any).
o Interface has IF_UP set iff it's up and it has a primary address.
o IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED
in the protocols; I've added this, but please check).
o The if_notify_change hook has been simplified (only one interface pointer
etc.).
o Introduced a ifa_notify_change hook. (For now, only the Direct protocol
does use it -- it's wise to just listen to device routes in all other
protocols.)
o Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway).
o Updated all the code except netlink (I'll look at it tomorrow) to match
the new semantics (please look at your code to ensure I did it right).
Things to fix:
o Netlink.
o Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
1999-05-06 21:38:11 +00:00
Ondrej Filip
59e2188cb7
Just changes of comments.
1999-04-27 13:04:33 +00:00
Ondrej Filip
6376a96133
Hello timer implemented.
1999-04-27 12:56:52 +00:00
Ondrej Filip
93bde8dce2
Work on hello continues.
1999-04-22 13:12:28 +00:00
Pavel Machek
36bbfc704c
Updated filters: they now actually see IP/pxlen of net being filtered,
...
gateway, and who told us, so they can do usefull jobs from now on.
1999-04-19 18:41:56 +00:00
Pavel Machek
afbc41ab3d
SImplify code a tiny bit.
1999-04-14 21:11:24 +00:00
Ondrej Filip
b11d8a4f59
Redesigned struct ospf_iface & new struct ospf_sock.
1999-04-14 15:13:44 +00:00
Ondrej Filip
b31568a516
Small bug fix in memcpy.
1999-04-14 12:47:18 +00:00
Martin Mares
9da4d14340
A couple of OSPF fixes:
...
o ((flags & IF_CHANGE_UP) == IF_CHANGE_UP) -> (flags & IF_CHANGE_UP)
o bcopy -> memcpy (bcopy is unportable)
o Ifdeffed out add_tail(&(ifa->sk_list),NODE mcsk) -- the node in socket
structure is for internal use by the resource manager only. (Now, the
debugging dump of open sockets looks sane :-)).
1999-04-14 11:09:55 +00:00
Martin Mares
1ab4dee028
Removed redeclaration of `idval', so that it compiles :)
1999-04-14 10:49:31 +00:00
Ondrej Filip
4c630a6dd7
Added wait timer for eligible BCAST & NBMA interface.
1999-04-13 21:46:20 +00:00
Ondrej Filip
55e7732a5a
Change in ospf_iface. (My bad understanding of lists manipulation.)
1999-04-13 19:27:44 +00:00
Ondrej Filip
aec76c6e8e
IPv6 changes.
1999-04-13 18:21:53 +00:00
Ondrej Filip
24eaae9e5d
Small change to stop using loopback.
1999-04-13 00:46:34 +00:00
Ondrej Filip
cb2e8c4970
A small init change to avoid core dump.
1999-04-13 00:24:05 +00:00
Ondrej Filip
5b1a92e6d4
Not all I mean serious. Almost everything will change.
...
Changes: struct ospf_iface draft, various constants added...
1999-04-12 23:54:21 +00:00
Martin Mares
08e2d6259a
Removed TOS support. This simplifies many things a lot.
1999-04-12 18:01:07 +00:00