Open ndeffayet opened 5 years ago
Hi ndeffayet,
Could you share your config files? Could it be that your issue is due to the same problem as reported before which is related to the ambiguous router-id
command?
Try to set the router-id
directly under configure terminal
instead of ospf6 router-id
.
Cheers,
Peter
Hi Peter,
I have tried to set route-id but nothing happen (no error, command is not visible in sh run of FRR).
router-five_ospf6d_quagga.conf
!
hostname router-five
password secret
enable password secret
log syslog
service password-encryption
no banner motd
!
debug ospf6 lsa unknown
!
interface gre1
ipv6 ospf6 cost 100
ipv6 ospf6 network point-to-point
ipv6 ospf6 mtu-ignore
!
interface gre2
ipv6 ospf6 cost 1000
ipv6 ospf6 network point-to-point
ipv6 ospf6 mtu-ignore
!
interface gre3
ipv6 ospf6 cost 105
ipv6 ospf6 network point-to-point
ipv6 ospf6 mtu-ignore
!
interface gre4
ipv6 ospf6 cost 1005
ipv6 ospf6 network point-to-point
ipv6 ospf6 mtu-ignore
!
interface vlan1
description router-six
ipv6 ospf6 cost 10
ipv6 ospf6 network broadcast
!
router ospf6
router-id 192.168.1.2
redistribute connected route-map ipv6-redist-connect
redistribute static route-map ipv6-redist-static
interface gre1 area 0.0.0.0
interface gre2 area 0.0.0.0
interface gre3 area 0.0.0.0
interface gre4 area 0.0.0.0
interface vlan1 area 0.0.0.0
!
ipv6 prefix-list ipv6-corp-net seq 5 permit 1000:2000::/48 le 128
ipv6 prefix-list ipv6-default-route seq 5 permit ::/0
!
route-map ipv6-redist-connect permit 5
match ipv6 address prefix-list ipv6-corp-net
!
route-map ipv6-redist-static permit 5
match ipv6 address prefix-list ipv6-corp-net
!
end
router-five_ospf6d_frr_shrun.conf
!
frr version 7.1
frr defaults traditional
!
hostname router-five
password secret
enable password secret
log syslog
service password-encryption
no banner motd
!
debug ospf6 lsa unknown
!
!
interface gre1
ipv6 ospf6 cost 100
ipv6 ospf6 mtu-ignore
!
interface gre2
ipv6 ospf6 cost 1000
ipv6 ospf6 mtu-ignore
!
interface gre3
ipv6 ospf6 cost 105
ipv6 ospf6 mtu-ignore
!
interface gre4
ipv6 ospf6 cost 1005
ipv6 ospf6 mtu-ignore
!
interface vlan1
description router-six
!
router ospf6
log-adjacency-changes detail
redistribute connected route-map ipv6-redist-connect
redistribute static route-map ipv6-redist-static
interface gre1 area 0.0.0.0
interface gre2 area 0.0.0.0
interface gre3 area 0.0.0.0
interface gre4 area 0.0.0.0
interface vlan1 area 0.0.0.0
!
ipv6 prefix-list ipv6-corp-net seq 5 permit 1000:2000::/48 le 128
ipv6 prefix-list ipv6-default-route seq 5 permit ::/0
!
route-map ipv6-redist-static permit 5
match ipv6 address prefix-list ipv6-corp-net
!
route-map ipv6-redist-connect permit 5
match ipv6 address prefix-list ipv6-corp-net
!
end
router-six_ospf6d_quagga.conf
!
hostname router-six
password secret
enable password secret
log syslog
service password-encryption
no banner motd
!
debug ospf6 lsa unknown
!
interface gre1
ipv6 ospf6 cost 200
ipv6 ospf6 network point-to-point
ipv6 ospf6 mtu-ignore
!
interface gre2
ipv6 ospf6 cost 2000
ipv6 ospf6 network point-to-point
ipv6 ospf6 mtu-ignore
!
interface gre3
ipv6 ospf6 cost 205
ipv6 ospf6 network point-to-point
ipv6 ospf6 mtu-ignore
!
interface gre4
ipv6 ospf6 cost 2005
ipv6 ospf6 network point-to-point
ipv6 ospf6 mtu-ignore
!
interface vlan1
description router-five
ipv6 ospf6 cost 10
ipv6 ospf6 network broadcast
!
router ospf6
router-id 192.168.2.2
redistribute connected route-map ipv6-redist-connect
redistribute static route-map ipv6-redist-static
interface gre1 area 0.0.0.0
interface gre2 area 0.0.0.0
interface gre3 area 0.0.0.0
interface gre4 area 0.0.0.0
interface vlan1 area 0.0.0.0
!
ipv6 prefix-list ipv6-corp-net seq 5 permit 1000:2000::/48 le 128
ipv6 prefix-list ipv6-default-route seq 5 permit ::/0
!
route-map ipv6-redist-connect permit 5
match ipv6 address prefix-list ipv6-corp-net
!
route-map ipv6-redist-static permit 5
match ipv6 address prefix-list ipv6-corp-net
!
end
router-six_ospf6d_frr_shrun.conf
!
frr version 7.1
frr defaults traditional
!
hostname router-six
password secret
enable password secret
log syslog
service password-encryption
no banner motd
!
debug ospf6 lsa unknown
!
!
interface gre1
ipv6 ospf6 cost 200
ipv6 ospf6 mtu-ignore
ipv6 ospf6 network broadcast
!
interface gre2
ipv6 ospf6 cost 2000
ipv6 ospf6 mtu-ignore
ipv6 ospf6 network broadcast
!
interface gre3
ipv6 ospf6 cost 205
ipv6 ospf6 mtu-ignore
ipv6 ospf6 network broadcast
!
interface gre4
ipv6 ospf6 cost 2005
ipv6 ospf6 mtu-ignore
ipv6 ospf6 network broadcast
!
interface vlan1
description router-five
!
router ospf6
log-adjacency-changes detail
redistribute connected route-map ipv6-redist-connect
redistribute static route-map ipv6-redist-static
interface gre1 area 0.0.0.0
interface gre2 area 0.0.0.0
interface gre3 area 0.0.0.0
interface gre4 area 0.0.0.0
interface vlan1 area 0.0.0.0
!
ipv6 prefix-list ipv6-corp-net seq 5 permit 1000:2000::/48 le 128
ipv6 prefix-list ipv6-default-route seq 5 permit ::/0
!
route-map ipv6-redist-connect permit 5
match ipv6 address prefix-list ipv6-corp-net
!
route-map ipv6-redist-static permit 5
match ipv6 address prefix-list ipv6-corp-net
!
end
Many thanks for your feedback.
Nicolas
Hi Nicolas,
You can see that in your quagga conf, router-id is set to a number in the format of an IPv4 address.
Please explicitly set the router-id in your frr conf, but pay attention to the following:
Try and let me know how you get on.
Cheers,
Peter
Hi Peter,
I have tried to set route-id at the root and inside router ospf6 but it doesn't fix the problem.
Please note if I create a frr.conf, when I reboot the daemons are not working back (I need to run vtysh -b manually to bring them back working).
Many thanks
Nicolas
Hi Peter,
I have also test in full integrated configuration (so frr.conf only):
frr version 7.1
frr defaults traditional
hostname router-six
log syslog
service password-encryption
service password-encryption
service password-encryption
service password-encryption
service password-encryption
service integrated-vtysh-config
!
debug ospf6 lsa unknown
!
password secret
enable password secret
!
interface gre1
ip ospf cost 200
ip ospf mtu-ignore
ipv6 ospf6 cost 200
ipv6 ospf6 mtu-ignore
ipv6 ospf6 network broadcast
!
interface gre2
ip ospf cost 2000
ip ospf mtu-ignore
ipv6 ospf6 cost 2000
ipv6 ospf6 mtu-ignore
ipv6 ospf6 network broadcast
!
interface gre3
ip ospf cost 205
ip ospf mtu-ignore
ipv6 ospf6 cost 205
ipv6 ospf6 mtu-ignore
ipv6 ospf6 network broadcast
!
interface gre4
ip ospf cost 2005
ip ospf mtu-ignore
ipv6 ospf6 cost 2005
ipv6 ospf6 mtu-ignore
ipv6 ospf6 network broadcast
!
interface vlan1
description router-five
ip ospf cost 10
!
router-id 192.168.2.2
!
router ospf
ospf router-id 192.168.2.2
log-adjacency-changes detail
compatible rfc1583
redistribute connected route-map ipv4-redist-connect
redistribute bgp route-map ipv4-redist-bgp
network 192.168.0.0/16 area 0.0.0.0
!
router ospf6
log-adjacency-changes detail
redistribute connected route-map ipv6-redist-connect
redistribute static route-map ipv6-redist-static
interface gre1 area 0.0.0.0
interface gre2 area 0.0.0.0
interface gre3 area 0.0.0.0
interface gre4 area 0.0.0.0
interface vlan1 area 0.0.0.0
!
ip prefix-list ipv4-corp-net seq 5 permit 192.168.100.0/24 le 32
ip prefix-list ipv4-default-route seq 5 permit 0.0.0.0/0
!
ipv6 prefix-list ipv6-corp-net seq 5 permit 1000:2000::/48 le 128
ipv6 prefix-list ipv6-default-route seq 5 permit ::/0
!
route-map ipv6-redist-static permit 5
match ipv6 address prefix-list ipv6-corp-net
!
route-map ipv6-redist-connect permit 5
match ipv6 address prefix-list ipv6-corp-net
!
route-map ipv4-redist-static permit 5
match ip address prefix-list ipv4-corp-net
!
route-map ipv4-redist-connect permit 5
match ip address prefix-list ipv4-corp-net
!
I get the same result: Missing IPv6 OSPF routes.
Many thanks
Nicolas
Hi Nicolas,
See my integrated config frr.conf for routers, and note general router-id
command.
router1# show running-config
Building configuration...
Current configuration:
!
frr version 7.1
frr defaults traditional
hostname router1
log syslog informational
log stdout
service integrated-vtysh-config
username cumulus nopassword
!
debug ospf6 neighbor state
!
password 1
!
router-id 0.0.0.1
!
router ospf6
redistribute connected
interface eth1 area 0.0.0.0
interface eth14 area 0.0.0.0
interface eth123 area 0.0.0.0
!
line vty
!
end
router1#
Try to implement and see if works.
Kind regards,
Peter
Hello,
FRR version 7.1 FreeBSD 11.2
In a full FRR 7.1 configuration (without any Quagga router), sometimes the IPv6 routes are not exchanged in OSPFv6 for an unknown reason. The problem is random, a reboot may solve the issue as restarting daemons have no impact. This issue was never existing with Quagga 1.2.4.
I use as exemple the loopback address of each router.
router-five loopback is 1000:2000:3000:5::1/64 router-six loopback is 1000:2000:3000:6::1/64
router-five_FRR# show ipv6 ospf6 route
=> 1000:2000:3000:6::/64 is missing.
router-five_FRR# show ipv6 ospf6 database
[...]
AS Scoped Link State Database
Type LSId AdvRouter Age SeqNum Payload
[...]
ASE 0.0.0.24 192.168.2.1 500 80000001 1000:2000:3000:5::/64
[...]
ASE 0.0.0.22 192.168.2.2 501 80000001 1000:2000:3000:6::/64
[...]
=> 1000:2000:3000:6::/64 exist in ospf6 database but didn't exist in ospf6 route (as see above).
router-five_FRR# show ipv6 ospf6 redis
Redistributing External Routes from:
3: kernel
22: connected with route-map "ipv6-redist-connect"
0: static with route-map "ipv6-redist-static"
Total 25 routes
[...]
C 1000:2000:3000:5::/64 0.0.0.24 type-0 0 :: (ifindex 5)
[...]
=> The route 1000:2000:3000:5::/64 (1000:2000:3000:5::1/64 on interface lo0) is redistributed in ospf6.
router-five_FRR# 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>* 1000:2000:3000:5::/64 [0/1] is directly connected, lo0, 01:09:10
[...]
=> The route 1000:2000:3000:5::/64 exist.
router-six_FRR# show ipv6 ospf6 route
=> 1000:2000:3000:5::/64 is missing.
router-six_FRR# show ipv6 ospf6 database
[...]
AS Scoped Link State Database
Type LSId AdvRouter Age SeqNum Payload
[...]
ASE 0.0.0.24 192.168.2.1 576 80000001 1000:2000:3000:5::/64
[...]
ASE 0.0.0.22 192.168.2.2 575 80000001 1000:2000:3000:6::/64
=> 1000:2000:3000:5::/64 exist in ospf6 database but didn't exist in ospf6 route (as see above).
router-six_FRR# show ipv6 ospf6 redis
Redistributing External Routes from:
3: kernel
20: connected with route-map "ipv6-redist-connect"
0: static with route-map "ipv6-redist-static"
Total 23 routes
[...]
C 1000:2000:3000:6::/64 0.0.0.22 type-0 0 :: (ifindex 5)
[...]
=> The route 1000:2000:3000:6::/64 (1000:2000:3000:6::1/64 on interface lo0) is redistributed in ospf6.
router-six_FRR# show ipv6 ospf6 zebra
Zebra Infomation
fail: 0
redistribute default: 0
redistribute: kernel connected static ospf6
router-six_FRR# 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>* 1000:2000:3000:6::/64 [0/1] is directly connected, lo0, 01:16:43
=> The route 1000:2000:3000:6::/64 exist.
Why this is random ? How debug this issue ?
Many thanks
My guess is this is related to the router-id command not "taking" -- you say this is random -- what we need is some way to correlate the problem with some environmental change, such as the router-id not being reported in the config. I don't see any other reason for SPF not to run correctly on FR/R given your configs, etc.
But in all cases I have router-id set at the root of configuration (visible with sh run in vtysh).
Why ospf6d use a router-id at the root and not inside router ospf6 on same way than ospfd ?
How debug this issue ?
Another issue not existing in Quagga:
Deamons are started in the following order: zebra, staticd, ospf6d, ospf6d. When killing ospf6d and restarting it, ospf6d complain:
route-map "ipv6-redist-connect" not found, suppress redistributing
route-map "ipv6-redist-static" not found, suppress redistributing
sh run in vtysh show:
router-id 192.168.2.2
[...]
router ospf6
log-adjacency-changes detail
redistribute connected route-map ipv6-redist-connect
redistribute static route-map ipv6-redist-static
[...]
ipv6 prefix-list ipv6-corp-net seq 5 permit 1000:2000::/48 le 128
ipv6 prefix-list ipv6-default-route seq 5 permit ::/0
!
route-map ipv6-redist-static permit 5
match ipv6 address prefix-list ipv6-corp-net
!
route-map ipv6-redist-connect permit 5
match ipv6 address prefix-list ipv6-corp-net
In vtysh: conf t router ospf6 no redistribute connected route-map ipv6-redist-connect no redistribute static route-map ipv6-redist-static redistribute connected route-map ipv6-redist-connect redistribute static route-map ipv6-redist-static
static and connected route are redistributed after this...
FRR version 7.1 Quagga version 1.2.4 FreeBSD 11.2 (same issue with FreeBSD12)
Exactly the same configuration files (zebra.conf, ospf6d.conf) are used for Quagga and FRR.
Summary of the issue
ospf6d work fine with Quagga version 1.2.4 but not with FRR using the same configuration (same ospf6d.conf).
IPv6 OSPF neighbors are established with FRR and Quagga
gre1, gre2, gre3, gre4 are GRE interfaces to others routers (one, two, three, four). vlan1 is VLAN interface interconnecting directly router five and router six.
FRR have only some connected route when Quagga have all IPv6 OSPF routes
SPF state is different between FRR and Quagga
Only local router is visible in SPF tree with FRR, all routers are visible in SPF tree with Quagga
Redistribute route are show with FRR and Quagga
OSPF IPv6 database