Avoiding routes being tagged as 'unreachable' when building a route-server / lg
Hi guys, New BIRD user here, I'm trying to use bird to build a looking glass / route collector. All my core routers (I don't have a backbone network, so they run separately) are forwarding the full table by treating the bird system as a rr client. So far, this part of it works fine. The sessions are IBGP (and multihop by nature). My problem is the fact that bird classifies the routes as unreachable (as they indeed are, but I don't intend to use them to forward) and mentions this in the birdc lookups. A sample is given at the bottom, as well as the very simple config that I'm using right now (No tables, but I intend to set up tables per peer ('location') later) My question is how should I deal with this issue? bird> show route 8.8.8.0/24 all 8.8.8.0/24 unreachable [dfw_cr_0 07:39:20 from 10.1.13.1] * (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 3491 15169 BGP.next_hop: 63.218.23.65 BGP.local_pref: 400 BGP.community: (3491,2000) (3491,2001) (3491,15169) unreachable [syd_ocr_0 07:40:16 from 10.2.1.217] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 15169 BGP.next_hop: 103.26.68.56 BGP.med: 0 BGP.local_pref: 106 BGP.community: (58941,0) unreachable [lax_ocr_0 07:39:26 from 10.3.14.1] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 15169 BGP.next_hop: 206.72.210.41 BGP.med: 0 BGP.local_pref: 108 BGP.community: (19996,19996) unreachable [jfk_ocr_0 07:39:21 from 10.4.15.1] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 174 15169 BGP.next_hop: 38.104.75.221 BGP.med: 10040 BGP.local_pref: 100 BGP.community: (174,21000) (174,22013) Current config, the macros have been removed for obvious reasons.
log "/var/log/bird.log" all;
router id r_id;
protocol device { }
template bgp peers { local as myas; multihop; import all; export none; }
protocol bgp syd_ocr_0 from peers { description "Sydney Open Core 0"; neighbor syd_ocr_0_ip as peeras; password syd_ocr_0_password; }
protocol bgp lax_ocr_0 from peers { description "Los Angeles Open Core 0"; neighbor lax_ocr_0_ip as peeras; password lax_ocr_0_password; }
protocol bgp jfk_ocr_0 from peers { description "New York Open Core 0"; neighbor jfk_ocr_0_ip as peeras; password jfk_ocr_0_password; }
protocol bgp dfw_ocr_0 from peers { description "Dallas Open Core 0"; neighbor dfw_ocr_0_ip as peeras; password dfw_ocr_0_password; }
Hi, Try to configure "next hop self" for rr clients in route reflector config. Thanks, Madhuri On Sat, Jul 25, 2015 at 5:19 PM, Paul S. <contact@winterei.se> wrote:
Hi guys,
New BIRD user here, I'm trying to use bird to build a looking glass / route collector.
All my core routers (I don't have a backbone network, so they run separately) are forwarding the full table by treating the bird system as a rr client. So far, this part of it works fine.
The sessions are IBGP (and multihop by nature). My problem is the fact that bird classifies the routes as unreachable (as they indeed are, but I don't intend to use them to forward) and mentions this in the birdc lookups.
A sample is given at the bottom, as well as the very simple config that I'm using right now (No tables, but I intend to set up tables per peer ('location') later)
My question is how should I deal with this issue?
bird> show route 8.8.8.0/24 all 8.8.8.0/24 unreachable [dfw_cr_0 07:39:20 from 10.1.13.1] * (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 3491 15169 BGP.next_hop: 63.218.23.65 BGP.local_pref: 400 BGP.community: (3491,2000) (3491,2001) (3491,15169) unreachable [syd_ocr_0 07:40:16 from 10.2.1.217] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 15169 BGP.next_hop: 103.26.68.56 BGP.med: 0 BGP.local_pref: 106 BGP.community: (58941,0) unreachable [lax_ocr_0 07:39:26 from 10.3.14.1] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 15169 BGP.next_hop: 206.72.210.41 BGP.med: 0 BGP.local_pref: 108 BGP.community: (19996,19996) unreachable [jfk_ocr_0 07:39:21 from 10.4.15.1] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 174 15169 BGP.next_hop: 38.104.75.221 BGP.med: 10040 BGP.local_pref: 100 BGP.community: (174,21000) (174,22013)
Current config, the macros have been removed for obvious reasons.
log "/var/log/bird.log" all;
router id r_id;
protocol device { }
template bgp peers { local as myas; multihop; import all; export none; }
protocol bgp syd_ocr_0 from peers { description "Sydney Open Core 0"; neighbor syd_ocr_0_ip as peeras; password syd_ocr_0_password; }
protocol bgp lax_ocr_0 from peers { description "Los Angeles Open Core 0"; neighbor lax_ocr_0_ip as peeras; password lax_ocr_0_password; }
protocol bgp jfk_ocr_0 from peers { description "New York Open Core 0"; neighbor jfk_ocr_0_ip as peeras; password jfk_ocr_0_password; }
protocol bgp dfw_ocr_0 from peers { description "Dallas Open Core 0"; neighbor dfw_ocr_0_ip as peeras; password dfw_ocr_0_password; }
Hi Paul, Sorry I misread your email. instead of "import all" try with the following filter(on router where u see these unreachable routes) to avoid unreachable routes. import filter { if dest = RTD_UNREACHABLE then { reject; } else accept; }; Thanks, Madhuri On Sat, Jul 25, 2015 at 6:49 PM, Madhuri <maduri111@gmail.com> wrote:
Hi,
Try to configure "next hop self" for rr clients in route reflector config.
Thanks, Madhuri
On Sat, Jul 25, 2015 at 5:19 PM, Paul S. <contact@winterei.se> wrote:
Hi guys,
New BIRD user here, I'm trying to use bird to build a looking glass / route collector.
All my core routers (I don't have a backbone network, so they run separately) are forwarding the full table by treating the bird system as a rr client. So far, this part of it works fine.
The sessions are IBGP (and multihop by nature). My problem is the fact that bird classifies the routes as unreachable (as they indeed are, but I don't intend to use them to forward) and mentions this in the birdc lookups.
A sample is given at the bottom, as well as the very simple config that I'm using right now (No tables, but I intend to set up tables per peer ('location') later)
My question is how should I deal with this issue?
bird> show route 8.8.8.0/24 all 8.8.8.0/24 unreachable [dfw_cr_0 07:39:20 from 10.1.13.1] * (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 3491 15169 BGP.next_hop: 63.218.23.65 BGP.local_pref: 400 BGP.community: (3491,2000) (3491,2001) (3491,15169) unreachable [syd_ocr_0 07:40:16 from 10.2.1.217] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 15169 BGP.next_hop: 103.26.68.56 BGP.med: 0 BGP.local_pref: 106 BGP.community: (58941,0) unreachable [lax_ocr_0 07:39:26 from 10.3.14.1] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 15169 BGP.next_hop: 206.72.210.41 BGP.med: 0 BGP.local_pref: 108 BGP.community: (19996,19996) unreachable [jfk_ocr_0 07:39:21 from 10.4.15.1] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 174 15169 BGP.next_hop: 38.104.75.221 BGP.med: 10040 BGP.local_pref: 100 BGP.community: (174,21000) (174,22013)
Current config, the macros have been removed for obvious reasons.
log "/var/log/bird.log" all;
router id r_id;
protocol device { }
template bgp peers { local as myas; multihop; import all; export none; }
protocol bgp syd_ocr_0 from peers { description "Sydney Open Core 0"; neighbor syd_ocr_0_ip as peeras; password syd_ocr_0_password; }
protocol bgp lax_ocr_0 from peers { description "Los Angeles Open Core 0"; neighbor lax_ocr_0_ip as peeras; password lax_ocr_0_password; }
protocol bgp jfk_ocr_0 from peers { description "New York Open Core 0"; neighbor jfk_ocr_0_ip as peeras; password jfk_ocr_0_password; }
protocol bgp dfw_ocr_0 from peers { description "Dallas Open Core 0"; neighbor dfw_ocr_0_ip as peeras; password dfw_ocr_0_password; }
Madhuri, Thank you for replying. However, *all* of the routes are unreachable (because this is a IBGP multihop session and it doesn't sit on the traffic path), none of the core routers are sitting nexthop from this vm where I installed bird. On 26/7/2015 2:23 AM, Madhuri wrote:
Hi Paul,
Sorry I misread your email. instead of "import all" try with the following filter(on router where u see these unreachable routes) to avoid unreachable routes.
import filter { if dest = RTD_UNREACHABLE then { reject; } else accept; };
Thanks, Madhuri
On Sat, Jul 25, 2015 at 6:49 PM, Madhuri <maduri111@gmail.com <mailto:maduri111@gmail.com>> wrote:
Hi,
Try to configure "next hop self" for rr clients in route reflector config.
Thanks, Madhuri
On Sat, Jul 25, 2015 at 5:19 PM, Paul S. <contact@winterei.se <mailto:contact@winterei.se>> wrote:
Hi guys,
New BIRD user here, I'm trying to use bird to build a looking glass / route collector.
All my core routers (I don't have a backbone network, so they run separately) are forwarding the full table by treating the bird system as a rr client. So far, this part of it works fine.
The sessions are IBGP (and multihop by nature). My problem is the fact that bird classifies the routes as unreachable (as they indeed are, but I don't intend to use them to forward) and mentions this in the birdc lookups.
A sample is given at the bottom, as well as the very simple config that I'm using right now (No tables, but I intend to set up tables per peer ('location') later)
My question is how should I deal with this issue?
bird> show route 8.8.8.0/24 <http://8.8.8.0/24> all 8.8.8.0/24 <http://8.8.8.0/24> unreachable [dfw_cr_0 07:39:20 from 10.1.13.1] * (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 3491 15169 BGP.next_hop: 63.218.23.65 BGP.local_pref: 400 BGP.community: (3491,2000) (3491,2001) (3491,15169) unreachable [syd_ocr_0 07:40:16 from 10.2.1.217] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 15169 BGP.next_hop: 103.26.68.56 BGP.med: 0 BGP.local_pref: 106 BGP.community: (58941,0) unreachable [lax_ocr_0 07:39:26 from 10.3.14.1] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 15169 BGP.next_hop: 206.72.210.41 BGP.med: 0 BGP.local_pref: 108 BGP.community: (19996,19996) unreachable [jfk_ocr_0 07:39:21 from 10.4.15.1] (100/-) [AS15169i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 174 15169 BGP.next_hop: 38.104.75.221 BGP.med: 10040 BGP.local_pref: 100 BGP.community: (174,21000) (174,22013)
Current config, the macros have been removed for obvious reasons.
log "/var/log/bird.log" all;
router id r_id;
protocol device { }
template bgp peers { local as myas; multihop; import all; export none; }
protocol bgp syd_ocr_0 from peers { description "Sydney Open Core 0"; neighbor syd_ocr_0_ip as peeras; password syd_ocr_0_password; }
protocol bgp lax_ocr_0 from peers { description "Los Angeles Open Core 0"; neighbor lax_ocr_0_ip as peeras; password lax_ocr_0_password; }
protocol bgp jfk_ocr_0 from peers { description "New York Open Core 0"; neighbor jfk_ocr_0_ip as peeras; password jfk_ocr_0_password; }
protocol bgp dfw_ocr_0 from peers { description "Dallas Open Core 0"; neighbor dfw_ocr_0_ip as peeras; password dfw_ocr_0_password; }
On Sat, Jul 25, 2015 at 08:49:37PM +0900, Paul S. wrote:
Hi guys,
New BIRD user here, I'm trying to use bird to build a looking glass / route collector.
All my core routers (I don't have a backbone network, so they run separately) are forwarding the full table by treating the bird system as a rr client. So far, this part of it works fine.
The sessions are IBGP (and multihop by nature). My problem is the fact that bird classifies the routes as unreachable (as they indeed are, but I don't intend to use them to forward) and mentions this in the birdc lookups.
A sample is given at the bottom, as well as the very simple config that I'm using right now (No tables, but I intend to set up tables per peer ('location') later)
My question is how should I deal with this issue?
Hello I don't really understand what is the problem - if you want it just as lookup, then you don't need to care about the next hop and the unreachable next hop is as good as any regular next hop. If you want to see bgp_next_hop attribute, than it is in the list of attributes with other BGP attributes. You can force some arbitrary next hop in BGP import filter (e.g. import filter { gw = 10.1.1.1; accept; }', but the address have to be a direct neighbor, therefore 'gw = bgp_next_hop' does not work if bgp_next_hop itself is not a directly reachable IP. You could also add some static or direct routes to have received bgp_next_hops resolved. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
participants (3)
-
Madhuri -
Ondrej Zajicek -
Paul S.