- 25 Dec, 2008 1 commit
-
-
Ondřej Zajíček authored
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.
-
- 24 Dec, 2008 2 commits
-
-
Ondřej Zajíček authored
When capability related error is received, next connect will be without capabilities. Also cease error subcodes descriptions (according to [RFC4486]) are added.
-
Ondřej Zajíček authored
BGP keeps its copy of configuration ptr and didn't update it during reconfiguration. But old configuration is freed during reconfiguration. That leads to unnecessary reset of BGP connection during reconfiguration (old conf is corrupted and therefore different) and possibly other strange behavior.
-
- 19 Dec, 2008 1 commit
-
-
Ondřej Zajíček authored
Fixes two race conditions causing crash of Bird, several unhandled cases during BGP initialization, and some other bugs. Also changes handling of startup delay to be more useful and implement reporting of last error in 'show protocols' command.
-
- 18 Dec, 2008 1 commit
-
-
Ondřej Zajíček authored
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 :-) .
-
- 12 Dec, 2008 1 commit
-
-
Ondřej Zajíček authored
executing sk_read().
-
- 08 Dec, 2008 1 commit
-
-
Ondřej Zajíček authored
The core state machine was broken - it didn't free resources in START -> DOWN transition and might freed resources after UP -> STOP transition before protocol turned down. It leads to deadlock on olock acquisition when lock was not freed during previous stop. The current behavior is that resources, allocated during DOWN -> * transition, are freed in * -> DOWN transition, and flushing (scheduled in UP -> *) just counteract feeding (scheduled in * -> UP). Protocol fell down when both flushing is done (if needed) and protocol reports DOWN. BTW, is thera a reason why neighbour cache item acquired by protocol is not tracked by resource mechanism?
-
- 22 Nov, 2008 1 commit
-
-
Ondřej Zajíček authored
When protocol started, feeding was scheduled. If protocol got down before feeding was executed, then function responsible for connecting protocol to kernel routing tables was called after the function responsible for disconnecting, then resource pool of protocol was freed, but freed linked list structures remains in the list.
-
- 21 Nov, 2008 4 commits
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
shows only parts of larger outputs (for example 'show route all'). It seems that birdc reads (from bird) and writes (to stdout) everything but during execution of some readline code some already written output disappeared (although it is fflush()ed and tcdrain()ed). As birdc reads from stdin when select said there are some data, O_NONBLOCK for stdin is unnecessary and when it is removed, i didn't notified this problem.
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
in select loop.
-
- 16 Nov, 2008 2 commits
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
-
- 14 Nov, 2008 3 commits
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
This patch fixes it.
-
Ondřej Zajíček authored
representing a name of the protocol that originated the route. Strings can be compared using = or matched using ~. Routes can be filtered, for example: show route where proto ~ "bgp1*"
-
- 08 Nov, 2008 2 commits
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
values for MD5 password ID changed during reconfigure, Second bug is that BIRD chooses password in first-fit manner, but RFC says that it should use the one with the latest generate-from. It also modifies the syntax for multiple passwords. Now it is possible to just add more 'password' statements to the interface section and it is not needed to use 'passwords' section. Old syntax can be used too.
-
- 06 Nov, 2008 1 commit
-
-
Ondřej Zajíček authored
-
- 05 Nov, 2008 2 commits
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
-
- 04 Nov, 2008 2 commits
-
-
Ondřej Zajíček authored
are completely useless.
-
Ondřej Zajíček authored
-
- 01 Nov, 2008 2 commits
-
-
Ondřej Zajíček authored
ttl 1.
-
Ondřej Zajíček authored
-
- 29 Oct, 2008 1 commit
-
-
Ondřej Zajíček authored
RFC says that only connections in OpenConfirm and Established state should participate in connection collision detection. The current implementation leads to race condition when both sides are trying to connect at the almost same time, then both sides receive OPEN message by different connections at the almost same time and close the other connection. Both connections are closed and the both sides end in start/idle or start/active state.
-
- 28 Oct, 2008 1 commit
-
-
Ondřej Zajíček authored
-
- 27 Oct, 2008 2 commits
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
Two new CLI commands for OSPF giving nice informative (and still machine parsable) representation of OSPF network graph (based on datas from the LSA database). The first command (show ospf topology) shows routers, networks and stub networks, The second command (show ospf state) shows also external routes and area-external networks and routers propagated by given area boundary router.
-
- 26 Oct, 2008 10 commits
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
The code generating LSAs for PTP OSPF links is buggy. The old behavior is that it generates PTP link if there is a full/ptp neighbor and stub link if there isn't. According to RFC 2328, the correct behavior is to generate stub link in both cases (in the first case together with PTP link). And because of buggy detection of unnumbered networks, for numbered networks the code creates stub links with 0.0.0.0/32.
-
Ondřej Zajíček authored
'Invalid broadcast address' error is reported only once for an interface and not during every interface scan.
-
Ondřej Zajíček authored
Bird sometimes reported 'bird: nl_parse_link: Malformed message received'. The cause is that bird asynchronously received netlink packet from wireless driver about some wireless event on its link layer. In that case bird shouldn't complain.
-
Ondřej Zajíček authored
Here is a patch fixing a bug that causes breakage of a local routing table during shutdown of Bird. The problem was caused by shutdown of 'device' protocol before shutdown of 'kernel' protocol. When 'device' protocol went down, the route (with local network prefix) From different protocol (BGP or OSPF) became preferred and installed to the kernel routing table. Such routes were broken (like 192.168.1.0/24 via 192.168.1.2). I think it is also the cause of problem reported by Martin Kraus. The patch disables updating of kernel routing table during shutdown of Bird. I am not sure whether this is the best way to fix it, I would prefer to forbid 'kernel' protocol to overwrite routes with 'proto kernel'. The patch also fixes a problem that during shutdown sometimes routes created by Bird remained in the kernel routing table.
-
Ondřej Zajíček authored
- Old MED handling was completely different from behavior specified in RFCs - for example they havn't been propagated to neighboring areas. - Update tie-breaking according to RFC 4271. - Change default value for 'default bgp_med' configuration option according to RFC 4271.
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
-