Repository navigation
Fix ospfv2 and ospfv3 running simultaneously - #1701
Merged
Merged
Conversation
With both OSPFv2 and OSPFv3 enabled, the OSPFv2 instance was listed in the operational datastore with only its type and name, and `show ip ospf` said OSPF was not running. add_areas() and add_areas6() each set the control-plane-protocol list with insert(), which assigns, so the OSPFv3 entry replaced the OSPFv2 one. Append to the list instead, as the RIP and RIPng code already does. Resolves: #1700 Signed-off-by: Ejub Sabic <ejub1946@outlook.com>
troglobit
approved these changes
Oct 13, 2026
troglobit
left a comment
Contributor
There was a problem hiding this comment.
lgtm, but please try to make the text in the topology.svg file more readable. Currently it overlaps with the nodes and is squashed together. May be as simple as separating the nodes more on the Y axis.
I'm approving it anyway and you can set ci:skip when you've fixed this, and merge directly.
Nice work, and finding this!
The operational status of one routing protocol instance must not hide the other when the IPv4 and IPv6 versions run on the same link. One test, run once for OSPF and once for RIP, configures both versions on R1 and R2 and waits for the neighbor in each instance, read from the operational datastore. Without the statd fix the OSPFv2 adjacency is never found and the OSPF run times out. Add rip_has_neighbors() to infamy.route. RIPng peers are only known by their link-local address, so it checks that the instance has a neighbor rather than matching one. Signed-off-by: Ejub Sabic <ejub1946@outlook.com>
saba8814
force-pushed
the
fix-ospfv2-and-ospfv3-running-simultaneously
branch
from
October 13, 2026 12:00
a80b95c to
641ac44
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
When OSPFv2 and OSPFv3 ran at the same time, the OSPFv3 status replaced
the OSPFv2 status in the operational datastore, so
show ip ospfsaidOSPF was not running. yanger now appends both instances to the
control-plane-protocol list instead of overwriting it.
Adds a regression test,
routing/dual_stack, that runs OSPFv2 withOSPFv3 and RIPv2 with RIPng on the same link and checks that each
instance reports its neighbor.
No bugfix entry in ChangeLog.md since this has not been released yet.
Checklist
Tick relevant boxes, this PR is-a or has-a: