summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-02-27Better handling of too long attributesOndrej Zajicek
This patch extends the length for attributes from 1024 to 2048 (because both AS_PATH and AS4_PATH attributes take 2+4 B per AS). If there is not enough space for attributes, Bird skips that route group. Old behavior (skipping remaining attributes) leads to skipping required attributes and session drop.
2009-02-26Rate limit for most abundant log messagesOndrej Zajicek
2009-02-25Fixes another bug in packet retransmissions.Ondrej Zajicek
When slave was in full state, it didn't retransmit lost packets. That leads to OSPF connection locked in states loading-full.
2009-02-21Fixes crash during some expressionsOndrej Zajicek
Bird crashed when 'bgp_path.len' was used for routes that does not came from BGP.
2009-02-21Add format for BGP_AGGREGATOR attributeOndrej Zajicek
2009-02-21Fix bug in empty bgp mask handlingOndrej Zajicek
2009-02-12Documentation updateOndrej Zajicek
2009-02-12Fixes bug in packet retransmissions.Ondrej Zajicek
When packet was lost during dbdes exchange, slave did not retransmit it. That leads to OSPF connection locked in states exchange-exstart.
2009-02-12Fixes bug in protocol state machineOndrej Zajicek
Scheduling flush must be done before resource pool freeing as it frees some allocated list nodes from a global list.
2009-02-12Do not use ? for client-side help when in new BGP path syntaxOndrej Zajicek
2009-01-27New syntax for bgp_pathOndrej Zajicek
2009-01-16Fixes compilation on older systems.Ondrej Zajicek
Older kernel headers (the ones in Debian Sarge) does not have __kernel_sockaddr_storage .
2009-01-16Fixes some past config grammar update that caused password related regression.Ondrej Zajicek
2009-01-16One null-pointer dereference bugfix hidden in whitespace changesOndrej Zajicek
2009-01-13Fix typo.Ondrej Zajicek
2009-01-13Fix OSPF protocol error recovery behavior.Ondrej Zajicek
When OSPF neighbor state drops down to EXSTART, clear LSA request and retransmit lists, as specified by RFC. I hope that this will prevent oscillations between EXSTART and LOADING states, which sometimes happened. It also contains related fix from Yury Shevchuk that properly resets DB summary list iterator.
2009-01-12Add check detecting packet overwrite in TX buffer.Ondrej Zajicek
2009-01-12Slist updateOndrej Zajicek
2009-01-11Some fixes and update of OSPF debug messagesOndrej Zajicek
2009-01-11Move check for NULL before usage of variable.Ondrej Zajicek
2009-01-11Fixes bug in OSPFOndrej Zajicek
Checksum was not recalculated when LSA was changed and packets with bad checksum were sent.
2008-12-25Bugfix in interpretOndrej Zajicek
Missing cases in filter code interpret leads to crash when bgp_next_hop attr was queried.
2008-12-25fixes some 64-bit related bugs.Ondrej Zajicek
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-24Adds support for fallback to capabilityless BGP connectOndrej Zajicek
When capability related error is received, next connect will be without capabilities. Also cease error subcodes descriptions (according to [RFC4486]) are added.
2008-12-24Fixes bug related to reconfiguration of BGP.Ondrej Zajicek
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.
2008-12-19Major changes to BGPOndrej Zajicek
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.
2008-12-18Fixes nasty bug in event processing.Ondrej Zajicek
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-12rx_hook may be cleaned in some callback so we check it beforeOndrej Zajicek
executing sk_read().
2008-12-08Fixes core state machine.Ondrej Zajicek
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?
2008-11-22Fixes race condition leading to memory corruption and crash.Ondrej Zajicek
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.
2008-11-21Fixes segfault with multiple routing tables.Ondrej Zajicek
2008-11-21I am not sure whether this is proper fix for a problem that birdcOndrej Zajicek
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.
2008-11-21This is bug, isn't it?Ondrej Zajicek
2008-11-21birdc died during terminal resize because of unhandled EINTROndrej Zajicek
in select loop.
2008-11-16Fix some bugs in filter interpret.Ondrej Zajicek
2008-11-16Fix bug in AS path matchingOndrej Zajicek
2008-11-14Fixes feeding of new protocol, only preferred routes are announced.Ondrej Zajicek
2008-11-14OSPF routes appeared with random value of ospf_tag attribute.Ondrej Zajicek
This patch fixes it.
2008-11-14New read-only route attribute 'proto' added. It returns a stringOndrej Zajicek
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*"
2008-11-08Proper format functions for ORIGINATOR_ID, CLUSTER_LISTOndrej Zajicek
2008-11-08Fix bugs in OSPF MD5 authentication. First bug is that defaultOndrej Zajicek
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.
2008-11-06Uprava configureOndrej Zajicek
2008-11-05Fix problem with local time changes.Ondrej Zajicek
2008-11-05Fixes bugs in IPv6 code caused by recent commits.Ondrej Zajicek
2008-11-04These warnings are so abundant (because char * / byte * mix) that theyOndrej Zajicek
are completely useless.
2008-11-04Ignore messages related to wireless extensions.Ondrej Zajicek
2008-11-01Multihop BGP was completely broken, because listening socket has alwaysOndrej Zajicek
ttl 1.
2008-11-01Implementation of route server.Ondrej Zajicek
2008-10-29Fix race condition that breaks BGP connections after reconfigure.Ondrej Zajicek
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.
2008-10-28Fixes some sloppiness of commit a3b70dc499b64f41aa776b5b4afee5c7bfb8dfa6.Ondrej Zajicek