[FROG] FRR Adding IPv6 Routes
Donald Sharp
sharpd at cumulusnetworks.com
Wed Apr 8 08:17:19 EDT 2020
Katherine -
You can self subscribe here:
https://lists.frrouting.org/listinfo/frog
Instructions should be pretty self explanatory I think.
thanks!
donald
On Wed, Apr 8, 2020 at 8:13 AM Tran (US), Katherine K
<katherine.k.tran at boeing.com> wrote:
>
> Hello,
>
>
>
> Also, would someone be able to add me to the mailing list group? I have tried to subscribe but haven’t heard a response…
>
>
>
> The next hop toggles between being accessible and not accessible. I run the “show ipv6 route” command at two different times and the IPv6 routes toggles between being added and removed.
>
>
>
> Vtysh terminal output of the Relay
>
> -----------------------------------------
>
> Relay# show ipv6 route
>
> Codes: K - kernel route, C - connected, S - static, R - RIPng,
>
> O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
>
> v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
>
> f - OpenFabric,
>
> > - selected route, * - FIB route, q - queued route, r - rejected route
>
>
>
> B>* 2001:db8:1:1::/64 [20/1024] via fe80::1:2, eth2, 00:00:00
>
> B>* 2001:db8:1:2::/64 [20/1024] via fe80::2:2, eth3, 00:00:00
>
> B>* 2001:db8:1:3::/64 [20/1024] via fe80::1:2, eth2, 00:00:00
>
> B>* 2001:db8:1:4::/64 [20/1024] via fe80::2:2, eth3, 00:00:00
>
> B fd80::1:0/112 [20/0] via fe80::1:2, eth2, 00:00:00
>
> C>* fd80::1:0/112 is directly connected, eth2, 00:00:21
>
> B>* fd80::1:2/128 [20/1024] via fe80::1:2, eth2, 00:00:00
>
> B fd80::2:0/112 [20/0] via fe80::2:2, eth3, 00:00:00
>
> C>* fd80::2:0/112 is directly connected, eth3, 00:00:21
>
> B>* fd80::2:2/128 [20/1024] via fe80::2:2, eth3, 00:00:00
>
> C * fe80::/10 is directly connected, eth3, 00:00:20
>
> C * fe80::/10 is directly connected, eth2, 00:00:20
>
> C * fe80::/10 is directly connected, eth3, 00:00:21
>
> C>* fe80::/10 is directly connected, eth2, 00:00:21
>
> C * fe80::/64 is directly connected, eth1, 00:00:17
>
> C>* fe80::/64 is directly connected, eth0, 00:00:17
>
>
>
> Relay# show ipv6 route
>
> Codes: K - kernel route, C - connected, S - static, R - RIPng,
>
> O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
>
> v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
>
> f - OpenFabric,
>
> > - selected route, * - FIB route, q - queued route, r - rejected route
>
>
>
> C>* fd80::1:0/112 is directly connected, eth2, 00:02:13
>
> C>* fd80::2:0/112 is directly connected, eth3, 00:02:13
>
> C * fe80::/10 is directly connected, eth3, 00:02:12
>
> C * fe80::/10 is directly connected, eth2, 00:02:12
>
> C * fe80::/10 is directly connected, eth3, 00:02:13
>
> C>* fe80::/10 is directly connected, eth2, 00:02:13
>
> C * fe80::/64 is directly connected, eth1, 00:02:09
>
> C>* fe80::/64 is directly connected, eth0, 00:02:09
>
>
>
>
>
> Below are the frr.conf config files for my configuration.
>
> The Relay, Server 1 and Server 2 are all connected to N3.
>
>
>
> Relay Config File
>
> --------------------
>
> log file /var/log/frr/frr.log debugging
>
> !
>
> interface eth0
>
> ip address 10.0.4.2/24
>
>
>
> !
>
> interface eth1
>
>
>
> ipv6 address 2001::1/64
>
> !
>
> interface aero2
>
>
>
> ipv6 address fe80::1:1/10
>
> ipv6 address fd80::1:1/112
>
> !
>
> interface aero3
>
>
>
> ipv6 address fe80::2:1/10
>
> ipv6 address fd80::2:1/112
>
> !
>
> ! Static routes
>
> ip route 0.0.0.0/0 10.0.4.1
>
> !
>
> !
>
> !
>
> ! BGP configuration
>
> !
>
> ! You should configure the AS number below,
>
> ! along with this router's peers.
>
> !
>
> router bgp 1
>
> bgp router-id 10.0.4.2
>
> no bgp default ipv4-unicast
>
> neighbor fd80::1:2 remote-as 2
>
> neighbor fd80::1:2 interface aero2
>
> neighbor fd80::2:2 remote-as 3
>
> neighbor fd80::2:2 interface aero3
>
> address-family ipv6
>
> neighbor fd80::1:2 activate
>
> neighbor fd80::1:2 next-hop-self
>
> neighbor fd80::1:2 default-originate
>
> neighbor fd80::1:2 distribute-list blackhole out
>
> neighbor fd80::2:2 activate
>
> neighbor fd80::2:2 next-hop-self
>
> neighbor fd80::2:2 default-originate
>
> neighbor fd80::2:2 distribute-list blackhole out
>
> ! access-list blackhole deny any
>
> exit-address-family
>
> !
>
> ipv6 access-list blackhole deny any
>
> !
>
>
>
> Server1 config file
>
> ----------------------
>
> log file /var/log/frr/frr.log debugging
>
> interface eth0
>
> ip address 10.0.2.2/24
>
> !
>
> interface aero0
>
> ipv6 address fe80::1:2/10
>
> ipv6 address fd80::1:2/112
>
> !
>
> ! Static routes
>
> !
>
> ip route 0.0.0.0/0 10.0.2.1
>
> !
>
> !
>
> ! BGP configuration
>
> !
>
> ! You should configure the AS number below,
>
> ! along with this router's peers.
>
> !
>
> router bgp 2
>
> bgp router-id 10.0.2.2
>
> no bgp default ipv4-unicast
>
> neighbor fd80::1:1 remote-as 1
>
> neighbor fd80::1:1 interface aero0
>
> neighbor fd80::1:1 advertisement-interval 0
>
> address-family ipv6
>
> redistribute connected
>
> redistribute static
>
> redistribute kernel
>
> neighbor fd80::1:1 activate
>
> neighbor fd80::1:1 next-hop-self
>
> neighbor fd80::1:1 distribute-list 101 out
>
> exit-address-family
>
> !
>
> ipv6 access-list 101 permit 2001::/16
>
> ipv6 access-list 101 permit fd80::/10
>
> ipv6 access-list 101 deny any
>
> !
>
>
>
> Server2 config file
>
> ----------------------
>
> interface eth0
>
> ip address 10.0.3.2/24
>
> !
>
> interface aero0
>
> ipv6 address fe80::2:2/10
>
> ipv6 address fd80::2:2/112
>
> !
>
> ! Static routes
>
> ip route 0.0.0.0/0 10.0.3.1
>
> !
>
> !
>
> ! BGP configuration
>
> !
>
> ! You should configure the AS number below,
>
> ! along with this router's peers.
>
> !
>
> router bgp 3
>
> bgp router-id 10.0.3.2
>
> no bgp default ipv4-unicast
>
> neighbor fd80::2:1 remote-as 1
>
> neighbor fd80::2:1 interface aero0
>
> neighbor fd80::2:1 advertisement-interval 0
>
> address-family ipv6
>
> redistribute connected
>
> redistribute static
>
> redistribute kernel
>
> neighbor fd80::2:1 activate
>
> neighbor fd80::2:1 next-hop-self
>
> neighbor fd80::2:1 distribute-list 101 out
>
> exit-address-family
>
> !
>
> ipv6 access-list 101 permit 2001::/16
>
> ipv6 access-list 101 permit fd80::/10
>
> ipv6 access-list 101 deny any
>
>
>
> N3 config file
>
> ---------------------
>
> interface eth2
>
> !
>
> interface eth3
>
> !
>
> interface eth4
>
> !
>
> interface eth5
>
> !
>
> interface eth0
>
> !
>
> interface eth1
>
> !
>
>
>
> Thank you,
>
> Katherine
>
>
>
> From: Tim Bray [mailto:tim at provu.co.uk]
> Sent: Thursday, April 02, 2020 3:31 PM
> To: frog at lists.frrouting.org
> Subject: Re: [FROG] FRR Adding IPv6 Routes
>
>
>
> On 02/04/2020 22:25, Tran (US), Katherine K wrote:
>
>
>
> I am trying to switch from Quagga to FRR, but I am having issues adding distributed IPv6 routes. Although the IPv6 routes get added, they keep toggling between being added and removed. This did not occur while using Quagga.
>
>
>
> A difference between the added IPv6 routes of Quagga and FRR was that (1) the Quagga routes are by protocol zebra and (2) the FRR routes are by protocol 186, which I deduced to be bgpd. This can be seen by initiating the command “ip -6 ro sh”.
>
>
>
> Quagga
>
> ----------
>
> 2001:XXXX:X:X::/64 via fe80::1:2 dev eth0 proto zebra metric 1024 pref medium
>
>
>
> FRR
>
> -----
>
> 2001:XXXX:X:X::/64 via fe80::1:2 dev eth0 proto 186 metric 20 pref medium
>
>
>
>
>
> I think, the display of 186 it just because you need the `friendly` names specifying
>
> You could edit etc/iproute2/rt_protos and add the missing numbers and the output would look better. See below.
>
> I suspect this is not why routes are being added and withdrawn.
>
>
>
> $ more /etc/iproute2/rt_protos
> #
> # Reserved protocols.
> #
> 0 unspec
> 1 redirect
> 2 kernel
> 3 boot
> 4 static
> 8 gated
> 9 ra
> 10 mrt
> 11 zebra
> 12 bird
> 13 dnrouted
> 14 xorp
> 15 ntk
> 16 dhcp
> 42 babel
> 186 bgp
> 187 isis
> 188 ospf
> 189 rip
> 192 eigrp
>
>
>
> Not sure what else to say. Can you post some more config?
>
> if you type
>
> do show ipv6 route <a prefix>
>
> what comes out?
>
> Is the next hop accessible?
>
>
>
> I'd keep trying, because FRR fixes so many IPv6 problems you don't know were problems until you switched to FRR :)
>
>
>
>
>
> _______________________________________________
> frog mailing list
> frog at lists.frrouting.org
> https://lists.frrouting.org/listinfo/frog
More information about the frog
mailing list