Commit graph

144 commits

Author SHA1 Message Date
Ondrej Zajicek cf31112f0d Implements MRTdump feature. 2010-01-03 12:17:52 +01:00
Ondrej Zajicek fbcb7d5faf Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277). 2009-12-21 11:50:42 +01:00
Ondrej Zajicek 0225ea4edd Merge branch 'ospf3' into new 2009-12-15 00:32:13 +01:00
Ondrej Zajicek f2d7da742b Fixes export of routes with link-local gw. 2009-12-15 00:30:07 +01:00
Ondrej Zajicek 43c1ceccb9 Remove bgp_as4_support variable. 2009-12-14 23:31:25 +01:00
Ondrej Zajicek bf47fe4b2e Implements BGP route refresh. 2009-11-26 20:47:59 +01:00
Ondrej Zajicek 3f9b7bfe9f Implements option that controls IPv6 BGP next hops when lladdr is missing. 2009-11-18 20:32:36 +01:00
Ondrej Zajicek d0e2d6d1e0 Show both IPv6 next hop addresses in BGP. 2009-11-17 14:17:23 +01:00
Ondrej Zajicek 3228c72cc0 Implements RFC 5004 - prefer older external routes. 2009-11-17 11:41:29 +01:00
Ondrej Zajicek 4cdd078453 Implements protocol-specific router id and updates documentation. 2009-10-12 23:31:42 +02:00
Ondrej Zajicek 52b9b2a178 Rename as_path_get_last/as_path_get_first to be consistent. 2009-10-12 20:44:58 +02:00
Ondrej Zajicek 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
Ondrej Zajicek a5bf5f781c Show bad peer AS number in log in decimal. 2009-09-24 23:14:44 +02:00
Ondrej Zajicek be6e39ebbf Passive option. 2009-09-24 22:12:11 +02:00
Ondrej Zajicek 54fe0d9230 Fixes setting of IP addresses to route attributes (NEXT_HOP). 2009-09-18 13:59:04 +02:00
Ondrej Zajicek 46eb80d5d5 Fixes headers for uintptr_t (and build on NetBSD). 2009-09-17 17:52:36 +02:00
Ondrej Zajicek 05198c12f4 Some cleanups. 2009-08-27 19:01:04 +02:00
Ondrej Zajicek 949bd34e81 Fixes bug related to AS2->AS4 conversion. 2009-08-25 19:01:37 +02:00
Ondrej Zajicek 70670bf317 Fixed bug related to reconfiguration of BGP with MD5 passwords. 2009-07-09 15:42:39 +02:00
Ondrej Zajicek d72cdff411 Replace 'bind' option with 'listen' option.
To be consistent with other daemons.
2009-06-23 11:08:30 +02:00
Ondrej Zajicek da95a7a7da Fixes bug in ORIGIN check. 2009-06-23 11:00:38 +02:00
Ondrej Zajicek 29c430f856 Changes handling of AS_PATH_CONFED_* segments in AS_PATH.
Although standard says that if we receive AS_PATH_CONFED_*
(and we are not a part of a confederation) segment, we should
drop session, nobody does that and it is unwise to do that.

Now we drop session just in case that peer ASN is in
AS_PATH_CONFED_* segment (to detect peer that considers BIRD
as a part of its confederation).
2009-06-23 10:50:57 +02:00
Ondrej Zajicek 789772ed45 Implements option that changes BGP listening socket parametres. 2009-06-18 19:20:07 +02:00
Ondrej Zajicek b99d378698 Minor BGP changes related to error wait time. 2009-06-07 00:38:38 +02:00
Ondrej Zajicek 7238262671 Fixes bug related to startup delay change. 2009-06-06 18:56:33 +02:00
Ondrej Zajicek dd91e46765 Differentiate between error delay and connect/reconnect delay.
The difference is here to reject incoming connections in the
first case.
2009-06-06 18:16:22 +02:00
Ondrej Zajicek 72b28a041d Implements import route limits. 2009-06-04 13:31:09 +02:00
Ondrej Zajicek f98e291579 The pipe cleanup. 2009-06-01 14:07:13 +02:00
Ondrej Zajicek 23ac9e9a9e Changes pipes to transfer all routes between routing table, not just optimal routes. 2009-05-31 15:24:27 +02:00
Ondrej Zajicek 10ab65a8c9 Fixes one recently introduced IPv6 BGP compatibility problem. 2009-05-06 15:18:52 +02:00
Ondrej Zajicek b7a735ea9d Allow 'third party' BGP updates for originated routes. 2009-04-29 22:17:40 +02:00
Ondrej Zajicek 4827b69ff4 Fixes BGP IPv6 link local next hop handling.
When sending 'third party' BGP update, Bird used bogus link local
addresses instead of addresses it received before.
2009-04-29 18:58:24 +02:00
Ondrej Zajicek ad440a570b Fixes handling of 'next hop self' and 'source address' configuration
options.
2009-04-28 18:11:56 +02:00
Ondrej Zajicek 64cf11f544 Fixes BGPv6 bug - missing endianity conversion.
Also removes code skipping SNPAs
(obsoleted by newer RFCs, should be ignored).
2009-04-23 23:15:07 +02:00
Ondrej Zajicek f307842ad8 Fixes BGPv6 bug - mandatory attributes weren't validated; 2009-04-23 14:44:02 +02:00
Ondrej Zajicek 8f0c887a52 Fixe bug in BGPv6 that causes to send invalid network withdraws. 2009-04-23 14:16:05 +02:00
Ondrej Zajicek b9539e78d8 Fixes bug in BGPv6 causing crash by checking missing attributes. 2009-04-23 12:36:24 +02:00
Ondrej Zajicek 48d79d521c Better handling of AS4 optional attribute errors
AS4 optional attribute errors were handled by session
drop (according to BGP RFC). This patch implements
error handling according to new BGP AS4 draft (*)
 - ignoring invalid AS4 optional attributes.

(*) http://www.ietf.org/internet-drafts/draft-chen-rfc4893bis-02.txt
2009-03-18 20:30:21 +01:00
Ondrej Zajicek e8ba557c7f Update capability handshake options
Add 'capabilities' option, change default behavior to advertise ipv4,
add some checks and ignore incoming capabilities when capabilities
are disabled.
2009-03-13 12:49:44 +01:00
Ondrej Zajicek e3299ab148 Added Cisco and Quagga capability workaround option. 2009-03-05 11:52:47 +01:00
Ondrej Zajicek 82a79586e5 Better handling of too long attributes
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-27 15:24:46 +01:00
Ondrej Zajicek cb53039271 Rate limit for most abundant log messages 2009-02-26 14:23:54 +01:00
Ondrej Zajicek cd17c651a6 Add format for BGP_AGGREGATOR attribute 2009-02-21 17:47:56 +01:00
Ondrej Zajicek 165a622727 Adds support for fallback to capabilityless BGP connect
When capability related error is received, next connect will be
without capabilities. Also cease error subcodes descriptions
(according to [RFC4486]) are added.
2008-12-24 17:24:41 +01:00
Ondrej Zajicek 591211557f Fixes bug related to reconfiguration of BGP.
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-24 12:18:10 +01:00
Ondrej Zajicek 11b32d9117 Major changes to BGP
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-19 01:34:39 +01:00
Ondrej Zajicek aebe06b40c Proper format functions for ORIGINATOR_ID, CLUSTER_LIST 2008-11-08 23:33:22 +01:00
Ondrej Zajicek 1389f3699f Fixes bugs in IPv6 code caused by recent commits. 2008-11-05 21:39:04 +01:00
Ondrej Zajicek a39b165e45 Multihop BGP was completely broken, because listening socket has always
ttl 1.
2008-11-01 16:58:40 +01:00
Ondrej Zajicek a92fe60717 Implementation of route server. 2008-11-01 12:55:43 +01:00