[FROG] OSPFv2 in a VRF, FRR 6.0.2 on Ubuntu 18.10

Donald Sharp sharpd at cumulusnetworks.com
Thu Mar 14 08:15:14 EDT 2019


Chuck -

As a side note-> subscribing to the frog alias will prevent me from
having to approve your post.

1) Make it `router ospf vrf WAN`.  I am not aware of ospf views and
vrf's actually being tested when mixed.
2) Use `network A.B.C.D/M area 0.0.0.0` to tell ospf what mask to use
to select interfaces for being used.  The range command is about
summarization of data that ospf already knows about.

http://docs.frrouting.org/en/latest/ospfd.html

odnald

On Thu, Mar 14, 2019 at 8:07 AM Chuck Cox <chuck at chezcox.net> wrote:
>
> Hi folks,
>
> I'm trying to set up a lab environment to test some OSPF stuff. I installed the FRR 6.0.2-0~ubuntu18.04.1 package on top of Ubuntu 18.10.
>
> I elected to leave my management interface (ens3) in the default VRF and put the others in a VRF called "WAN", shown as item #10 below:
> $ ip link
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
>     link/ether 52:54:00:68:bb:72 brd ff:ff:ff:ff:ff:ff
> 3: ens9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master WAN state UP mode DEFAULT group default qlen 1000
>     link/ether 52:54:00:ed:f8:ad brd ff:ff:ff:ff:ff:ff
> 4: ens10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master WAN state UP mode DEFAULT group default qlen 1000
>     link/ether 52:54:00:07:11:c7 brd ff:ff:ff:ff:ff:ff
> 5: ens11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master WAN state UP mode DEFAULT group default qlen 1000
>     link/ether 52:54:00:6e:51:76 brd ff:ff:ff:ff:ff:ff
> 6: ens12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master WAN state UP mode DEFAULT group default qlen 1000
>     link/ether 52:54:00:bf:5d:f3 brd ff:ff:ff:ff:ff:ff
> 7: ens13: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master WAN state UP mode DEFAULT group default qlen 1000
>     link/ether 52:54:00:f5:24:55 brd ff:ff:ff:ff:ff:ff
> 8: ens14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master WAN state UP mode DEFAULT group default qlen 1000
>     link/ether 52:54:00:d3:1d:30 brd ff:ff:ff:ff:ff:ff
> 9: ens15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master WAN state UP mode DEFAULT group default qlen 1000
>     link/ether 52:54:00:e3:cf:dd brd ff:ff:ff:ff:ff:ff
> 10: WAN: <NOARP,MASTER,UP,LOWER_UP> mtu 65536 qdisc noqueue state UP mode DEFAULT group default qlen 1000
>     link/ether 06:6a:07:90:27:3a brd ff:ff:ff:ff:ff:ff
>
> "ip route" correctly shows only the connected subnet route for the management net and a default:
> $ ip route
> default via 192.168.42.1 dev ens3 proto static
> 192.168.42.0/24 dev ens3 proto kernel scope link src 192.168.42.153
>
> And the other connected routes in the VRF:
> $ ip route show vrf WAN
> unreachable default metric 4278198272
> 172.16.1.0/24 dev ens9 proto kernel scope link src 172.16.1.1
> 172.17.1.0/24 dev ens14 proto kernel scope link src 172.17.1.1
> 192.0.2.0/24 dev ens10 proto kernel scope link src 192.0.2.1
> 198.51.100.0/24 dev ens11 proto kernel scope link src 198.51.100.1
> 203.0.113.0/24 dev ens12 proto kernel scope link src 203.0.113.1
>
> What I see inside vtysh matches:
> $ ip route show vrf WAN
> unreachable default metric 4278198272
> 172.16.1.0/24 dev ens9 proto kernel scope link src 172.16.1.1
> 172.17.1.0/24 dev ens14 proto kernel scope link src 172.17.1.1
> 192.0.2.0/24 dev ens10 proto kernel scope link src 192.0.2.1
> 198.51.100.0/24 dev ens11 proto kernel scope link src 198.51.100.1
> 203.0.113.0/24 dev ens12 proto kernel scope link src 203.0.113.1
> router# sho ip ro vrf WAN
> Codes: K - kernel route, C - connected, S - static, R - RIP,
>        O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
>        T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
>        F - PBR,
>        > - selected route, * - FIB route
>
>
> VRF WAN:
> K * 0.0.0.0/0 [255/8192] unreachable (ICMP unreachable), 04:04:10
> C>* 172.16.1.0/24 is directly connected, ens9, 04:04:10
> C>* 172.17.1.0/24 is directly connected, ens14, 04:04:10
> C>* 192.0.2.0/24 is directly connected, ens10, 04:04:10
> C>* 198.51.100.0/24 is directly connected, ens11, 04:04:10
> C>* 203.0.113.0/24 is directly connected, ens12, 04:04:10
>
>
> So far so good. Now I enabled ospfd in /etc/frr/daemons and restarted FRR. The ospfd process is running:
> $ ps -ef|grep frr
> root      2045     1  0 13:31 ?        00:00:02 /usr/lib/frr/watchfrr -d -r /usr/lib/frr/watchfrr.sh restart %s -s /usr/lib/frr/watchfrr.sh start %s -k /usr/lib/frr/watchfrr.sh stop %s zebra ospfd staticd
> frr       2059     1  0 13:31 ?        00:00:00 /usr/lib/frr/zebra -d -A 127.0.0.1 -s 90000000
> frr       2064     1  0 13:31 ?        00:00:01 /usr/lib/frr/ospfd -d -A 127.0.0.1
> frr       2069     1  0 13:31 ?        00:00:00 /usr/lib/frr/staticd -d -A 127.0.0.1
>
> Then I put in some seemingly basic OSPF config shown below. Yes, I really only want to speak OSPF on one of the interfaces (ens14) for now.
> router# sho run
> Building configuration...
>
> Current configuration:
> !
> frr version 6.0.2
> frr defaults traditional
> hostname router
> log syslog informational
> no ipv6 forwarding
> service integrated-vtysh-config
> !
> interface ens3
>  description MGMT
> !
> interface ens9 vrf WAN
>  description ServerLAN
>  ip address 172.16.1.1/24
> !
> interface ens10 vrf WAN
>  description MPLS
>  ip address 192.0.2.1/24
> !
> interface ens11 vrf WAN
>  description PtP
>  ip address 198.51.100.1/24
> !
> interface ens12 vrf WAN
>  description Satellite
>  ip address 203.0.113.1/24
> !
> interface ens13 vrf WAN
>  description Inet
> !
> interface ens14 vrf WAN
>  description SD-WAN
>  ip address 172.17.1.1/24
> !
> interface ens15 vrf WAN
>  description XAXD-LAN
> !
> router ospf 42 vrf WAN
>  ospf router-id 172.17.1.1
>  redistribute connected
>  passive-interface ens9
>  passive-interface ens10
>  passive-interface ens11
>  passive-interface ens12
>  passive-interface ens13
>  passive-interface ens15
>  area 0.0.0.0 range 10.0.0.0/8
>  area 0.0.0.0 range 172.16.0.0/20
>  area 0.0.0.0 range 192.0.2.0/24
>  area 0.0.0.0 range 192.168.0.0/16
>  area 0.0.0.0 range 198.51.100.0/24
>  area 0.0.0.0 range 203.0.113.0/24
>  default-information originate
> !
> line vty
> !
> end
>
>
> Now here's the problem: OSPF appears to be running but it's not doing anything and none of the show commands give any output, except "sho ip ospf vrf/vrfs":
> router# sho ip ospf vrf
> Name                       Id     RouterId
> Default-IP-Routing-Table   0      0.0.0.0
> WAN                        10     172.17.1.1
>
> Total number of OSPF VRFs: 2
> router# sho ip ospf vrfs
> Name                       Id     RouterId
> Default-IP-Routing-Table   0      0.0.0.0
> WAN                        10     172.17.1.1
>
> Total number of OSPF VRFs: 2
> router# sho ip ospf vrf WAN dat
> router# sho ip ospf vrf WAN int
> router# sho ip ospf vrf WAN nei
> router# sho ip ospf vrf WAN route
> router# sho ip ospf dat
> router# sho ip ospf int
> router# sho ip ospf nei
> router# sho ip ospf route
>
> Any suggestions? I've restarted FRR a couple of times and rebooted the box too, same results...
>
> Thanks,
> Chuck
>
>
> _______________________________________________
> frog mailing list
> frog at lists.frrouting.org
> https://lists.frrouting.org/listinfo/frog



More information about the frog mailing list