From 3228c72cc030f409914134440a7e55bbcfc9ff6a Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Tue, 17 Nov 2009 11:41:29 +0100 Subject: Implements RFC 5004 - prefer older external routes. --- doc/bird.sgml | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/bird.sgml b/doc/bird.sgml index 0c2b8fb..40793ed 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -981,6 +981,11 @@ for each neighbor using the following configuration parameters: path metric Enable comparison of path lengths when deciding which BGP route is the best one. Default: on. + prefer older Standard route selection algorithm + breaks ties by comparing router IDs. This changes the behavior + to prefer older routes (when both are external and from different + peer). For details, see RFC 5004. Default: off. + default bgp_med Value of the Multiple Exit Discriminator to be used during route selection when the MED attribute is missing. Default: 0. -- cgit v1.2.3 From 62aa96caa28180f76c8aff0c49dd21128e396153 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Tue, 17 Nov 2009 15:50:29 +0100 Subject: Adds some documentation to the description option. --- doc/bird.conf.example | 1 + doc/bird.sgml | 4 ++++ 2 files changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/bird.conf.example b/doc/bird.conf.example index 0a2aac7..6ab03a2 100644 --- a/doc/bird.conf.example +++ b/doc/bird.conf.example @@ -162,6 +162,7 @@ protocol static { #protocol bgp { # disabled; +# description "My BGP uplink" # local as 65000; # neighbor 62.168.0.130 as 5588; # multihop 20 via 62.168.0.13; diff --git a/doc/bird.sgml b/doc/bird.sgml index 40793ed..b475830 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -307,6 +307,10 @@ to zero to disable it. An empty is equivalent to export This is similar to the import keyword, except that it works in the direction from the routing table to the protocol. Default: description " This is an optional + description of the protocol. It is displayed as a part of the + output of 'show route all' command. + table Connect this protocol to a non-default routing table. -- cgit v1.2.3 From 3f9b7bfe9ff050430a5886b22a5ab11b5f253048 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Wed, 18 Nov 2009 20:32:36 +0100 Subject: Implements option that controls IPv6 BGP next hops when lladdr is missing. --- doc/bird.sgml | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/bird.sgml b/doc/bird.sgml index b475830..db9a747 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -646,7 +646,7 @@ incompatible with each other (that is to prevent you from shooting in the foot). but 1.0.0.0/16 ˜ [ 1.0.0.0/8- ] is false. Cisco-style patterns like 10.0.0.0/8 ge 16 le 24 can be expressed - in Bird as 10.0.0.0/8{16,24}, 192.168.0.0/16 le 24 as + in BIRD as 10.0.0.0/8{16,24}, 192.168.0.0/16 le 24 as 192.168.0.0/16{16,24} and 192.168.0.0/16 ge 24 as 192.168.0.0/16{24,32}. @@ -887,12 +887,28 @@ for each neighbor using the following configuration parameters: we should route via our direct neighbor with address next hop self Avoid calculation of the Next Hop attribute - and always advertise our own source address (see below) as a next hop. - This needs to be used only - occasionally to circumvent misconfigurations of other routers. + next hop self Avoid calculation of the Next Hop + attribute and always advertise our own source address (see + below) as a next hop. This needs to be used only occasionally + to circumvent misconfigurations of other routers. Default: disabled. + missing lladdr self|drop|ignoreNext Hop attribute + in BGP-IPv6 sometimes contains just the global IPv6 address, + but sometimes it has to contain both global and link-local + IPv6 addresses. This option specifies what to do if BIRD have + to send both addresses but does not know link-local address. + This situation might happen when routes from other protocols + are exported to BGP, or when improper updates are received + from BGP peers. source address Define local address we should use for next hop calculation. Default: the address of the local end of the interface our neighbor is connected to. @@ -920,7 +936,7 @@ for each neighbor using the following configuration parameters: as a route server client. A route server is used as a replacement for full mesh EBGP routing in Internet exchange points in a similar way to route reflectors used in IBGP routing. - Bird does not implement obsoleted RFC 1863, but uses ad-hoc implementation, + BIRD does not implement obsoleted RFC 1863, but uses ad-hoc implementation, which behaves like plain EBGP but reduces modifications to advertised route attributes to be transparent (for example does not prepend its AS number to AS PATH attribute and keep MED attribute). Default: disabled. -- cgit v1.2.3 From a4644ed6ab32c098b755bdac03498634b2794409 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Thu, 19 Nov 2009 11:44:17 +0100 Subject: Implement option to exit after config file parsing. --- doc/bird.sgml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/bird.sgml b/doc/bird.sgml index db9a747..4b72ac6 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -129,7 +129,10 @@ options. The most important ones are: enable debug messages and run bird in foreground. -D - log debugging information to given file instead of stderr + log debugging information to given file instead of stderr. + + -p + just parse the config file and exit. -s use given filename for a socket for communications with the client, default is /var/run/bird.ctl. -- cgit v1.2.3 From 717e4c4d8173a8dbae2956f1703ff6d4365a9d34 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Fri, 20 Nov 2009 09:29:29 +0100 Subject: Fixes in the documentation. --- doc/bird.sgml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/bird.sgml b/doc/bird.sgml index 4b72ac6..9e74470 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -903,13 +903,13 @@ for each neighbor using the following configuration parameters: to send both addresses but does not know link-local address. This situation might happen when routes from other protocols are exported to BGP, or when improper updates are received - from BGP peers. source address Define local address we should use -- cgit v1.2.3 From bf47fe4b2e40ccfcfe6af2d86548d06cdf9739c5 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Thu, 26 Nov 2009 20:47:59 +0100 Subject: Implements BGP route refresh. --- doc/bird.sgml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/bird.sgml b/doc/bird.sgml index 9e74470..d08b0c1 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -482,9 +482,6 @@ This argument can be omitted if there exists only a single instance. number of networks, number of routes before and after filtering). If you use enable|disable|restart - Enable, disable or restart a given protocol instance, instances matching the or configure [soft] [" Reload configuration from a given file. BIRD will smoothly switch itself to the new configuration, protocols are @@ -496,6 +493,9 @@ This argument can be omitted if there exists only a single instance. but new routes would be processed according to the new filters. + enable|disable|restart + Enable, disable or restart a given protocol instance, instances matching the or enable route refresh When BGP speaker + changes its import filter, it has to re-examine all routes + received from its neighbor against the new filter. As these + routes might not be available, there is a BGP protocol + extension Route Refresh (specified in RFC 2918) that allows + BGP speaker to request re-advertisment of all routes from its + neighbor. This option specifies whether BIRD advertises this + capability and accepts such requests. Even when disabled, BIRD + can send route refresh requests. Default: on. + enable as4 BGP protocol was designed to use 2B AS numbers and was extended later to allow 4B AS number. BIRD supports 4B AS extension, but by disabling this option it can be persuaded not to advertise it and -- cgit v1.2.3 From a6250a7d1013442ad4feb0d67128a707f2c6880b Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Thu, 26 Nov 2009 23:23:29 +0100 Subject: Fix -p option. --- doc/bird.sgml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/bird.sgml b/doc/bird.sgml index d08b0c1..1f494cc 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -132,7 +132,8 @@ options. The most important ones are: log debugging information to given file instead of stderr. -p - just parse the config file and exit. + just parse the config file and exit. Return value is zero if the config file is valid, + nonzero if there are some errors. -s use given filename for a socket for communications with the client, default is /var/run/bird.ctl. -- cgit v1.2.3 From 8a7fb8858fa87bce6f2f15ee2bbb77704b5fff4e Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Mon, 14 Dec 2009 01:32:37 +0100 Subject: Finishes 'route reload' feature. --- doc/bird.sgml | 18 ++++++++++++++++++ doc/reply_codes | 3 +++ 2 files changed, 21 insertions(+) (limited to 'doc') diff --git a/doc/bird.sgml b/doc/bird.sgml index 1f494cc..3905a29 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -497,6 +497,24 @@ This argument can be omitted if there exists only a single instance. enable|disable|restart Enable, disable or restart a given protocol instance, instances matching the or reload [in|out] + + Reload a given protocol instance, that means re-import routes + from the protocol instance and re-export preferred routes to + the instance. If cannot dump +8006 Reload failed 9000 Command too long 9001 Parse error -- cgit v1.2.3