[FROG] FRR Adding IPv6 Routes

Tim Bray tim at provu.co.uk
Mon Apr 6 17:37:25 EDT 2020


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
> *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 :)
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.frrouting.org/pipermail/frog/attachments/20200406/395fac72/attachment-0001.html>


More information about the frog mailing list