[FROG] FRR Adding IPv6 Routes
Tran (US), Katherine K
katherine.k.tran at boeing.com
Wed Apr 8 13:31:30 EDT 2020
I compiled from the FRR source code recently within the last few weeks. The zebra daemon doesn't seem to be crashing and restarting, but I am not sure if the zebra daemon is running properly either. What could I do if zebra were the issue?
-----Original Message-----
From: frog [mailto:frog-bounces at lists.frrouting.org] On Behalf Of Patrick Boutilier
Sent: Wednesday, April 08, 2020 10:24 AM
To: frog at lists.frrouting.org
Subject: Re: [FROG] FRR Adding IPv6 Routes
What version of FRR again?
Longshot here, but your zebra deamon wouldn't happen to be crashing/restarting ?
On 4/8/20 2:02 PM, Tran (US), Katherine K wrote:
> Hello,
>
> So it looks like the routes are added in bgp. But, when I do "show ipv6
> route", the routes still toggle back and forth in being removed and added...
>
> Is there anything strange or off about the added bgp routes below?
>
> AERO-Relay# show bgp
>
> BGP table version is 48939, local router ID is 10.0.4.2, vrf id 0
> Default local pref 100, local AS 1 Status codes: s suppressed, d
> damped, h history, * valid, > best, = multipath,
>
> i internal, r RIB-failure, S Stale, R Removed Nexthop
> codes: @NNN nexthop's vrf id, < announce-nh-self Origin codes: i - IGP,
> e - EGP, ? - incomplete
>
> Network Next Hop Metric LocPrf
> Weight Path
>
> > 2001:db8:1:1::/64 fe80::1:2 1024
> 0 2 ?
>
> > 2001:db8:1:2::/64 fe80::2:2 1024
> 0 3 ?
>
> > 2001:db8:1:3::/64 fe80::1:2 1024
> 0 2 ?
>
> > 2001:db8:1:4::/64 fe80::2:2 1024
> 0 3 ?
>
> > fd80::1:0/112 fe80::1:2 0
> 0 2 ?
>
> > fd80::1:2/128 fe80::1:2 1024
> 0 2 ?
>
> > fd80::2:0/112 fe80::2:2 0
> 0 3 ?
>
> > fd80::2:2/128 fe80::2:2 1024
> 0 3 ?
>
> Displayed 8 routes and 8 total paths
>
> AERO-Relay# show bgp summary
>
> IPv6 Unicast Summary:
>
> BGP router identifier 10.0.4.2, local AS number 1 vrf-id 0 BGP table
> version 49506 RIB entries 11, using 2112 bytes of memory Peers 2, using
> 43 KiB of memory
>
> Neighbor V AS MsgRcvd MsgSent TblVer InQ
> OutQ Up/Down State/PfxRcd
>
> fd80::1:2 4 2 18
> 15 0 0 0 00:11:55 4
>
> fd80::2:2 4 3 18
> 19 0 0 0 00:11:55 4
>
> Total number of neighbors 2
>
> Regards,
>
> Katherine
>
> *From:* frog [mailto:frog-bounces at lists.frrouting.org] *On Behalf Of
> *Tran (US), Katherine K
> *Sent:* Monday, April 06, 2020 2:54 PM
> *To:* Tim Bray <tim at provu.co.uk>; frog at lists.frrouting.org
> *Subject:* Re: [FROG] FRR Adding IPv6 Routes
>
> I am running in Ubuntu 18.04 with Linux kernel version
> 4.15.0-91-generic. Looks like the MTU is 1400 for each interface aero2
> and aero3. Would that be causing the issue?
>
> Doesn't look like the bgp session stay up either..
>
> AERO-Relay# show bgp summary
>
> IPv6 Unicast Summary:
>
> BGP router identifier 10.0.4.2, local AS number 1 vrf-id 0
>
> BGP table version 11120
>
> RIB entries 13, using 2496 bytes of memory
>
> Peers 2, using 43 KiB of memory
>
> Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ
> Up/Down State/PfxRcd
>
> fd80::1:2 4 2 8 5 0 0 0
> 00:01:32 4
>
> fd80::2:2 4 3 8 5 0 0 0
> 00:01:32 4
>
> The net.ipv6.route.max_size is currently set to the default value of
> 4096. I will see if I can change it.
>
> Thanks,
>
> Katherine
>
> *From:* Tim Bray [mailto:tim at provu.co.uk]
> *Sent:* Monday, April 06, 2020 2:37 PM
> *To:* Tran (US), Katherine K <katherine.k.tran at boeing.com
> <mailto:katherine.k.tran at boeing.com>>; frog at lists.frrouting.org
> <mailto:frog at lists.frrouting.org>
> *Subject:* Re: [FROG] FRR Adding IPv6 Routes
>
> And
>
> do show bgp summary.
>
> Do the bgp sessions stay up? Show long timers?
>
> Another very long shot question - which linux kernel version? And do
> you have any interfaces with MTU different to 1500?
>
> There is an IPv6 funny
>
> try
>
> sysctl net.ipv6.route.max_size=2147483647
>
> There isn't really a route cache for IPv6 in modern linux. But there is
> a bug which causes problems if you have different MTU. some details here.
>
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=861115
>
> (sorry, quick reply)
>
> Tim
>
> On 06/04/2020 22:19, Tran (US), Katherine K wrote:
>
> Hello,
>
> 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 <mailto: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