]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
27 years agoInsert/remove hooks return void, not int.
Martin Mares [Tue, 20 Oct 1998 15:17:38 +0000 (15:17 +0000)] 
Insert/remove hooks return void, not int.

27 years agoAdded pointer to network to RTE. The complications with passing NET separately
Martin Mares [Tue, 20 Oct 1998 15:13:18 +0000 (15:13 +0000)] 
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.

27 years agoUpdated TODO.
Martin Mares [Mon, 19 Oct 1998 18:18:12 +0000 (18:18 +0000)] 
Updated TODO.

27 years agoGenerate router_id automatically if possible (standard "smallest of local
Martin Mares [Mon, 19 Oct 1998 18:13:36 +0000 (18:13 +0000)] 
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.

27 years agoBasic kernel routing table syncing implemented. Learning of routes installed
Martin Mares [Mon, 19 Oct 1998 17:52:29 +0000 (17:52 +0000)] 
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.

27 years agoUse (SOCK_DGRAM,IPPROTO_IP) socket instead of (SOCK_STREAM,IPPROTO_TCP).
Martin Mares [Mon, 19 Oct 1998 17:48:45 +0000 (17:48 +0000)] 
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.

27 years agoExporting fill_in_sockaddr() for use by other unix-dependent code.
Martin Mares [Mon, 19 Oct 1998 17:47:50 +0000 (17:47 +0000)] 
Exporting fill_in_sockaddr() for use by other unix-dependent code.

27 years agoFixed generation of device routes for unnumbered point-to-point links.
Martin Mares [Mon, 19 Oct 1998 17:46:45 +0000 (17:46 +0000)] 
Fixed generation of device routes for unnumbered point-to-point links.

27 years agoProto struct now contain (down | starting | up) state.
Martin Mares [Mon, 19 Oct 1998 17:45:29 +0000 (17:45 +0000)] 
Proto struct now contain (down | starting | up) state.

27 years agoWe parse /proc/net/route and flag RT entries according to it. More to come
Martin Mares [Sun, 18 Oct 1998 22:25:56 +0000 (22:25 +0000)] 
We parse /proc/net/route and flag RT entries according to it. More to come
today in the morning...

27 years agoo FIB flags now available for FIB users.
Martin Mares [Sun, 18 Oct 1998 22:24:41 +0000 (22:24 +0000)] 
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).

27 years agoAdded ipa_from_u32 and ipa_from_u32 for use in the kernel sync code (IPv4 only).
Martin Mares [Sun, 18 Oct 1998 22:22:28 +0000 (22:22 +0000)] 
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.

27 years agoSince almost every UNIX system requires different techniques for reading
Martin Mares [Sun, 18 Oct 1998 12:50:43 +0000 (12:50 +0000)] 
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 ;-)

27 years ago* Please distinguish between DGB() and debug().
Martin Mares [Sun, 18 Oct 1998 12:48:15 +0000 (12:48 +0000)] 
* Please distinguish between DGB() and debug().

27 years agoPreconfig, postconfig and init hooks can be NULL.
Martin Mares [Sun, 18 Oct 1998 12:26:02 +0000 (12:26 +0000)] 
Preconfig, postconfig and init hooks can be NULL.

27 years agoSplit protocol init to building of protocol list and real protocol init.
Martin Mares [Sun, 18 Oct 1998 11:53:21 +0000 (11:53 +0000)] 
Split protocol init to building of protocol list and real protocol init.
Added kernel route table syncer skeleton.

27 years agoRemoved global pointer to proto_dev.
Martin Mares [Sun, 18 Oct 1998 11:50:36 +0000 (11:50 +0000)] 
Removed global pointer to proto_dev.

27 years agoAfter contemplating about RIP route timeouts for a long time, I've implemented
Martin Mares [Sun, 18 Oct 1998 11:13:16 +0000 (11:13 +0000)] 
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.

27 years agoImplemented `route last modified' time.
Martin Mares [Sun, 18 Oct 1998 10:49:46 +0000 (10:49 +0000)] 
Implemented `route last modified' time.

27 years agoFixed misleading comment.
Martin Mares [Sat, 17 Oct 1998 11:26:28 +0000 (11:26 +0000)] 
Fixed misleading comment.

27 years agoEach protocol now hears even its own routes and needs to make its own
Martin Mares [Sat, 17 Oct 1998 11:24:13 +0000 (11:24 +0000)] 
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.

27 years agoSolve chicken-and-egg problems with protocol startup. We now queue all inactive
Martin Mares [Sat, 17 Oct 1998 11:05:18 +0000 (11:05 +0000)] 
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.

27 years agoWALK_LIST_DELSAFE now actually works (it really couldn't since it didn't
Martin Mares [Sat, 17 Oct 1998 11:02:39 +0000 (11:02 +0000)] 
WALK_LIST_DELSAFE now actually works (it really couldn't since it didn't
reference list head at all).

27 years agorip should now correctly listen, but entries will not time out.
Pavel Machek [Sat, 17 Oct 1998 10:25:22 +0000 (10:25 +0000)] 
rip should now correctly listen, but entries will not time out.

27 years agoRip: rip_rta_same added.
Pavel Machek [Thu, 15 Oct 1998 15:12:24 +0000 (15:12 +0000)] 
Rip: rip_rta_same added.

27 years agoMoved scanning of interfaces, so that they get initialized after all
Martin Mares [Wed, 14 Oct 1998 13:38:17 +0000 (13:38 +0000)] 
Moved scanning of interfaces, so that they get initialized after all
routing protocol instances.

27 years agoLists: unneccessary test killed, make code friendly to non-gcc.
Pavel Machek [Wed, 14 Oct 1998 13:27:53 +0000 (13:27 +0000)] 
Lists: unneccessary test killed, make code friendly to non-gcc.

27 years agoo There are cases when SIOCGIFINDEX is defined, but it doesn't work. When
Martin Mares [Tue, 13 Oct 1998 19:57:33 +0000 (19:57 +0000)] 
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.

27 years agoStrange, on atrey ioctl() does not fill structure, and bird segfaults
Pavel Machek [Tue, 13 Oct 1998 14:59:46 +0000 (14:59 +0000)] 
Strange, on atrey ioctl() does not fill structure, and bird segfaults
on it. Now we "only" die().

27 years agoI prefer to have broken drivers than completely stupid ones...
Pavel Machek [Tue, 13 Oct 1998 14:32:18 +0000 (14:32 +0000)] 
I prefer to have broken drivers than completely stupid ones...

Linus Torvalds

Rip now uses main routing table properly: entries are stored directly
into main routing table and we are relying on core to call our's
compare. That unfortunately broke garbage collecting (and probably
many more things). It compiles.

27 years agoRIP now somehow listens to main routing table (dont expect it to work)
Pavel Machek [Wed, 7 Oct 1998 19:33:50 +0000 (19:33 +0000)] 
RIP now somehow listens to main routing table (dont expect it to work)

27 years agoRoute update hook now gets network prefix as well as updated
Martin Mares [Mon, 31 Aug 1998 21:13:42 +0000 (21:13 +0000)] 
Route update hook now gets network prefix as well as updated
route attributes.

27 years agoBird's info are now understood by ripquery.
Pavel Machek [Thu, 30 Jul 1998 07:43:45 +0000 (07:43 +0000)] 
Bird's info are now understood by ripquery.

27 years agoRip now includes code to reply, but it is currently broken.
Pavel Machek [Tue, 28 Jul 1998 21:44:11 +0000 (21:44 +0000)] 
Rip now includes code to reply, but it is currently broken.

27 years agoDo not segfault on iface == NULL.
Pavel Machek [Tue, 28 Jul 1998 21:42:08 +0000 (21:42 +0000)] 
Do not segfault on iface == NULL.

27 years agoReversed buggy patch.
Pavel Machek [Mon, 20 Jul 1998 20:05:40 +0000 (20:05 +0000)] 
Reversed buggy patch.

27 years agoAdded comment explaining `now'.
Martin Mares [Wed, 15 Jul 1998 19:42:23 +0000 (19:42 +0000)] 
Added comment explaining `now'.

27 years agoRemoved format specification attributes for log() and debug() until
Martin Mares [Fri, 10 Jul 1998 08:39:34 +0000 (08:39 +0000)] 
Removed format specification attributes for log() and debug() until
GCC is fixed to handle custom formats.

27 years agoAdded ipa_class_mask() which guesses netmask for classful addressing.
Martin Mares [Fri, 10 Jul 1998 08:38:29 +0000 (08:38 +0000)] 
Added ipa_class_mask() which guesses netmask for classful addressing.
For pure A/B/C class addresses it just returns the class netmask, for
subnets it tries to guess subnet mask. Please make sure the address
you pass to this function is really a valid host address (i.e., call
ipa_validate() first).

27 years agoReplaced remaining references of clock_t by bird_clock_t.
Martin Mares [Fri, 10 Jul 1998 08:32:18 +0000 (08:32 +0000)] 
Replaced remaining references of clock_t by bird_clock_t.

27 years agoCommiting RIP. RIP should somehow listen, will not reply. I needed to
Pavel Machek [Thu, 9 Jul 1998 19:39:04 +0000 (19:39 +0000)] 
Commiting RIP. RIP should somehow listen, will not reply. I needed to
commit it so that whole thing compiles.

27 years agoMaking SIGUSR1 dump also all protocols.
Pavel Machek [Thu, 9 Jul 1998 19:37:39 +0000 (19:37 +0000)] 
Making SIGUSR1 dump also all protocols.

27 years agoAdding proto_dump_all() function
Pavel Machek [Thu, 9 Jul 1998 19:36:52 +0000 (19:36 +0000)] 
Adding proto_dump_all() function

27 years agoAdding MIN()/MAX() macros
Pavel Machek [Thu, 9 Jul 1998 19:36:05 +0000 (19:36 +0000)] 
Adding MIN()/MAX() macros

27 years agoAdding walk list which permits you to delete entries.
Pavel Machek [Thu, 9 Jul 1998 19:35:23 +0000 (19:35 +0000)] 
Adding walk list which permits you to delete entries.

27 years agoUse '%I' instead of dirty address printing hacks.
Martin Mares [Wed, 17 Jun 1998 14:36:02 +0000 (14:36 +0000)] 
Use '%I' instead of dirty address printing hacks.

27 years agoOops, forgot '%m'...
Martin Mares [Wed, 17 Jun 1998 14:34:13 +0000 (14:34 +0000)] 
Oops, forgot '%m'...

27 years agodebug() and log() use the new printf. Feel free to use new formatting
Martin Mares [Wed, 17 Jun 1998 14:33:29 +0000 (14:33 +0000)] 
debug() and log() use the new printf. Feel free to use new formatting
sequences for all output.

27 years agoAdded local version of sprintf (bsprintf and bvsprintf) offering few new
Martin Mares [Wed, 17 Jun 1998 14:31:36 +0000 (14:31 +0000)] 
Added local version of sprintf (bsprintf and bvsprintf) offering few new
format strings:

%I IP address
%#I IP address in hexadecimal
%1I IP address padded to full length
%m strerror(errno)

27 years agoip_ntop() and ip_ntox() for IPv4.
Martin Mares [Wed, 17 Jun 1998 14:28:46 +0000 (14:28 +0000)] 
ip_ntop() and ip_ntox() for IPv4.

27 years agoAdded function for converting of IP addresses to printable form.
Martin Mares [Wed, 17 Jun 1998 14:26:30 +0000 (14:26 +0000)] 
Added function for converting of IP addresses to printable form.

27 years agoNow sending IF_CHANGE_CREATE when a new interface appears and IF_CHANGE_UP
Martin Mares [Thu, 4 Jun 1998 20:30:11 +0000 (20:30 +0000)] 
Now sending IF_CHANGE_CREATE when a new interface appears and IF_CHANGE_UP
only if it's really up.

27 years agoFIB_WALK and friends are now slightly more friendly.
Martin Mares [Thu, 4 Jun 1998 20:29:44 +0000 (20:29 +0000)] 
FIB_WALK and friends are now slightly more friendly.

27 years agoDumping of _static_ attributes implemented.
Martin Mares [Thu, 4 Jun 1998 20:29:05 +0000 (20:29 +0000)] 
Dumping of _static_ attributes implemented.

27 years agoWe have full interface routes now.
Martin Mares [Thu, 4 Jun 1998 20:28:43 +0000 (20:28 +0000)] 
We have full interface routes now.

27 years agoHandle route deletion without segfaults. A bit more debug dumps.
Martin Mares [Thu, 4 Jun 1998 20:28:19 +0000 (20:28 +0000)] 
Handle route deletion without segfaults. A bit more debug dumps.

27 years agoFixed processing of timers.
Martin Mares [Thu, 4 Jun 1998 20:27:49 +0000 (20:27 +0000)] 
Fixed processing of timers.

27 years agoKilled socket debug code. Initialize config pool and protocols.
Martin Mares [Wed, 3 Jun 1998 08:43:44 +0000 (08:43 +0000)] 
Killed socket debug code. Initialize config pool and protocols.
More to come later...

27 years agoSkeleton of device route protocol. As it's tightly coupled with our kernel,
Martin Mares [Wed, 3 Jun 1998 08:42:16 +0000 (08:42 +0000)] 
Skeleton of device route protocol. As it's tightly coupled with our kernel,
it sits here instead of `proto/dev'.

27 years agoProtocol hooks. All of them may be NULL.
Martin Mares [Wed, 3 Jun 1998 08:40:10 +0000 (08:40 +0000)] 
Protocol hooks. All of them may be NULL.

27 years agoBasic protocol operations.
Martin Mares [Wed, 3 Jun 1998 08:38:53 +0000 (08:38 +0000)] 
Basic protocol operations.

27 years agoChanged protocol declarations a bit.
Martin Mares [Wed, 3 Jun 1998 08:38:06 +0000 (08:38 +0000)] 
Changed protocol declarations a bit.

27 years agoAdded configuration pool.
Martin Mares [Wed, 3 Jun 1998 08:36:34 +0000 (08:36 +0000)] 
Added configuration pool.

27 years agoProtocols will reside in directory `proto'.
Martin Mares [Wed, 3 Jun 1998 08:35:40 +0000 (08:35 +0000)] 
Protocols will reside in directory `proto'.

27 years agoSynced to new interface code.
Martin Mares [Mon, 1 Jun 1998 21:41:32 +0000 (21:41 +0000)] 
Synced to new interface code.

27 years ago- Rewrote whole interface logic. Removed support for multiple addresses per
Martin Mares [Mon, 1 Jun 1998 21:41:11 +0000 (21:41 +0000)] 
- Rewrote whole interface logic. Removed support for multiple addresses per
  interface since it makes much trouble everywhere. Instead, we understand
  secondary addresses as subinterfaces.

- In case interface addresses or basic flags change, we simply convert it
  to a down/up sequence.

- Implemented the universal neighbour cache. (Just forget what did previous
  includes say of neighbour caching, this one is brand new.)

27 years agoAdded ipa_xor() and ipa_in_net().
Martin Mares [Mon, 1 Jun 1998 21:36:58 +0000 (21:36 +0000)] 
Added ipa_xor() and ipa_in_net().

27 years agoWhee, multicast sockets work!
Martin Mares [Tue, 26 May 1998 21:46:38 +0000 (21:46 +0000)] 
Whee, multicast sockets work!

Implemented recurrent timers.

27 years agoAdded CONFIG_AUTO_ROUTES (automatic device route creation) and
Martin Mares [Tue, 26 May 1998 21:44:54 +0000 (21:44 +0000)] 
Added CONFIG_AUTO_ROUTES (automatic device route creation) and
CONFIG_ALL_MULTICAST (all interfaces capable of multicasting, not depending
on IFF_MULTICAST flag).

27 years agoDebug messages.
Martin Mares [Tue, 26 May 1998 21:43:45 +0000 (21:43 +0000)] 
Debug messages.

27 years agoImplemented scanning of network interfaces. Mostly very ugly code due to
Martin Mares [Tue, 26 May 1998 21:42:05 +0000 (21:42 +0000)] 
Implemented scanning of network interfaces. Mostly very ugly code due to
terrible kernel interface (SIOGIFCONF and friends).

27 years agoAdded generic functions for unaligned data access.
Martin Mares [Tue, 26 May 1998 21:38:06 +0000 (21:38 +0000)] 
Added generic functions for unaligned data access.

27 years agoResource pools are now named.
Martin Mares [Tue, 26 May 1998 21:37:37 +0000 (21:37 +0000)] 
Resource pools are now named.

27 years agoAdded ipa_opposite().
Martin Mares [Tue, 26 May 1998 21:36:48 +0000 (21:36 +0000)] 
Added ipa_opposite().

27 years agoDBG now calls debug() instead of sending it to log().
Martin Mares [Tue, 26 May 1998 21:36:17 +0000 (21:36 +0000)] 
DBG now calls debug() instead of sending it to log().

27 years agoAdded few socket declarations.
Martin Mares [Sun, 24 May 1998 15:00:48 +0000 (15:00 +0000)] 
Added few socket declarations.

27 years agoAdded UNIX implementation of both timers and sockets. Timers should work,
Martin Mares [Sun, 24 May 1998 14:50:18 +0000 (14:50 +0000)] 
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.

27 years agoAdded debug dump function, but it's still empty :(
Martin Mares [Sun, 24 May 1998 14:49:14 +0000 (14:49 +0000)] 
Added debug dump function, but it's still empty :(

27 years agoprotos_init, not proto_init.
Martin Mares [Sun, 24 May 1998 14:48:52 +0000 (14:48 +0000)] 
protos_init, not proto_init.

27 years agoAdded interface index (used only by OS-dependent code since ifindexes itself
Martin Mares [Sun, 24 May 1998 14:48:09 +0000 (14:48 +0000)] 
Added interface index (used only by OS-dependent code since ifindexes itself
are OS-dependent).

27 years agoStaticized some variables and functions.
Martin Mares [Sun, 24 May 1998 14:46:20 +0000 (14:46 +0000)] 
Staticized some variables and functions.

27 years agoFixed path to includes.
Martin Mares [Sun, 24 May 1998 14:44:25 +0000 (14:44 +0000)] 
Fixed path to includes.

27 years agoImplemented timers. Using bird_clock_t for absolute time from now...
Martin Mares [Sun, 24 May 1998 14:40:29 +0000 (14:40 +0000)] 
Implemented timers. Using bird_clock_t for absolute time from now...

27 years agoPoint-to-point links: added address of the opposite end.
Martin Mares [Sun, 24 May 1998 09:20:59 +0000 (09:20 +0000)] 
Point-to-point links: added address of the opposite end.

27 years agoAdded declarations of all our socket functions.
Martin Mares [Sun, 24 May 1998 09:19:26 +0000 (09:19 +0000)] 
Added declarations of all our socket functions.

27 years agoAdded routing table and routing attribute code.
Martin Mares [Wed, 20 May 1998 11:54:33 +0000 (11:54 +0000)] 
Added routing table and routing attribute code.

27 years agoFixed path to includes.
Martin Mares [Fri, 15 May 1998 13:43:59 +0000 (13:43 +0000)] 
Fixed path to includes.

27 years agoThe library is now glued together from generic and OS-dependent parts
Martin Mares [Fri, 15 May 1998 07:56:13 +0000 (07:56 +0000)] 
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.

27 years agoParts of routing table code. Data structure declarations should be
Martin Mares [Fri, 15 May 1998 07:54:32 +0000 (07:54 +0000)] 
Parts of routing table code. Data structure declarations should be
complete now.

27 years agoBIRD library: The story continues.
Martin Mares [Sun, 3 May 1998 16:43:39 +0000 (16:43 +0000)] 
BIRD library: The story continues.

Complete resource manages and IP address handling.

27 years agoNext attempt on data structures...
Martin Mares [Sun, 3 May 1998 16:42:45 +0000 (16:42 +0000)] 
Next attempt on data structures...

27 years agoAdded new subdir for UNIX-dependent files.
Martin Mares [Sun, 3 May 1998 16:42:08 +0000 (16:42 +0000)] 
Added new subdir for UNIX-dependent files.

Now contains only functions for logging, but it will change soon.

27 years agoChanged #include <x/y> to #include "x/y" for our local includes, so that
Martin Mares [Tue, 28 Apr 1998 14:39:34 +0000 (14:39 +0000)] 
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.

28 years agoAdded IP address manipulation macros, interface declarations and logging.
Martin Mares [Thu, 23 Apr 1998 14:01:15 +0000 (14:01 +0000)] 
Added IP address manipulation macros, interface declarations and logging.

28 years agoAdded few route attributes.
Martin Mares [Thu, 23 Apr 1998 08:09:39 +0000 (08:09 +0000)] 
Added few route attributes.

28 years agoFirst look at data structures. More to come tomorrow...
Martin Mares [Wed, 22 Apr 1998 12:58:34 +0000 (12:58 +0000)] 
First look at data structures. More to come tomorrow...

28 years agoAdded banner presented to KSVI.
Martin Mares [Fri, 20 Mar 1998 18:30:55 +0000 (18:30 +0000)] 
Added banner presented to KSVI.