Page MenuHomeVyOS Platform

OSPF Exchanged Routes marked as invalid when run through a GRE PTMP/PTP OSPF between peers
Open, Requires assessmentPublic

Description

Troubleshooting a routing exchange with a 3rd party has caused us to discover a difference in function between 1.1.8 and 1.2.3.

Two VyOS routers, exchanging OSPF routes through a GRE tunnel or as a direct ethernet link will mark received route as "invalid" and never insert it into the kernel routing table. This appears because it sees the far end of the GRE tunnel IP address as being non-reachable, despite it being ICMP reachable, and a STATIC route working correctly. This occurs when one Vyos router is in Point to Multipoint OSPF mode, and one end is in Point to Point mode.

This configuration worked on 1.1.8, and still is in production for us.

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

SquirePug created this object in space S1 VyOS Public.

Example Config demonstrating issue

Topology of our test environment

Routing Table.

So testing done so far:

Vyos 1.1.8 PTMP -> VyOS 1.1.8 PTP - Works
Vyos 1.2.3 PTMP -> VyOS 1.2.3 PTP - INVALID
Vyos 1.1.8 PTMP -> Cisco IOS 15.4 - Works
Vyos 1.1.8 PTMP -> Brocade Vyatta Appliance - Works
Vyos 1.2.3 PTMP -> Brocade Vyatta Appliance - INVALID
Vyos 1.2.3 PTMP -> Cisco IOS 15.4 - INVALID

SquirePug renamed this task from OSPF Exchanged Routes marked as invalid when run through a GRE Tunnel between peers to OSPF Exchanged Routes marked as invalid when run through a GRE PTMP/PTP OSPF between peers .Nov 8 2019, 3:57 AM
SquirePug updated the task description. (Show Details)

@SquirePug Can you check 1.2.7 release?

VyOS 1.2.7 PTMP => VyOS 1.2.7 PTP - Works
VyOS 1.2.7 PTMP => cisco PTP - Works
VyOS 1.2.7 PTMP => 1.1.8 - not works

tun3 - vyos-1.2.7
tun4 - cisco

vyos@vyos:~$ show ip ospf neighbor 

Neighbor ID     Pri State           Dead Time Address         Interface                        RXmtL RqstL DBsmL
172.16.3.2        1 Full/DROther      31.467s 172.16.3.22     tun3:172.16.3.21                     0     0     0
192.0.2.2         1 Full/DROther      35.794s 10.0.0.2        tun4:10.0.0.1                        0     0     0

It seems some incompatibility between old quagga and frr
This log from 1.2.7 for the session with 1.1.8

Jun 22 15:14:42 vyos ospfd[950]: EXT (ospf_ext_link_ism_change): Set Adj. SID to interface tun3
Jun 22 15:14:42 vyos ospfd[950]: EXT (ospf_ext_link_ism_change): Set Adj. SID to interface tun3
Jun 22 15:14:50 vyos ospfd[950]: [EC 134217740] Packet 172.16.3.20 [Hello:RECV]: NetworkMask mismatch on tun3:172.16.3.21 (configured prefix length is 30, but hello packet indicates 0).
Jun 22 15:15:00 vyos ospfd[950]: [EC 134217740] Packet 172.16.3.20 [Hello:RECV]: NetworkMask mismatch on tun3:172.16.3.21 (configured prefix length is 30, but hello packet indicates 0).
Jun 22 15:15:10 vyos ospfd[950]: [EC 134217740] Packet 172.16.3.20 [Hello:RECV]: NetworkMask mismatch on tun3:172.16.3.21 (configured prefix length is 30, but hello packet indicates 0).
Jun 22 15:15:20 vyos ospfd[950]: [EC 134217740] Packet 172.16.3.20 [Hello:RECV]: NetworkMask mismatch on tun3:172.16.3.21 (configured prefix length is 30, but hello packet indicates 0).

If I replace ospf mode to point-to-point. all works fine.

erkin set Issue type to Bug (incorrect behavior).Aug 31 2021, 6:20 PM