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

141 Commits

Author SHA1 Message Date
ea89da381f Workaround for stupid callback scheduler.
There is no reak callback scheduler and previous behavior causes
bad things during hard congestion (like BGP hold timeouts).

Smart callback scheduler is still missing, but main loop was
changed such that it first processes all tx callbacks (which
are fast enough) (but max 4* per socket) + rx callbacks for CLI,
and in the second phase it processes one rx callback per
socket up to four sockets (as rx callback can be slow when
there are too many protocols, because route redistribution
is done synchronously inside rx callback). If there is event
callback ready, second phase is skipped in 90% of iterations
(to speed up CLI during congestion).
2009-10-11 18:56:16 +02:00
46eb80d5d5 Fixes headers for uintptr_t (and build on NetBSD). 2009-09-17 17:52:36 +02:00
daeeb8e982 Clear memory allocated by ralloc().
This also fixes bug that timer->recurrent was not cleared
in tm_new() and unexpected recurrence of startup timer
in BGP confused state machine and caused crash.
2009-09-04 11:24:08 +02:00
54d70d3ebb Fixes compiler warning in OFFSETOF(). 2009-07-23 22:21:17 +02:00
2f6483cd31 Adds %R printf directive for Router ID. 2009-07-23 16:06:25 +02:00
d1abbeacfb Fixes memory alignment problems on Sparc64.
Not quite standard construction, i should add
some autoconf macro.

Not tested yet.
2009-07-06 19:07:01 +02:00
789772ed45 Implements option that changes BGP listening socket parametres. 2009-06-18 19:20:07 +02:00
1b3b3e34ec Minor bugfixes. 2009-06-18 14:32:44 +02:00
3d15dcdb1c Changes OSPF to generate stub networks for non-primary addresses.
Also does some reorganization in RT LSA announcement.
2009-06-10 23:45:08 +02:00
c60cdd8c39 Cleanup changes 2009-03-31 21:17:00 +02:00
b1a597e0c3 Reimplementation of prefix sets.
Prefix sets were broken beyond any repair and have to be reimplemented.
They are reimplemented using a trie with bitmasks in nodes.
There is also change in the interpretation of minus prefix pattern,
but the old interpretation was already inconsistent with
the documentation and broken.

There is also some bugfixes in filter code related to set variables.
2009-03-31 12:55:57 +02:00
cb53039271 Rate limit for most abundant log messages 2009-02-26 14:23:54 +01:00
02a9eeeb85 Slist update 2009-01-12 14:40:21 +01:00
083c43e22e fixes some 64-bit related bugs.
Filter code used 'aux' integer field of 'symbol' struct to store ptr
to next symbol and both 'aux2' and 'def' fields for value.
Changed to just 'def' for value and 'aux2' for ptr to next symbol.
Also another minor bugfix.
2008-12-25 11:55:27 +01:00
b933281ed5 Fixes nasty bug in event processing.
WALK_LIST_DELSAFE (in ev_run_list) is not safe with regard
to deletion of next node. When some events are rescheduled
during event execution, it may lead to deletion of next
node and some events are skipped. Such skipped nodes remain
in temporary list on stack and the last of them contains
'next' pointer to stack area. When this event is later
scheduled, it damages stack area trying to remove it from
the list, which leads to random crashes with funny
backtraces :-) .
2008-12-18 23:26:08 +01:00
a39b165e45 Multihop BGP was completely broken, because listening socket has always
ttl 1.
2008-11-01 16:58:40 +01:00
d51aa28190 Implementation of MD5 authentication of BGP sessions. 2008-10-26 22:42:39 +01:00
057021df0d Fix behavior of ipa_opposite().
It was giving wrong results on /30 networks.
2008-08-25 11:19:49 +00:00
9831e5916f Staticized lots of local functions. 2004-06-05 09:58:23 +00:00
2f6de49f8c Better prototypes. 2004-06-05 09:57:49 +00:00
fab37e8197 One more in the library. 2004-06-05 09:27:02 +00:00
e98bc2ea9b Renamed log() to log_msg(), but still keeping the old name as a macro.
This is done to avoid clashes with gcc-3.3 which has built-in logarithms :)
2004-06-05 09:05:12 +00:00
5da8f82feb A better comment. 2004-06-05 09:01:12 +00:00
e7ef86a58c OSPF is ready for changing MTU. 2004-06-04 18:51:29 +00:00
7fdd338c36 ALIGN -> BIRD_ALIGN 2004-06-01 10:28:25 +00:00
38a608c55a Rewritten the I/O loop. All socket operations are now safe, meaning that
you can delete the socket from anywhere in the hooks and nothing should break.
Also, the receive/transmit buffers are now regular xmalloc()'ed buffers,
not separate resources which would need shuffling around between pools.

sk_close() is gone, use rfree() instead.
2004-05-31 21:48:19 +00:00
206f59dfa8 Added UNUSED. 2004-05-31 21:02:09 +00:00
2cc37815ae Added rmove() (by Andreas, tweaked by me). 2004-05-31 18:47:19 +00:00
1bd897dd33 Changed of comments. 2004-05-31 17:27:21 +00:00
7dbd4fd332 alloca.h added 2004-05-31 17:13:58 +00:00
0e6eef620d Use #include "alloca.h" 2004-05-31 17:07:05 +00:00
012279f395 Some include added. 2004-05-31 13:59:03 +00:00
d93fb7e6b9 #ifndef ALIGN - it is defined on *BSD 2004-05-31 13:58:38 +00:00
47f18ac39a ABS should be a macro. 2002-11-13 08:47:19 +00:00
30b773041c IP address formatting now uses the same rules as formatting of strings
with two exceptions:

   o  Any non-zero field width is automatically replaced by standard
      IP address width. This hides dependences on IPv4/IPv6.
   o  %#I generates hexadecimal form of the address.

Therefore |%I| generates unpadded format, |%1I| full size flush-right,
and |%-1I| full size flush-left format.
2001-08-19 11:11:44 +00:00
27e993fb4e Fixed duplicity in log category numbering.
Thanks to Zheng Yuan for spotting this.
2001-02-20 09:49:19 +00:00
0766e962e9 Bug fix from Zheng Yuan <zyuan1@cig.mot.com>. 2001-01-17 08:32:28 +00:00
a2d01907c5 Added an explanatory comment. 2001-01-15 09:24:16 +00:00
725270cb1d Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
58f7d004fd Fixes to the progdoc. 2000-06-07 13:25:53 +00:00
2e9b24211a Spelling fixes to progdoc. 2000-06-07 12:29:08 +00:00
3df89cefc1 #define SIZE_OF_IP_HEADER 2000-06-07 01:18:36 +00:00
525fa2c1f0 Documented sockets, events and timers. 2000-06-05 12:19:12 +00:00
5cc1e1f805 Documented memory resources. 2000-06-05 11:41:41 +00:00
7722938d63 Added library progdocs. 2000-06-04 18:34:39 +00:00
38cf78a97a Added the introduction chapter of progdoc. 2000-05-31 13:30:58 +00:00
fcb5f4a725 Updated all the Doc files to new format. 2000-05-31 11:30:18 +00:00
cfa6ab0593 Added ipa_absolutize() which converts link-scope addresses to global scope
ones according to prefix assigned to the corresponding interface.
2000-05-30 22:47:33 +00:00
be77b6890c Poisoning: take there... 2000-05-16 15:02:33 +00:00
e2f4f27564 Oops, the poison was too deadly... 2000-05-16 13:53:44 +00:00